GetDate(3); pour un enregistrement vide

amine1234Z Messages postés 134 Date d'inscription samedi 26 mai 2007 Statut Membre Dernière intervention 31 mai 2010 - 29 sept. 2009 à 00:52
tpoinsot Messages postés 345 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 17 octobre 2014 - 29 sept. 2009 à 12:46
Salut, j'espère que vous allez bien;
bon mon souci est comme suite:

j'ai des enregistrement dans une table, par exemple:
.Numéro de type numérique
.Nom de type texte
.DateNaissance de type Date

alors lors de la sélection des ces enregistrement je fait:

[i] Statement st = null;
st = conn.createStatement();

ResultSet rs = st.executeQuery("SELECT * FROM CLients ");
md = rs.getMetaData();
colonnes = md.getColumnCount();
while (rs.next()){
for (int i = 1; i <=colonnes; i++){
System.out.println(rs.getDate(3));//selectionnée que la date
}
}/i

Le problème c'est quand dans un tel enregistrement on pas spécifier la date (la valeur de l'enregistrement est vide).
Il me lance se message
java.lang.NullPointerException
Or je veux qu'il affiche rien dans ce cas

Si quelqu'un peut m'aider.
MERCI
% Mauvais Sens %

2 réponses

Utilisateur anonyme
29 sept. 2009 à 11:57
Salut,

Peut-être:
while ((rs.next())!= null){ 


Cordialement,

...\ Dan /...
0
tpoinsot Messages postés 345 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 17 octobre 2014 4
29 sept. 2009 à 12:46
Bonjour,
je ne crois pas que
while ((rs.next())!= null)
soit différent de
while ( rs.next() )
du point de vue du compilateur.

En revanche, ta boucle charge le 3e champ autant de fois qu'il y a de colonnes. Cen'est pas ce que tu veux, je suppose.

Personnellement, je n'aime pas "select * from". Je préfère "select numero, nom, dn from ..."
et pour chaque enregistrement faire les getXXX() appropriés :
while ( rs.next() ) {
// je connais les colonnes !
System.out.println(rs.getInt(1));
System.out.println(rs.getString(2));
System.out.println(rs.getDate(3));
}

2 conseils :
1) évite d'appeler getXXX() plus d'une fois sur la même colonne
2) n'oublie pas d'utiliser try/catch

thip
0
Rejoignez-nous