我的代碼拋出java.sql.sqlRecoverableException:關閉聲明:下一
java.sql.sqlRecoverableException: Sentencia cerrada: next
其中,英語,我想這將是:
java.sql.sqlRecoverableException: Closed statement: next
這是我的代碼:
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()]);
}
我可能會做的任何線索錯了嗎?我在Code Ranch上看到了兩個關於類似問題的主題,但他們都沒有爲我的案例提供解決方案。
你的英語很不錯,但爲什麼西班牙語的代碼? :) – adarshr 2013-02-19 13:03:05
請參閱下面的@EricGalluzzo的答案。爲了將來的參考,這種行爲記錄在[Javadoc](http://docs.oracle.com/javase/6/docs/api/java/sql/ResultSet.html)中 - 「ResultSet對象在生成它的Statement對象關閉,重新執行或用於從多個結果序列中檢索下一個結果。 – Perception 2013-02-19 13:05:33
@adarshr感謝您的讚美。我是西班牙人,我在西班牙工作。我們通常使用我們國家的語言撰寫評論。 – Josep 2013-02-19 13:10:29