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()) » ?

Pourquoi « java.sql.SQLException : jeu de résultats épuisé » se produit-il après une boucle « while (rs.next()) » ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-06 03:08:39769parcourir

Why Does `java.sql.SQLException: Exhausted Resultset` Occur After a `while (rs.next())` Loop?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn