java.sql.SQLException:ResultSet关闭后不允许操作[重复]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java.sql.SQLException:ResultSet关闭后不允许操作[重复]相关的知识,希望对你有一定的参考价值。
任何人都可以指出我在写入方向上解决错误:SQLException:ResultSet关闭后不允许操作
这是我相信错误发生的代码
Statement stmt = con.createStatement();
String query1 = "";
String query2 = "";
int candidateNo = 42;
query1 = "SELECT * FROM Candidates WHERE CandidateNo = "+ candidateNo;
ResultSet rs = stmt.executeQuery(query1);
//If query can be completed then display name and prompt to continue
if(rs.next()){
query2 = "SELECT * FROM Achieved WHERE CandidateNo = " + candidateNo;
ResultSet ts = stmt.executeQuery(query2);
}
我试过使用resultset rs = null;创建变量但仍然出现错误
答案
你正在迭代绑定到ResultSet
的Statement
,然后在迭代时,你使用完全相同的Statement
对象发出一个新的查询并获取并迭代另一个ResultSet
。
只要您没有完成第一个ResultSet
的处理,这将无法工作,因此请考虑使用不同的Statement
对象进行第二次查询。
另一答案
在您的代码中,您使用2 ResultSet同时执行相同的Statement对象(stmt)。对两个查询使用不同的Statement对象。
以上是关于java.sql.SQLException:ResultSet关闭后不允许操作[重复]的主要内容,如果未能解决你的问题,请参考以下文章
Oracle DB:java.sql.SQLException:关闭连接
Cause: java.sql.SQLException: 请求的转换无效 ; uncategorized SQLException for SQL []; SQL state [99999]; er
java.sql.SQLException: ORA-00604: 递归 SQL 级别 1 发生错误
Java:Sqlexception:位置不支持的 SQL92 令牌:178