如果我在查询数据的过程中,出现异常,ResultSet 会不会被创建,ResultSet 我要不要关闭啊?

解决方案 »

  1.   

    不用
    直接关connection就都关了
      

  2.   

    ResultSet executeQuery() throws SQLException;
    exception:SQLException if a database access error occurs or the SQL
              statement does not return a ResultSet object
    最好如下:finally {
        rs.close();
        rs = null;
    }

      

  3.   

    关不了~因为那是null,所以不用!
    这么写!
    if(result!=null)
     result.close();
      

  4.   

    直接关掉connection就可以了如果程序要求比较严谨的话
    可以在关之前进行一下null判断
    如楼上所说
      

  5.   

    理论上是不用的,不过养成习惯总是好的。

    finally { 
    try {
    if (rst != null) {
    rst.close();
    }
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }
      

  6.   

    那个习惯我知道,但是我写的组件那个地方,是不能关闭ResultSet ,因为要返回ResultSet 给其他类用,又其他类的使用着来使用
      

  7.   

    查询异常后 ResultSet  为 null;
    个人认为 :每个都要关. 
    而且没有必要判断null 
    因为 出现了异常说明这个代码是错的. 
    必须要改修改的.  
    如果是由于. 网络中断,数据库被破坏 等 不可预测的错误导至 的异常 判断为null 也余事无补纯属个人观点!!!
      

  8.   


    ResultSet rs = statement.executeQuery("select * from zhao");
            if(rs!=null) {//這裡要判斷的!
                rs.close();
            }