java.sql.SQLException:ResultSet关闭后不允许操作[重复]

问题描述 投票:3回答:2

任何人都可以指出我在写入方向上解决错误: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;创建变量但仍然出现错误

java jdbc
2个回答
1
投票

你正在迭代绑定到ResultSetStatement,然后在迭代时,你使用完全相同的Statement对象发出一个新的查询并获取并迭代另一个ResultSet

只要您没有完成第一个ResultSet的处理,这将无法工作,因此请考虑使用不同的Statement对象进行第二次查询。


1
投票

在您的代码中,您使用2 ResultSet同时执行相同的Statement对象(stmt)。对两个查询使用不同的Statement对象。

© www.soinside.com 2019 - 2024. All rights reserved.