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

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

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

    Vincent.Chan‘s Blog

    常用鏈接

    統計

    積分與排名

    網站

    最新評論

    關于ResultSet的關閉問題

    在Connection上調用close方法會關閉Statement和ResultSet嗎?

    級聯的關閉這聽起來好像很有道理,而且在很多地方這樣做也是正確的,通常這樣寫
    Connection con = getConnection();//getConnection is your method
    PreparedStatement ps = con.prepareStatement(sql);
    ResultSet rs = ps.executeQuery();
    ……
    ///rs.close();
    ///ps.close();
    con.close();  // NO!
    這 樣做的問題在于Connection是個接口,它的close實現可能是多種多樣的。在普通情況下,你用 DriverManager.getConnection()得到一個Connection實例,調用它的close方法會關閉Statement和 ResultSet。但是在很多時候,你需要使用數據庫連接池,在連接池中的得到的Connection上調用close方法的時候,Connection可能并沒有被釋放,而是回到了連接池中。它以后可能被其它代碼取出來用。如果沒有釋放Statement和ResultSet,那么在Connection上沒有關閉的Statement和ResultSet可能會越來越多,那么……
    相反,我看到過這樣的說法,有人把Connection關閉了,卻繼續使用ResultSet,認為這樣是可以的,引發了激烈的討論,到底是怎么回事就不用我多說了吧。

    所以我們必須很小心的釋放數據庫資源,下面的代碼片斷展示了這個過程

    Connection con = null;
    PreparedStatement ps = null;
    ResultSet rs = null;

    try {
        con = getConnection();//getConnection is your method
        ps = con.prepareStatement(sql);
        rs = ps.executeQuery();
        ///...........
    }
    catch (SQLException ex) {
        ///錯誤處理
    }
    finally{
        try {
            if(ps!=null)
                ps.close();
        }
        catch (SQLException ex) {
            ///錯誤處理
        }
        try{
            if(con!=null)
                con.close();
        }
        catch (SQLException ex) {
            ///錯誤處理
        }
    }

    很麻煩是不是?但為了寫出健壯的程序,這些處理是必須的。



    上面這東西講得真是精辟。

    posted on 2006-03-15 23:15 Vincent.Chen 閱讀(4368) 評論(0)  編輯  收藏 所屬分類: Java

    主站蜘蛛池模板: 毛片a级毛片免费观看品善网| 日韩精品在线免费观看| 午夜dj免费在线观看| 亚洲欧洲春色校园另类小说| 久别的草原电视剧免费观看| 亚洲综合国产精品| 日本一卡精品视频免费| 亚洲精品自拍视频| 国产精品怡红院永久免费| 国产精品亚洲精品观看不卡| 一二三四影视在线看片免费 | 亚洲AV日韩综合一区尤物| 日韩免费精品视频| 亚洲字幕AV一区二区三区四区 | 免费又黄又硬又爽大片| 一级一片免费视频播放| 久久精品国产亚洲一区二区三区| 亚洲黄片手机免费观看| 亚洲无线码一区二区三区| 久久青草精品38国产免费| 亚洲精品视频观看| 韩国免费三片在线视频| 未满十八私人高清免费影院| 亚洲国产三级在线观看| 国产免费不卡视频| 黄页网站在线观看免费| 亚洲日韩一页精品发布| 91成人在线免费视频| 亚洲日韩精品国产3区| 亚洲一区二区视频在线观看| 免费一区二区三区| 久久亚洲精品无码观看不卡| 久久午夜夜伦鲁鲁片免费无码| 亚洲人配人种jizz| 亚洲高清成人一区二区三区| 日本高清免费观看| 亚洲国产AV无码一区二区三区 | a一级毛片免费高清在线| 久久精品国产亚洲AV高清热| 全免费a级毛片免费**视频| 国产日韩精品无码区免费专区国产 |