java.sql.SQLException:Closed Connection:next
在 oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) 在 oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146) 在 oracle.jdbc.driver.OracleResultSetImpl.next(OracleResultSetImpl.java:181) 在 com.mchange.v2.c3p0.impl.NewProxyResultSet.next(NewProxyResultSet.java:2859)
代码
if (rs != null) {
while (rs.next()) {
resultset = Stmt.executeQuery();
if (resultset.next()) {
count += resultset.getLong(1);
resultset.close();
resultset = null;
}
Stmt.close();
Stmt = null;
}
}
答案 0 :(得分:2)
错误java.sql.SQLException: Closed Connection: next
表示resultSet
在使用时已经关闭。避免关闭resultSet
,直到确保下游代码不会使用它为止。
查看您的代码片段,看起来您正在使用while循环关闭Stmt
实例,并将在循环的下一次迭代中使用它。这可能是您问题的另一个原因。在这种情况下,使用循环创建Stmt
实例的新实例应该可以解决。