Posez votre question Signaler

ERREUR Java sur un resultset

slim - Dernière réponse le 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.
Lire la suite 

ERREUR Java sur un resultset »

9 réponses
Réponse
+0
moins plus
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
Rao - 8 déc. 2005 à 10:38
G aussi ce type de pblm, même en controlant avec isLast() ou isAfterLast(), je me retrouve toujours avec la même SQLException
renarde - 8 déc. 2011 à 18:30
Dans ce cas là, ta première ligne est jamais traité ! Comment on peut faire en incluant la 1ière ligne?
Ajouter un commentaire
Réponse
+0
moins plus
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
Rao - 9 déc. 2005 à 10:06
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).
as - 10 juil. 2007 à 14:43
J'ai le même problème pourrais-tu détailler ta solution stp.
mosis - 2 sept. 2010 à 12:42
help j'ai un probleme pareil mais j'execute une seule requete mais ca ne passe pas
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Ce document intitulé « ERREUR Java sur un resultset » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?