Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Ayuda con error "Result set is closed"

Estas en el tema de Ayuda con error "Result set is closed" en el foro de Java en Foros del Web. Estimados foreros. Tengo el siguiente problema cuando instancio y creo un objeto tipo Resultset que genero en una clase al momento de querer recorrer el ...
  #1 (permalink)  
Antiguo 24/07/2010, 14:44
 
Fecha de Ingreso: mayo-2009
Mensajes: 13
Antigüedad: 14 años, 10 meses
Puntos: 0
Mensaje Ayuda con error "Result set is closed"

Estimados foreros.
Tengo el siguiente problema cuando instancio y creo un objeto tipo Resultset que genero en una clase al momento de querer recorrer el Resultset me sale el error "Resultset is closed"

para explicar mejor les dejo el código que estoy generando.

public void CargarProveedor(){
try {
ResultSet rs = null;
DatosLiqCompras liqcompras = new DatosLiqCompras();

// aqui recibo el resultset que viene de otra clase
rs = liqcompras.SeleccionarProveedor(); // SeleccionarProcedimiento me devuelve un Resultset

// en este while es donde me presenta el error "Result set is closed"
while (rs.next()){
cbxproveedores.addItem(rs.getString("id_provedor") );
}

}catch(Exception e){
JOptionPane.showMessageDialog(null, e, "Error",JOptionPane.ERROR_MESSAGE);
}
}

Esta es la clase donde genero el Resultset

public ResultSet SeleccionarProveedor() {
ResultSet rs = null;

try {
conexion con = new conexion();
String driver = con.driver();
String connectString = con.connectString();
String user = con.usuario();
String password = con.password();

Class.forName(driver);
Connection conex = DriverManager.getConnection(connectString, user , password);
Statement stmt = conex.createStatement();
String srtsql = "SELECT id_proveedor, nombres from proveedores";

rs = stmt.executeQuery(srtsql);
stmt.close();
conex.close();

}catch(Exception e){
JOptionPane.showMessageDialog(null, e, "Error", JOptionPane.ERROR_MESSAGE);
}
return rs;
}

El en la clase SeleccionarProveedor() no tengo problemas el resultset me trae los datos que requiero de la BD, al momento de pasarlos a CargarProveedor() es donde no lo puedo recorrer el Resultset para cargarlos a un Combobox
Estoy utilizando una BD postgres.

Les agradesco sus resuestas
  #2 (permalink)  
Antiguo 24/07/2010, 15:43
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Ayuda con error "Result set is closed"

Cita:
Iniciado por pichon77 Ver Mensaje
Esta es la clase donde genero el Resultset
...
rs = stmt.executeQuery(srtsql);
stmt.close();
...
Del API de Statement.close():
Cita:
Note: ... When a Statement object is closed, its current ResultSet object, if one exists, is also closed.
Así que efectivamente, el ResultSet está cerrado, y lo está por que has cerrado el Statement al que pertenece.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #3 (permalink)  
Antiguo 24/07/2010, 16:24
 
Fecha de Ingreso: mayo-2009
Mensajes: 13
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Ayuda con error "Result set is closed"

Esa es la forma, muchas gracias GreenEyed te debo una gracias nuevamente, se soluciono el problema

Etiquetas: set
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:33.