Maison > base de données > tutoriel mysql > Pourquoi mon code Java JDBC renvoie-t-il « Opération non autorisée après la fermeture de ResultSet » ?

Pourquoi mon code Java JDBC renvoie-t-il « Opération non autorisée après la fermeture de ResultSet » ?

Susan Sarandon
Libérer: 2024-11-23 13:41:13
original
390 Les gens l'ont consulté

Why Does My Java JDBC Code Throw

Exception : "Opération non autorisée après la fermeture de ResultSet"

Vous rencontrez une exception Java JDBC MySQL en raison du code suivant :

Statement statement;

public void connect() {
    statement = connection.createStatement();
}
Copier après la connexion

Explication de l'erreur :

L'instance d'instruction est partagée entre toutes les opérations de base de données. Lorsque vous exécutez une requête SELECT, elle renvoie un objet ResultSet. Une fois le ResultSet fermé (explicitement ou implicitement), toutes les opérations ultérieures sur l'instruction échoueront à l'exception de "Opération non autorisée après la fermeture du ResultSet."

Solution :

Pour résoudre ce problème, créez un nouvel objet Statement pour chaque opération de base de données, tel que :

public ResultSet query(String query) throws SQLException {
    if (query.toLowerCase().startsWith("select")) {
        return connection.createStatement().executeQuery(query);
    } else {
        connection.createStatement().executeUpdate(query);
    }
    return null;
}
Copier après la connexion

Cela garantit qu'un nouvel objet Statement est utilisé pour chaque requête, empêchant le problème de la fermeture du ResultSet d'affecter les opérations ultérieures.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal