<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-71  評論-5  文章-0  trackbacks-0
    一個stmt多個rs進行操作.那么從stmt得到的rs1,必須馬上操作此rs1后,才能去得到另外的rs2,再對rs2操作.不能互相交替使用,會引起rs已經關閉錯誤——Operation not allowed after ResultSet closed.

    錯誤的代碼如下:
     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();


    一個stmt最好對應一個rs, 如果用一個時間內用一個stmt打開兩個rs同時操作,會出現這種情況.編寫這樣的代碼的操作原則是:
    所以解決此類問題:

      1.就多創建幾個stmt,一個stmt對應一個rs;

      2.若用一個stmt對應多個rs的話,那只能得到一個rs后就操作,處理完第一個rs后再處理其他的,如上"正確代碼".

     

    多個stmt對應各自的rs.
    stmt=conn.createStatement();
    stmt2=conn.createStatement();
     
    rs=stmt.executeQuery("select * from t1");
    rst=stmt2.executeQuery("select * from t2");
     
    rs.last();
    rst.last();

    原文URL : 
    http://www.cnblogs.com/haore147/p/3617767.html
    posted on 2015-10-13 14:58 藤本薔薇 閱讀(223) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 久久精品国产亚洲AV麻豆不卡 | 色播在线永久免费视频网站| 国产精品高清免费网站| 国产午夜无码精品免费看动漫| 一级毛片免费观看不卡视频| 国产又大又粗又硬又长免费| 97久久精品亚洲中文字幕无码| 久久久久久亚洲精品| 亚洲aⅴ无码专区在线观看| 午夜免费福利小电影| 亚洲AV无码久久精品成人| 免费人成毛片动漫在线播放| 亚洲AV人无码激艳猛片| 69pao强力打造免费高清| 亚洲欧洲精品成人久久曰影片| 亚洲免费人成视频观看| 你好老叔电影观看免费| 亚洲av丰满熟妇在线播放| 最近免费中文字幕高清大全| 中文字幕亚洲无线码| 亚洲av第一网站久章草| 亚洲成av人在片观看| 狠狠入ady亚洲精品| 国产精品免费观看久久| 亚洲高清视频免费| 啦啦啦中文在线观看电视剧免费版| 亚洲精品一卡2卡3卡四卡乱码 | 可以免费看黄的网站| 亚洲图片在线观看| 国产一级婬片A视频免费观看| 男人的天堂亚洲一区二区三区 | 日韩视频在线观看免费| 亚洲中文字幕不卡无码| 97久久免费视频| 韩国亚洲伊人久久综合影院| 人人狠狠综合久久亚洲婷婷| 国产A∨免费精品视频| 亚洲精品高清国产麻豆专区| 久久精品一本到99热免费| 亚洲性无码一区二区三区| 成人片黄网站色大片免费|