<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 閱讀(4383) 評論(0)  編輯  收藏 所屬分類: Java

    主站蜘蛛池模板: 国产专区一va亚洲v天堂| 亚洲一区二区三区丝袜| 国产中文字幕免费| 99久久99久久精品免费看蜜桃 | 久久久99精品免费观看| 污污视频网站免费观看| 亚洲综合色区中文字幕| 久久夜色精品国产噜噜噜亚洲AV| jzzijzzij在线观看亚洲熟妇| 亚洲沟沟美女亚洲沟沟| 久久综合日韩亚洲精品色| 国产亚洲午夜高清国产拍精品| 国产乱子伦精品免费无码专区| 精品剧情v国产在免费线观看 | 亚洲人成毛片线播放| 亚洲一区二区三区首页| 久久亚洲国产午夜精品理论片| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 免费无码一区二区| 亚洲av无码成人精品国产| 亚洲国产成人99精品激情在线| 亚洲的天堂av无码| 亚洲欧洲日产专区| 99人中文字幕亚洲区| 亚洲五月激情综合图片区| 日韩一区二区三区免费体验| 国产vA免费精品高清在线观看 | 免费人成在线观看69式小视频| 久久久久国色av免费看 | 亚洲国产成人精品青青草原| 亚洲影院在线观看| 78成人精品电影在线播放日韩精品电影一区亚洲 | 日韩免费观看一级毛片看看| 免费黄色app网站| 波多野结衣久久高清免费| 在线观看亚洲免费视频| 免费国产成人高清视频网站| 亚洲AV蜜桃永久无码精品| 最近免费中文字幕大全免费版视频| 理论秋霞在线看免费| 牛牛在线精品免费视频观看|