2011-08-25 57 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