ERREUR Java sur un resultset

Fermé
slim - 11 mai 2005 à 14:39
 renarde - 8 déc. 2011 à 18:30
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.
A voir également:

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.
1
jebok Messages postés 358 Date d'inscription lundi 16 mai 2005 Statut Membre Dernière intervention 23 octobre 2007 51
25 mai 2005 à 12:41
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
0
G aussi ce type de pblm, même en controlant avec isLast() ou isAfterLast(), je me retrouve toujours avec la même SQLException
0
Dans ce cas là, ta première ligne est jamais traité ! Comment on peut faire en incluant la 1ière ligne?
0
Utilisateur anonyme
8 déc. 2005 à 10:44
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
0
Salut !
Merci pour ton aide, mais j'ai réglé le pblm.
En fait j ai stocké mon resultset dans un tableau car comme j'executais d'autres requêtes sur la même connexion, je perdais le contenu de mon Resultset(rs.close() implicite).
0
J'ai le même problème pourrais-tu détailler ta solution stp.
0
help j'ai un probleme pareil mais j'execute une seule requete mais ca ne passe pas
0
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
0