es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que no estás cerrando el ResultSet antes de intentar cerrarlo en el bloque finally. Asegúrate de cerrar el ResultSet antes de intentar cerrarlo en el bloque finally. Puedes hacerlo agregando rsSel.close() después de rsSel.next().

Comments are closed.