IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Quel est le type de mon retour ?


Sujet :

avec Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2004
    Messages : 237
    Points : 120
    Points
    120
    Par défaut Quel est le type de mon retour ?
    Salut,

    J'ai une classe d'écriture dans une bd qui me retourne le getSQLState() de ma commande SQL dans un String. La signature de la classe est
    public String CreerEnreg(String NomTable, String ListeValeur)
    et j'invoque cette classe de cette manière
    String result = NouvelEnreg.CreerEnreg("TABLE1", ListeValeur);
    Pas de problèmes jusqu'au moment où je veux gérer ce code retour.
    En cas de clé en double la bd me renvoie le code 23000 (je l'affiche par un system.out.println sans problèmes. Mais les instructions dans mon if
    if (result == "23000") {
    System.out.println("duplicate key");
    }
    ne sont jamais exécutées.
    Pourquoi?

    Jean

  2. #2
    Membre chevronné
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Points : 2 011
    Points
    2 011
    Par défaut
    Citation Envoyé par jpclabaux Voir le message
    En cas de clé en double la bd me renvoie le code 23000 (je l'affiche par un system.out.println sans problèmes. Mais les instructions dans mon if

    ne sont jamais exécutées.
    Pourquoi?

    Jean
    Bonsoir.

    Il faut utiliser la méthode equals pour comparer les chaine de caractères (et plus généralement les objets).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if ("23000".equals(result)) {
       System.out.println("duplicate key");
    }

    Cf la FAQ pour voir la différence entre "==" et equals pour les objets.

    -"Tout ça me paraît très mal organisé. Je veux déposer une réclamation. Je paye mes impôts, après tout!"
    -"JE SUIS LA MORT, PAS LES IMPÔTS! MOI, JE N'ARRIVE QU'UNE FOIS".

    Pieds d'argile (1996), Terry Pratchett 1948 - 2015
    (trad. Patrick Couton)

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2004
    Messages : 237
    Points : 120
    Points
    120
    Par défaut
    Salut deadpool,

    Merci pour la réponse.
    J'avais contourné le problème en utilisant
    pos = result.indexOf("23000");
    if (pos >= 0) {
    System.out.println("duplicate key");
    }
    Mais je préfère ta solution.

    Bye

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Quel est le type de RAM de mon pc?
    Par toitonline dans le forum Composants
    Réponses: 10
    Dernier message: 29/11/2007, 18h45
  2. Quel est votre avis sur mon sujet de projet fin d'études ?
    Par makaphrodite dans le forum Dépannage et Assistance
    Réponses: 2
    Dernier message: 04/12/2006, 12h21
  3. [Conception] quel est le type de variable a choisir?
    Par King_T dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 29/05/2006, 00h27
  4. Quel est le type retourné ?
    Par Rupella dans le forum C
    Réponses: 4
    Dernier message: 30/11/2005, 14h01
  5. [langage] "@$" Quel est ce type de variable?
    Par YanK dans le forum Langage
    Réponses: 4
    Dernier message: 21/04/2005, 18h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo