Return ResultSet pros y contras
Hola Amigos del foro, tengo una duda para compartir...
Que problemas tendria si creo una funcion de este tipo
private ResultSet getConsulta(String strSQL){
try{
this.getConnection();
Statement stmt = this.connection.createStatement();
ResultSet rs = stmt.executeQuery(strSQL);
stmt.close();
this.releaseConnection();
return rs;
}
catch(SQLException e){
this.releaseConnection();
return null;
}
}
驴驴Que problemas puedo tener al no cerra el resultset (rs.close())??
Mi idea es crear esta funcion de forma tal de que todas las consultas que quiera hacer las haga por medio de esta funcion. Pero mi duda surgio al pensar 驴que pasa si no cierro el resultset?
Gracias
Que problemas tendria si creo una funcion de este tipo
private ResultSet getConsulta(String strSQL){
try{
this.getConnection();
Statement stmt = this.connection.createStatement();
ResultSet rs = stmt.executeQuery(strSQL);
stmt.close();
this.releaseConnection();
return rs;
}
catch(SQLException e){
this.releaseConnection();
return null;
}
}
驴驴Que problemas puedo tener al no cerra el resultset (rs.close())??
Mi idea es crear esta funcion de forma tal de que todas las consultas que quiera hacer las haga por medio de esta funcion. Pero mi duda surgio al pensar 驴que pasa si no cierro el resultset?
Gracias
No te recomiendo que lo hagas as铆, sobre todo si vas a llamar muchas veces a esa funci贸n. Yo hace unos meses tard茅 una casi una semana en descubrir porque se me iba de memoria en un servidor Weblogic una aplicaci贸n y fue por dejar abierto un ResultSet en una funci贸n que se llamaba cientos o miles de veces.
Si hablas de dejar abiertos pocos ResulSet (es decir, no vas a llamar demasiado a esa funci贸n) no tendr谩s problemas, pero no te lo recomiendo porque es una fuente de errores para el futuro. Te recomiendo que pases la informaci贸n del ResultSet a alg煤n otro objecto (ArrayList, TreeMap...) y devuelvas este objeto.
Un saludo.
Si hablas de dejar abiertos pocos ResulSet (es decir, no vas a llamar demasiado a esa funci贸n) no tendr谩s problemas, pero no te lo recomiendo porque es una fuente de errores para el futuro. Te recomiendo que pases la informaci贸n del ResultSet a alg煤n otro objecto (ArrayList, TreeMap...) y devuelvas este objeto.
Un saludo.
