上的項目,將有連接到DB 許多語句,我想重複使用報表,而不是創造新的每一個連接 ,而我不希望使用後關閉所有的ResultSet中最重要的事情IAM工作如何重用JDBC語句和自動關閉結果集?
我想重用之前關閉回結果集上聲明其
我的代碼看起來象
ArrayList<Statement> BackStatements = new ArrayList();
int lastStatementIndex = 0;
private Statement GetStatement() throws SQLException {
Statement SM;
int MaxStatements = 5;
if (BackStatements.size() < MaxStatements) {
SM = Connection.createStatement();
BackStatements.add(SM);
lastStatementIndex = BackStatements.size() - 1;
} else {
lastStatementIndex = lastStatementIndex + 1;
if (lastStatementIndex == MaxStatements) {
lastStatementIndex = 0;
}
SM = BackStatements.get(lastStatementIndex);
/// i want to close resultset generated by SM now and i do this before return this SM
SM.getResultSet().close();
}
System.out.println("Last Index:" + lastStatementIndex + "---- Size:" + BackStatements.size());
return SM;
}
但這種方法通過記錄
0123返回此錯誤Caused by: java.sql.SQLException: ResultSet already requested
看來你正試圖在連接池中重用JDBC連接等語句。但是你的方法不適當地處理它。 ** Plz糾正我,如果我沒有正確地得到你** –
是的,你是正確的我想方法重用語句或一般想法做到這一點 – Abojemyeg
但你沒有分享你的代碼**實際上是如何創建語句? * –