Recupere valeurs nulles

cs_mohaaaaa Messages postés 10 Date d'inscription vendredi 16 juillet 2004 Statut Membre Dernière intervention 19 août 2004 - 19 juil. 2004 à 14:45
coolmast Messages postés 3 Date d'inscription mardi 20 juillet 2004 Statut Membre Dernière intervention 20 juillet 2004 - 24 juil. 2004 à 15:43
Je dois recupérer des valeurs dans une JTable afin de les afficher dans des JTextField.

String pere = ((String)tblShow.getValueAt(lgSelect[0], 8)).trim();

Comment dois-je faire lorsqu'il y a des valeurs nulles dans la table?

G essaye mais a chaque fois une NullPointerException est générée.
G aussi un prob pour recupere une date dans cette table. J'utilise une base de données Access. Et la date dans la table de de format date/time abrégé. Je suppose qu'il fo recupere la valeur sous le format Date et ensuite transformer la date en String pr pouvoir la placer dans un JTextField?

Merci beaucoup.

7 réponses

nataS22 Messages postés 66 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 28 février 2005
19 juil. 2004 à 15:34
Est ce que tu as bien initialisé ta JTable ?

JTabel maTable = new JTabel ();

Si tu ne l'as pas bien initialisée il ne pourra pas la remplir ni lire dedans et il te renvoie NullPointerException.
0
cs_mohaaaaa Messages postés 10 Date d'inscription vendredi 16 juillet 2004 Statut Membre Dernière intervention 19 août 2004
19 juil. 2004 à 16:05
Ma JTable a bien été initialisée.
Elle affiche tout le contenu de la table (base de données access).

Je voudrais récupérer les éléments affichés dans la JTable pour les insérer dans des JTextField.

Voilà comment je recupe les infos dans la JTable (tblShow)
G verifie, je recupere bien les infos.
Mais qd un des champ (pere ou mere) contient la valeur nulle, une exception est générée.
Je ne sais pas comment je peux gérer ce cas.

int lgSelect[] = tblShow.getSelectedRows();
num = ((Integer)tblShow.getValueAt(lgSelect[0], 0)).intValue();
String nom = ((String)tblShow.getValueAt(lgSelect[0], 1)).trim();
String prenom = ((String)tblShow.getValueAt(lgSelect[0], 2)).trim();
String aa = ((String)tblShow.getValueAt(lgSelect[0], 3)).trim();
String adr = ((String)tblShow.getValueAt(lgSelect[0], 5)).trim();
String oldSc = ((String)tblShow.getValueAt(lgSelect[0], 6)).trim();
String oldAn = ((String)tblShow.getValueAt(lgSelect[0], 7)).trim();
String pere;
String mere;
if (((String)tblShow.getValueAt(lgSelect[0], 8)).trim().equals("NULL")) {pere = "";}
else {pere = ((String)tblShow.getValueAt(lgSelect[0], 8)).trim();}
if (((String)tblShow.getValueAt(lgSelect[0], 9)).trim().equals("NULL")) {mere = "";}
else {mere = ((String)tblShow.getValueAt(lgSelect[0], 9)).trim();}

String ae = ((String)tblShow.getValueAt(lgSelect[0], 10)).trim();
String cl = ((String)tblShow.getValueAt(lgSelect[0], 11)).trim();
0
cs_mohaaaaa Messages postés 10 Date d'inscription vendredi 16 juillet 2004 Statut Membre Dernière intervention 19 août 2004
19 juil. 2004 à 16:05
Ma JTable a bien été initialisée.
Elle affiche tout le contenu de la table (base de données access).

Je voudrais récupérer les éléments affichés dans la JTable pour les insérer dans des JTextField.

Voilà comment je recupe les infos dans la JTable (tblShow)
G verifie, je recupere bien les infos.
Mais qd un des champ (pere ou mere) contient la valeur nulle, une exception est générée.
Je ne sais pas comment je peux gérer ce cas.

int lgSelect[] = tblShow.getSelectedRows();
num = ((Integer)tblShow.getValueAt(lgSelect[0], 0)).intValue();
String nom = ((String)tblShow.getValueAt(lgSelect[0], 1)).trim();
String prenom = ((String)tblShow.getValueAt(lgSelect[0], 2)).trim();
String aa = ((String)tblShow.getValueAt(lgSelect[0], 3)).trim();
String adr = ((String)tblShow.getValueAt(lgSelect[0], 5)).trim();
String oldSc = ((String)tblShow.getValueAt(lgSelect[0], 6)).trim();
String oldAn = ((String)tblShow.getValueAt(lgSelect[0], 7)).trim();
String pere;
String mere;
if (((String)tblShow.getValueAt(lgSelect[0], 8)).trim().equals("NULL")) {pere = "";}
else {pere = ((String)tblShow.getValueAt(lgSelect[0], 8)).trim();}
if (((String)tblShow.getValueAt(lgSelect[0], 9)).trim().equals("NULL")) {mere = "";}
else {mere = ((String)tblShow.getValueAt(lgSelect[0], 9)).trim();}

String ae = ((String)tblShow.getValueAt(lgSelect[0], 10)).trim();
String cl = ((String)tblShow.getValueAt(lgSelect[0], 11)).trim();
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
19 juil. 2004 à 16:32
GodConan :clown)

evidement la methode getValueAt( row, col ) pouvant renvoyer une valeur null il est tres dangereux d utiliser le 'cast' direct ou alors il faut s assurer au prealable que chac valeur de la table est non null (tres faisable au moment de la remplir ;o) sans perte de performance).

dc pour ton prob si tu ne veu pas changer la methode il te fau tester a chac foi si l Object obtenu est null avant de le 'caster' en String puis d agir en consequence ;o) ...

++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nataS22 Messages postés 66 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 28 février 2005
19 juil. 2004 à 16:51
Je ne connais pas très bien les JTable, contrairement à GodConan, mais si tu peux initialiser ton tableau avant de le remplir avec des valeur "", celles ci ne devrait pas être remplacées par une valeur "null" et tu n'aurais pas besoin de tester à chaque fois et cela te virerai l'erreur de NullPointeurException. ( En tout cas ça marche pour n'importe quelle String ).
Mais je ne sais pas si peut initialiser ton JTable avec que des valeurs "".
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
19 juil. 2004 à 17:28
GodConan :clown)

;o) vi ben c kes ke G di ;o) héhé ;o) 1ere soluce... ;o) me suis peut etre n ai je pas etai claire.. ;o) sorry... défoi je m emporte... ;o)

++
0
coolmast Messages postés 3 Date d'inscription mardi 20 juillet 2004 Statut Membre Dernière intervention 20 juillet 2004
24 juil. 2004 à 15:43
Le Null pointer exception vient du fait que

((String)tblShow.getValueAt(lgSelect[0], 8)) peut etre null,

tu ne dois donc appliquer dessus directement l'appel a la methode trim()

Il faut faire :
String pere = ((String)tblShow.getValueAt(lgSelect[0], 8));
if (pere == null) {
pere = "";
} else {
pere =pere.trim();
}

----------------------------------------
:) http://www.reseau-emploi.com
0
Rejoignez-nous