Java sql查询,提示:
.SQLException: Invalid state, the ResultSet object is closed
代码:
String[] sqls = { “select...”, “select...” };
Statement stmt = db.createStatement();
ResultSet reset1 = stmt.executeQuery(sqls[0]);
ResultSet reset2 = stmt.executeQuery(sqls[1]);
while(reset1.next()){ //报错:
//...
}
网上查询,找到了原因:
同一个Statement上执行第二次语句查询的时候,statement就会关闭,所以修改的方法是针对每个语句声明单独的Statement:
String[] sqls = { “select...”, “select...” };
Statement stmt1 = db.createStatement();
Statement stmt2 = db.createStatement();
ResultSet reset1 = stmt1.executeQuery(sqls[0]);
ResultSet reset2 = stmt2.executeQuery(sqls[1]);
while(reset1.next()){ //报错:
//...
}
参考:java - Invalid state, the ResultSet object is closed - Stack Overflow