是不是这样就可以了..大家请帮我看下这可不可以
主要是帮我看关闭rs,stmt,con可不可以那样写的!?

package mf;

import java.sql.*;
import javax.naming.*;
import javax.sql.DataSource;

public class DB 
{
private Connection con=null;
private Statement stmt=null;
ResultSet rs=null;

//建立数据源连接
public Connection getConnection() throws Exception{

        Context initCtx = new javax.naming.InitialContext(); 
        Context envCtx = (Context) initCtx.lookup("java:comp/env"); 
        DataSource ds = (DataSource)envCtx.lookup("jdbc/OracleDB"); 
        con=ds.getConnection();
        return con;
}

//执行Query语句
public ResultSet executeQuery(String sql,Connection conn) throws Exception
{
rs=null;
try


stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery (sql);
}
catch(SQLException e){throw e;}


return rs;
}


//执行Insert,Update语句 
public void executeUpdate(String sql,Connection conn) throws Exception
{
stmt = null; 
rs=null; 
try

stmt=conn.createStatement();
stmt.executeUpdate(sql);

}
catch(SQLException ex) 
{
System.err.println("执行SQL语句出错: " + ex.getMessage()); 
}
}



// 关闭rs
public void closeResultSet() 

try
{
        if(rs!=null)rs.close();


catch(SQLException e){e.printStackTrace();}
finally

if (rs!=null)

try 
        { 
rs.close(); 
   } 
catch (Exception ex){}
        
  }

}

}

// 关闭stmt
public void closeStatement() 

try{
        if(stmt!=null)stmt.close();


catch(SQLException e){e.printStackTrace();}

finally

if (stmt!=null)

try 
        { 
stmt.close(); 
   } 
catch (Exception ex){}
         
  }

}

}

// 关闭Connection
public void closeConnection(Connection con) 

try{
        if(con!=null)con.close();

     } 
catch(SQLException e){e.printStackTrace();}


finally

if (con!=null)
   { 
try 
        { 
con.close(); 
   } 
catch (Exception ex){}
        
  }

}
}
}

[em12]