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

JDBC Java Discussion :

[BDD] renvoyer une chaine vide au lieu de null


Sujet :

JDBC Java

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2003
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 25
    Points : 18
    Points
    18
    Par défaut [BDD] renvoyer une chaine vide au lieu de null
    Bonjour,

    Le code suivant


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
         private static String retrieve_result_as_a_string(int position)
           throws SQLException
          {
             String s;
             s="";;
             s = rset.getString(position);
             //System.out.println("rset.getString(position)" + rset.getString(position));
             return s;
          }
    me renvoie soit une String si il y a quelque chose à récupérer dans ma base, soit null s'il n'y a rien.
    J'aimerais que dans ce cas au lieu de renvoyer null il me renvoie une chaine vide.
    Comment faire?
    (J'ai essayé pas mal de trucs mais je n'arrive qu'à provoquer une java.lang.NullPointerException).
    Merci
    cm

  2. #2
    Membre confirmé
    Avatar de Glob
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Avril 2002
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Avril 2002
    Messages : 428
    Points : 630
    Points
    630
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return (s == null ? "" : s);
    Glob
    What would you do if you were not afraid?

    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java

  3. #3
    Membre éprouvé
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Points : 1 085
    Points
    1 085
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    private static String retrieve_result_as_a_string(int position) 
           throws SQLException 
          { 
             String s; 
             s = rset.getString(position); 
     
             if (rset.wasNull())
             {
               return "";
             }
             else
             {
               return s; 
             }
          }

  4. #4
    Membre à l'essai
    Inscrit en
    Juillet 2003
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 25
    Points : 18
    Points
    18
    Par défaut
    La solution de Glob marche impeccable. Je ne connaissais pas du tout cette écriture.
    Merci.
    Je n'ai pas essayé ta solution thibaut, mais il me semble que tu fait le test sur tout le resultset alors que dans mon cas, ce n'est pas le resultset qui est null mais seulement une ligne et une colonne.
    Merci beaucoup,
    cm

  5. #5
    Membre confirmé
    Avatar de Glob
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Avril 2002
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Avril 2002
    Messages : 428
    Points : 630
    Points
    630
    Par défaut
    A noter que certains considèrent que ce que j'ai écrit n'est pas très lisible.

    Suffit de remplacer par un if else, au cas où...
    Glob
    What would you do if you were not afraid?

    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java

  6. #6
    Membre éprouvé
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Points : 1 085
    Points
    1 085
    Par défaut
    Je n'ai pas essayé ta solution thibaut, mais il me semble que tu fait le test sur tout le resultset alors que dans mon cas, ce n'est pas le resultset qui est null mais seulement une ligne et une colonne.
    Non pas du tout:
    Le javadoc sur ResultSet

    wasNull
    public boolean wasNull()
    throws SQLExceptionReports whether the last column read had a value of SQL NULL. Note that you must first call one of the getter methods on a column to try to read its value and then call the method wasNull to see if the value read was SQL NULL.

    Returns:
    true if the last column value read was SQL NULL and false otherwise
    Throws:
    SQLException - if a database access error occurs

  7. #7
    Membre à l'essai
    Inscrit en
    Juillet 2003
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 25
    Points : 18
    Points
    18
    Par défaut
    Ok, j'ai parlé/écrit un peu trop vite.
    Merci à vous deux,
    cm

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 17/05/2011, 17h11
  2. Insertion d'une chaine vide dans un double
    Par root76 dans le forum Langage
    Réponses: 9
    Dernier message: 05/01/2007, 15h49
  3. Comment renvoyer une chaine de caractères
    Par deubelte dans le forum C++
    Réponses: 11
    Dernier message: 05/01/2007, 12h03
  4. Tester une chaine vide !!! :s
    Par hysteresis dans le forum ASP
    Réponses: 3
    Dernier message: 05/11/2005, 22h25
  5. copie de string donne une chaine vide
    Par zmatz dans le forum SL & STL
    Réponses: 5
    Dernier message: 15/10/2005, 15h31

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