ERREUR Java sur un resultset
slim
-
renarde -
renarde -
J'ai un programme java tout simple avec une boucle qui recupere les resultat d'un resultset.
-------------------------------------
While(resultset.next())
if(...)
Recupere les res du resultset
fin if
fin while
-------------------------------------
à l'execution j'ai ca :
java.sql.SQLException: Ensemble de résultats épuisé.
J'ai pourtant bien fermé à la fin du while à l'aide de resultset.close():
Merci de votre aide.
-------------------------------------
While(resultset.next())
if(...)
Recupere les res du resultset
fin if
fin while
-------------------------------------
à l'execution j'ai ca :
java.sql.SQLException: Ensemble de résultats épuisé.
J'ai pourtant bien fermé à la fin du while à l'aide de resultset.close():
Merci de votre aide.
4 réponses
-
La solution la plus simple est de récupérer le résultat de ta requete dans un objet du type ResultSetMetaData, cet objet connais le nombre précis de ta requete et une fois ceci fait tu pourras seulement bouclé avec un for jusqu'au nombre total d'ojet y aura pas de coupure avant la fin de la liste vu que le ResultSetMetaData contient déjà tous les objets de ta requete.
-
salut,
à mon avis, resultset.next() déplace automatiquement le curseur sur la ligne suivante sans se préoccuper de son existence, d'où ton problème.
Essaie d'utiliser la méthode resultset.isLast() pour vérifier si tu te trouves sur la dernière ligne ou non.
Genre quelque chose comme ca :
while( !resultset.isLast() && resultset.next() ) {
....
}
Bonne chance -
Salut!
Es-tu certain que ton ResultSet n'est pas nul?
C'est la cas si aucune donnée n'a été trouvée par ta requête SQL.
;-)
HackTrack -
La solution la plus simple est quand mm de creer une seconde connection comme ce que tu as fait pour la 1ere requette. j'ai tester ca tout a l'heure et ca marche tres bien.
Best regards