2011-08-25 69 views
0

任何人都可以幫助解決下面的一段代碼中遇到的問題。看來,DB連接丟失試圖執行查詢第2節中關閉結果集和語句

String query = "SELECT ....."; 
    try { 
     con=getConnection(); 

     String query1 ="SELECT...."; 

     stmt = con.prepareStatement(query1); 

     rs1 = stmt.executeQuery(query1); -- Section1 
     while (rs1.next()) { 
     } 
     **Close resultset; 
     Close statement;** 

     stmt = con.prepareStatement(query); -- Section 2 
     rs = stmt.executeQuery(query); 

我懷疑DB連接在第2節失去這是由於關閉ResultSet和語句放在執行第2節之前是什麼時候?請指教。

問候, 史蒂芬

+0

這是一場比賽,我們必須猜測您在這裏使用的編程語言?那麼我會和Java一起去!你也沒有聲明*查詢*任何地方... – m0skit0

+0

你可以發佈堆棧跟蹤和錯誤是什麼的描述? – beny23

回答

2

關閉ResultSet和語句在finally塊,或者在你的代碼的末尾。

+0

致:m0skit0 - >對不起,我忘了指定語言。是的,它的Java。我覺得Query在這裏並不重要。任何select語句都適用於此場景。我的查詢是,在執行另一個查詢之前,有一個很好的做法是要有接近的結果集和語句。 – Steven

+0

收件人:beny23 - >抱歉,我無法提供堆棧跟蹤,因爲日誌每5分鐘被覆蓋一次...從其他日誌中,我注意到程序嘗試執行第2節時發生異常stmt = con.prepareStatement (查詢); - 第2部分 – Steven

+0

致:肖恩 - >感謝您的建議。讓我嘗試一下。 – Steven