錯誤: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

相關文章
相關標籤/搜索