??????????????????
一.错误信息
Operation not allowed after ResultSet closed 意为:在结果集关闭不允许操作
二.为什么resultSet会自动关闭
错误关键在于:一个stmt有多个rs进行操作
正确操作应该:从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();
??????????????????
时间: 2024-10-25 14:49:56