错误:Operation not allowed after ResultSet closed

一.错误信息

Operation not allowed after ResultSet closed  意为:在结果集关闭不容许操做java


二.为何resultSet会自动关闭

错误关键在于:一个stmt有多个rs进行操做sql

正确操做应该:从stmt获得的rs1,必须立刻操做此rs1后,才能去获得另外的rs2,再对rs2操做.不能互相交替使用;   或者   不用的rs,使用不一样的stmt数据库

错误的代码以下:
 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();spa

相关文章
相关标签/搜索