El conjunto de resultados no se cierra correctamente.
Necesito realizar una operación y tengo este código:
ResultSet rsSel = null;
// preparar la declaración
PreparedStatement stmtSel = null;
// preparar la declaración
PreparedStatement stmtUpd = null;
try {
//crear consulta yyyyyyyy
String query = SQLStatements.getStatement("queryExample");
//crear PreparedStatement
stmtSel = (PreparedStatement) conn.prepareStatement(query);
int index = 1;
// WHERE:
stmtSel.setInt(index++, prog);
// SELECT:
rsSel = stmtSel.executeQuery(); //el problema está aquí
rsSel.next();
//cerrar finally
rsSel.close();
} finally {
close(stmtSel);
close(rsSel);
}
No sé por qué cuando el programa hace rsSel = stmtSel.executeQuery();
me da:
¡Cerrando un conjunto de resultados que dejaste abierto! Por favor ciérralo tú mismo.: java.lang.Throwable: STACKTRACE
¿Alguien puede ayudarme?
davy.ai
Parece que no estás cerrando el
ResultSet
antes de intentar cerrarlo en el bloquefinally
. Asegúrate de cerrar elResultSet
antes de intentar cerrarlo en el bloquefinally
. Puedes hacerlo agregandorsSel.close()
después dersSel.next()
.