Exception MySQL : « Opération non autorisée après la fermeture de ResultSet » dans Java JDBC
Lorsque vous travaillez avec des bases de données, il est crucial de comprendre l'état de objets de données pour éviter les erreurs. Une exception courante dans JDBC est l'erreur « Opération non autorisée après la fermeture de ResultSet ». Explorons la cause et la solution de ce problème.
Cause :
Dans JDBC, un ResultSet représente l'ensemble de résultats d'une requête de base de données. Une fois que vous avez exécuté une requête et obtenu un ResultSet, vous devez la parcourir et la fermer explicitement pour libérer les ressources système. Si vous tentez d'effectuer des opérations sur un ResultSet fermé, vous rencontrerez l'exception « Opération non autorisée après la fermeture du ResultSet ».
Solution :
Dans le code, l'erreur se produit dans la classe MySQLDonation lors de l'itération dans le ResultSet renvoyé par la requête qui récupère les enregistrements de dons. Plus précisément, le problème se pose car le même objet Statement est utilisé à la fois pour exécuter la requête Select et pour exécuter la requête Supprimer ultérieure.
Approche recommandée :
Pour résoudre ce problème problème, créez un nouvel objet Statement à chaque fois que vous exécutez une requête, plutôt que de réutiliser la même instruction. Voici les étapes pour mettre en œuvre cette approche :
En suivant ces étapes, vous vous assurez que chaque opération sur un ResultSet est effectuée à l'aide d'un objet Statement nouvellement créé, empêchant ainsi la fermeture prématurée du ResultSet. Cette approche permettra au code de traiter correctement les enregistrements de dons et d'éviter l'exception « Opération non autorisée après la fermeture de ResultSet ».
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!