Erreur null dans un code java
Résolu/Fermé
futur ingenieure
Messages postés
133
Date d'inscription
jeudi 26 mars 2009
Statut
Membre
Dernière intervention
2 juin 2012
-
20 mai 2011 à 22:45
futur ingenieure Messages postés 133 Date d'inscription jeudi 26 mars 2009 Statut Membre Dernière intervention 2 juin 2012 - 21 mai 2011 à 12:55
futur ingenieure Messages postés 133 Date d'inscription jeudi 26 mars 2009 Statut Membre Dernière intervention 2 juin 2012 - 21 mai 2011 à 12:55
A voir également:
- Erreur null dans un code java
- Erreur 0x80070643 - Accueil - Windows
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Code asci - Guide
- Java apk - Télécharger - Langages
13 réponses
arth
Messages postés
9374
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 291
Modifié par arth le 20/05/2011 à 23:59
Modifié par arth le 20/05/2011 à 23:59
while (rs.next())
{
String l1 = rs.getString("login");
String m1 = rs.getString("password");
if ((l1.equals(login))&& (m1.equals(pass)))
{ String nom = rs.getString("nom");
System.out.println(nom + "\n");
nnoomm=nom;
}
/*else { JOptionPane.showMessageDialog(null, "Valeur incorrecte de nom d'utilisateur ou/et de mot de passe. " , "Erreur",
JOptionPane.ERROR_MESSAGE);
}*/
}
nnoomm=rs.getString("nom");
Regarde bien ce qui est souligné : Juste avant, tu parcours les données, et si login ok, alors nnoomm = nom;
Sauf que ce que j'ai souligné, c'est ce qui vient après le While, sauf que rs.next() est déjà passé juste avant dans le while, donc tu es hors zone de données, donc lorsque tu fais nnoomm = rs.getString();, comme le rs est déjà hors champ, il est donc null, donc impossible de faire null.getString(); Ou alors rs.getSTring() retourne NULL.
Enlève cette ligne, et ça devrait être bon.
Le loup, solitaire et mystérieux.
{
String l1 = rs.getString("login");
String m1 = rs.getString("password");
if ((l1.equals(login))&& (m1.equals(pass)))
{ String nom = rs.getString("nom");
System.out.println(nom + "\n");
nnoomm=nom;
}
/*else { JOptionPane.showMessageDialog(null, "Valeur incorrecte de nom d'utilisateur ou/et de mot de passe. " , "Erreur",
JOptionPane.ERROR_MESSAGE);
}*/
}
nnoomm=rs.getString("nom");
Regarde bien ce qui est souligné : Juste avant, tu parcours les données, et si login ok, alors nnoomm = nom;
Sauf que ce que j'ai souligné, c'est ce qui vient après le While, sauf que rs.next() est déjà passé juste avant dans le while, donc tu es hors zone de données, donc lorsque tu fais nnoomm = rs.getString();, comme le rs est déjà hors champ, il est donc null, donc impossible de faire null.getString(); Ou alors rs.getSTring() retourne NULL.
Enlève cette ligne, et ça devrait être bon.
Le loup, solitaire et mystérieux.
futur ingenieure
Messages postés
133
Date d'inscription
jeudi 26 mars 2009
Statut
Membre
Dernière intervention
2 juin 2012
1
20 mai 2011 à 23:58
20 mai 2011 à 23:58
Merci bien de m'avoir répondre
j'ai enlevé cette ligne vous avez raison
mais la valeur de nnoomm reste encore null dans le soap response
d'aute idée?
j'ai enlevé cette ligne vous avez raison
mais la valeur de nnoomm reste encore null dans le soap response
d'aute idée?
arth
Messages postés
9374
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 291
Modifié par arth le 21/05/2011 à 00:01
Modifié par arth le 21/05/2011 à 00:01
Sans avoir tous les éléments, pas possible.
Que donne comme résultat la reuqête select * from clients?
Juste après le While, rajouter la ligne : System.out.println("Valeur de nnoomm : "+nnoomm);
Le loup, solitaire et mystérieux.
Que donne comme résultat la reuqête select * from clients?
Juste après le While, rajouter la ligne : System.out.println("Valeur de nnoomm : "+nnoomm);
Le loup, solitaire et mystérieux.
futur ingenieure
Messages postés
133
Date d'inscription
jeudi 26 mars 2009
Statut
Membre
Dernière intervention
2 juin 2012
1
21 mai 2011 à 00:04
21 mai 2011 à 00:04
merci bien
j l'ai ajouté mais même erreur nnoomm=null
j l'ai ajouté mais même erreur nnoomm=null
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
arth
Messages postés
9374
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 291
21 mai 2011 à 00:07
21 mai 2011 à 00:07
C'est possible d'avoir l'erreur en entier, et les autres choses demandées ?
futur ingenieure
Messages postés
133
Date d'inscription
jeudi 26 mars 2009
Statut
Membre
Dernière intervention
2 juin 2012
1
21 mai 2011 à 00:11
21 mai 2011 à 00:11
il s'agit d'un web service
il m'affiche dans le navigateur , Method returned
java.lang.String : "null"
et bien évidament dans la zone body de soap response rien
il m'affiche dans le navigateur , Method returned
java.lang.String : "null"
et bien évidament dans la zone body de soap response rien
arth
Messages postés
9374
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 291
21 mai 2011 à 00:12
21 mai 2011 à 00:12
Tu es sûr qu'il y a des choses dans la BDD?
futur ingenieure
Messages postés
133
Date d'inscription
jeudi 26 mars 2009
Statut
Membre
Dernière intervention
2 juin 2012
1
21 mai 2011 à 00:14
21 mai 2011 à 00:14
oui , :)
c'est bizarre non?
c'est bizarre non?
futur ingenieure
Messages postés
133
Date d'inscription
jeudi 26 mars 2009
Statut
Membre
Dernière intervention
2 juin 2012
1
21 mai 2011 à 00:17
21 mai 2011 à 00:17
autre idée SVP?
arth
Messages postés
9374
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 291
21 mai 2011 à 00:29
21 mai 2011 à 00:29
Remplace le bout de code correpondant par le code suivant :
String l1 = rs.getString("login");
System.out.println("Login récupéré : "+l1);
String m1 = rs.getString("password");
System.out.println("Password récupéré : "+m1);
if ((l1.equals(login))&& (m1.equals(pass)))
{
String nom = rs.getString("nom");
System.out.println("Correspondance trouvée.");
nnoomm=nom;
}
Ca te permettra de vérifier quelles données sont extraites et vérifier par rapport au login si tu retouves les même choses.
Et rajoutes aussi des Print en début de constructeur pour vérifier que les paramètres passés ne sont pas vides.
String l1 = rs.getString("login");
System.out.println("Login récupéré : "+l1);
String m1 = rs.getString("password");
System.out.println("Password récupéré : "+m1);
if ((l1.equals(login))&& (m1.equals(pass)))
{
String nom = rs.getString("nom");
System.out.println("Correspondance trouvée.");
nnoomm=nom;
}
Ca te permettra de vérifier quelles données sont extraites et vérifier par rapport au login si tu retouves les même choses.
Et rajoutes aussi des Print en début de constructeur pour vérifier que les paramètres passés ne sont pas vides.
futur ingenieure
Messages postés
133
Date d'inscription
jeudi 26 mars 2009
Statut
Membre
Dernière intervention
2 juin 2012
1
Modifié par futur ingenieure le 21/05/2011 à 00:48
Modifié par futur ingenieure le 21/05/2011 à 00:48
vraiment vous avez tous fait
merci pour votre effort
la même erreur persiste
:'(
merci pour votre effort
la même erreur persiste
:'(
arth
Messages postés
9374
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 291
21 mai 2011 à 09:36
21 mai 2011 à 09:36
Ceci dit, tu ne donne pas ni l'erreur réelle, ni le résultat de l'output, rien.
C'est possible d'avoir les logs des System.out.println? ainsi que la valeur des paramètres en entrée de la fonction?
Les lignes que j'ai rajouté ne serve pas à enlever l'erreur, c'est juste pour comprendre où ça merde pour l'instant.
C'est possible d'avoir les logs des System.out.println? ainsi que la valeur des paramètres en entrée de la fonction?
Les lignes que j'ai rajouté ne serve pas à enlever l'erreur, c'est juste pour comprendre où ça merde pour l'instant.
futur ingenieure
Messages postés
133
Date d'inscription
jeudi 26 mars 2009
Statut
Membre
Dernière intervention
2 juin 2012
1
21 mai 2011 à 12:55
21 mai 2011 à 12:55
enfin , résolu!
j'ai changé le type de projet de EJB en Web
ça marche bien ;)
merci
j'ai changé le type de projet de EJB en Web
ça marche bien ;)
merci