Operation not allowed after ResultSet closed 意爲:在結果集關閉不容許操做java
錯誤關鍵在於:一個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