Maison >base de données >tutoriel mysql >Pourquoi « java.sql.SQLException : jeu de résultats épuisé » se produit-il après une boucle « while (rs.next()) » ?
java.sql.SQLException : jeu de résultats épuisé
Lors de l'exécution d'une requête de base de données, il est essentiel d'assurer une bonne gestion de l'objet ResultSet. Si d'autres tentatives sont effectuées pour accéder aux données une fois que le ResultSet a été épuisé, Java peut générer une erreur « java.sql.SQLException : jeu de résultats épuisé ». Cette erreur se produit généralement lors de l'accès à une valeur de colonne après avoir terminé la boucle while (rs.next()).
Considérez l'extrait de code suivant :
if (rs != null) { while (rs.next()) { count = rs.getInt(1); } count = rs.getInt(1); // This line attempts to access a value after the ResultSet has been exhausted and will throw the error. }
Après l'achèvement de la boucle while , le ResultSet a été épuisé et aucune autre donnée ne peut être récupérée. Tenter d'accéder à la valeur de la colonne à l'aide de rs.getInt(1) à ce stade entraînera l'erreur « Ensemble de résultats épuisés ».
Pour résoudre ce problème, assurez-vous que tout accès aux valeurs de colonne se produit dans le délai (rs .next()) boucle. Par exemple :
if (rs != null) { while (rs.next()) { int count = rs.getInt(1); } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!