Fechar todas as conexões do BD.[RESOLVIDO]

2 respostas
fsfnit
Fala i pessoal, a dúvida é simples : Na minha app tenho vários metodos de banco, delete,insert ,select e etc .. Porém em metodos que retornam um resultset (como um select) nao posso fechar a conexão pois senão mato o resultset resultante dessa conexão. Como faço para fechar a conexão que este método abriu após ja ter usado o resultset? Segue um exemplo bobo:
public static ResultSet listar(){
        Connection con=getConnection();
        try{
        String sql="select * from tabela";
        java.sql.PreparedStatement prpst = con.prepareStatement(sql);
        ResultSet rs=prpst.executeQuery();
//        con.close();
        return rs;
         
        }catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, ex);
            return null;
        }
    }

2 Respostas

T

O correto é fazer isto aqui:

public static ResultSet listar(Connection conn){
        try{
        String sql="select * from tabela";
        java.sql.PreparedStatement prpst = con.prepareStatement(sql);
        ResultSet rs=prpst.executeQuery();
        return rs;
         
        }catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, ex);
            return null;
        }
    }
Connection conn = getConnection();
ResultSet res = listar (conn);
conn.close();
fsfnit

thingol:
O correto é fazer isto aqui:

public static ResultSet listar(Connection conn){
        try{
        String sql="select * from tabela";
        java.sql.PreparedStatement prpst = con.prepareStatement(sql);
        ResultSet rs=prpst.executeQuery();
        return rs;
         
        }catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, ex);
            return null;
        }
    }

Connection conn = getConnection(); ResultSet res = listar (conn); conn.close();

Obrigadão pela Luz !!!

Criado 5 de maio de 2008
Ultima resposta 5 de mai. de 2008
Respostas 2
Participantes 2