上的项目,将有连接到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
但你没有分享你的代码**实际上是如何创建语句? * –