baratribord
Messages postés44Date d'inscriptionvendredi 14 mars 2008StatutMembreDernière intervention30 mai 2008
-
17 mai 2008 à 22:46
baratribord
Messages postés44Date d'inscriptionvendredi 14 mars 2008StatutMembreDernière intervention30 mai 2008
-
18 mai 2008 à 21:20
Bonsoir,
Je récupère deux strings d'une boite de dialogue, un pseudo et un Mdp, pour vérifier l'authentification à une base de données.
Ma requette SQL s'execute normalement, je localise bien les données souhaitées.
Jusque là pas de probleme sauf qu'après j'affiche l'enregistrement complet dans une table et celui-çi est vide....
Lorsque je debogue et que je m'arrete sur la ligne de code en vert resultat.next() est égal à true, je fais un pas et j'arrive dans la ligne orange. ??
En cours de route mon resultat a changé !
Si je mets la condition en commentaire cela fonctionne bien pour l'affichage de mes infos...
Etrange non ? Je vois pas en quoi un simple test vient perturber le bon fonctionnement du programme...
Voiçi les quelques lignes de code :
Statement instruction = Dia.Fen.connexion.createStatement(); sql "SELECT * FROM data where pseudo "" + pseudo + "" and mdp = "" + mdp + """ ;
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 18 mai 2008 à 20:40
Si ton débogueur te permet d'appeler des méthodes (ce qui est sans doute le cas, sinon comment connaitrais tu la valeur?), oui.
Ca me semble logique. Par exemple, si dans un débogueur tu visualises la valeur de i++, ca va changer la valeur de i.
baratribord
Messages postés44Date d'inscriptionvendredi 14 mars 2008StatutMembreDernière intervention30 mai 2008 18 mai 2008 à 10:51
Arf ! J'ai cherché mais je ne comprends pas.
Est-ce normal qu'un simple test if (resultat.next()==true) modifie la valeur de mon ResultSet
Je suis revenu en arrière sur le code mais pas moyen d'éviter le phénomène.
Le plus étrange c'est que je n'obtiens pas les mêmes résultats si je debogue ou non.
Pour m'en sortir j'execute deux fois ma query en rouge ?
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 18 mai 2008 à 19:48
Le fait d'appeler la méthode next() modifie la position du curseur dans ton ResultSet. Tu n'aura donc pas la même comportement si tu appelles une ou deux fois cette méthode.
baratribord
Messages postés44Date d'inscriptionvendredi 14 mars 2008StatutMembreDernière intervention30 mai 2008 18 mai 2008 à 20:31
Que je comprennes bien. Est-ce à dire que lorsque je m'arrete sur ma condition : if (resultat.next()==true) que je visualise la valeur en debogant, le fait ensuite de l'executer me renvoie false parce que je n'ai effectivement qu'un seul enregistrement ?
Vous n’avez pas trouvé la réponse que vous recherchez ?