错误:Operation not allowed after ResultSet closed

一个stmt多个rs进行操作引起的ResultSet已经关闭错误

一个stmt多个rs进行操作.
那么从stmt得到的rs1,必须马上操作此rs1后,才能去得到另外的rs2,再对rs2操作.
不能互相交替使用,会引起rs已经关闭错误.
错误的代码如下:
 stmt=conn.createStatement();
 rs=stmt.executeQuery("select * from t1");
 rst=stmt.executeQuery("select * from t2");
 rs.last();//由于执行了rst=stmt.executeQuery(sql_a);rs就会被关闭掉!所以程序执行到此会提示ResultSet已经关闭.错误信息为:java.sql.SQLException: Operation not allowed after ResultSet closed
 rst.last();

正确的代码:

 stmt=conn.createStatement();
 rs=stmt.executeQuery("select * from t1");
 rs.last();//对rs的操作应马上操作,操作完后再从数据库得到rst,再对rst操作
 rst=stmt.executeQuery("select * from t2");
 rst.last();

猜你喜欢

转载自blog.csdn.net/qq_41866516/article/details/90758101