mio codice generajava.sql.sqlRecoverableException: Chiuso dichiarazione: prossima
java.sql.sqlRecoverableException: Sentencia cerrada: next
che, in inglese, credo che sarebbe:
java.sql.sqlRecoverableException: Closed statement: next
Questo è il mio codice:
public TransactionArray() throws SQLException {
/* Obtenemos la tabla de transacciones. */
Connection connection;
connection = ConnectionManager.getConnection(STATISTIC_DATA_BASE);
Statement stmt = null;
String query =
"select * " +
"from " + "dCellStatistic" + ".F_Transaction";
ResultSet rs = null;
try {
stmt = connection.createStatement();
rs = stmt.executeQuery(query);
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (stmt != null) { stmt.close(); }
}
/* Construimos las transacciones a partir de los registros. */
List<Transaction> transactionList = new ArrayList<Transaction>();
while (rs.next()) { //THE PROBLEM ARISES IN THIS LINE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
transactionList.add(new Transaction(rs));
}
array = transactionList.toArray(new Transaction[transactionList.size()]);
}
Eventuali indizi di ciò che potrei essere fare sbagliato? Ho visto due thread su Code Ranch su problemi simili, ma nessuno di loro sembrava fornire una soluzione per il mio caso.
Il tuo inglese è abbastanza buono, ma perché il codice è in spagnolo? :) – adarshr
Vedere la risposta di @EricGalluzzo di seguito. Per riferimento futuro, questo comportamento è documentato in [Javadoc] (http://docs.oracle.com/javase/6/docs/api/java/sql/ResultSet.html) - 'Un oggetto ResultSet viene automaticamente chiuso quando il L'oggetto Statement che lo ha generato viene chiuso, rieseguito o utilizzato per recuperare il risultato successivo da una sequenza di risultati multipli. – Perception
@adarshr Grazie per il complimento. Sono spagnolo e lavoro in Spagna. Di solito scriviamo i commenti nella lingua del nostro paese. – Josep