假如我程序里有这样一个代码片断:
....
Connection conn = DriverManager.getConnection(Url);
statement = conn.createStatement();
ResultSet rs = statement.executeQuery(SQL);
....我在程序的最后应该怎么样关闭conn, statement, rs呢?我这样关闭可以吗:
try{
    if(rs!=null){
        rs.close();
    }
    if(statement!=null){
        statement.close();
    }
    if(conn!=null){
        conn.close();
    }
}
catch(SQLException e){
    ............;
}

解决方案 »

  1.   

    try{
               rs.close();
               statement.close();
               conn.close();
        }
    }
    catch(SQLException e){
        ............;
    }就可以了
      

  2.   

    to: purerain如果在关闭rs.close()的时候出现在了异常呢? 岂不是statement和conn都没有被关闭?
      

  3.   

    try {
                Statement s = c.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
                                                ResultSet.CONCUR_READ_ONLY);            // SQL code:
                ResultSet r = s.executeQuery(
                    "select sn,name,idcard,money from account order by sn desc");
                //r.setFetchSize(1);            r.last();
                System.out.println(r.getRow());            r.beforeFirst();
                while (r.next()) {
                    System.out.println(
                        r.getInt("sn") + "\t" + r.getString("name") + "\t" +
                        r.getString("idcard") + "\t" + r.getString("money"));
                    System.out.println(r.getRow());
                    //r.updateString("name",r.getString("name")+"A");            }
                r.close();
                s.close(); // Also closes ResultSet        }
            catch (Exception ex) {
                ex.printStackTrace();
            }
            finally {
                try {
                    c.close();
                }
                catch (Exception ex) {
                    ex.printStackTrace();
                }
            }
        }