État non valide, l'objet ResultSet est fermé
J'exécute le code, mais je reçois un "état non Valide, l'objet ResultSet est fermé." erreur. Quelle est l'origine de l'erreur?
try{
query = "SELECT * FROM BUNDLE_TEMP "
+ "MINUS "
+ "SELECT * FROM BUNDLE";
rs = stmt.executeQuery(query);
while (rs.next()){
String bundle = rs.getString("BUNDLE");
String week = rs.getString("WEEK");
String sched_dt = rs.getString("SCHED_DT").replace(" 00:00:00.0", "");
String dropper_id = rs.getString("DROPPER_ID");
query = "INSERT INTO BUNDLE "
+ "VALUES ('"
+ bundle+"','"
+ week+"','"
+ sched_dt+"','"
+ dropper_id+"')";
stmt.executeUpdate(query);
}
}catch(Exception e){
System.out.println("Error while trying to insert into BUNDLE\n"+query+"\n"+ e);
}
Merci de poster l'exception stacktrace dans votre question, il contient de précieuses informations pour diagnostiquer votre problème.
Philipp est droit. Je pense que vous pourriez même avoir une panne de réseau qui coupe la connexion entre les deux requêtes, et le problème pourrait donner le même message que tu nous a montré.
Philipp est droit. Je pense que vous pourriez même avoir une panne de réseau qui coupe la connexion entre les deux requêtes, et le problème pourrait donner le même message que tu nous a montré.
OriginalL'auteur Mike | 2011-08-31
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas exécuter une autre requête SQL sur la même
Statement
que vous êtes en train de parcourir avec unResultSet
. Ceci vous permettra de fermer le précédent de curseur (votreSELECT
requête resp.ResultSet
):Pour citer le Les docs de l'API pour la Déclaration:
Créer un autre
Statement
instance de votreConnection
, nous allons l'appelerupdateStmt
etexecuteUpdate()
.Aussi, regardez dans Les Requêtes Préparées pour votre mise à jour, il sera probablement plus performant et sécurisé.
OriginalL'auteur Philipp Reichart