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

java.sql.SQLException: ResultSet is closed

Estas en el tema de java.sql.SQLException: ResultSet is closed en el foro de Java en Foros del Web. Buenas tardes amigos: Tengo un problema con esta clase. public List getConsultaConsolidadoDao(Connection conn, ActionFormConsulta actionFormConsulta) throws Exception { int i=0; ResultSet rs = null; PreparedStatement ...
  #1 (permalink)  
Antiguo 25/02/2011, 15:40
 
Fecha de Ingreso: noviembre-2008
Mensajes: 38
Antigüedad: 16 años
Puntos: 2
Exclamación java.sql.SQLException: ResultSet is closed

Buenas tardes amigos:

Tengo un problema con esta clase.

public List getConsultaConsolidadoDao(Connection conn, ActionFormConsulta actionFormConsulta) throws Exception {
int i=0;
ResultSet rs = null;
PreparedStatement pstmt = null;
ConsultaConsolidadoBean consultaConsolidadoBean = null;
List mostrar_dato = null;
String fecInicio = actionFormConsulta.getFchInicio();
String fechaFin = actionFormConsulta.getFchFinal();
String objDestin1 = actionFormConsulta.getDstInicio();
String objDestin2 = actionFormConsulta.getDstFinal();

String Sensql="SELECT FECHAREAL AS FECHA, " +
" DESTIN AS DESTINO, " +
" LOCAL AS NOMBRE_LOCAL, " +
" COUNT(REMITO) AS NUMERO_REMITOS, " +
" SUM(CANTIDAD_TOTAL) AS CANTIDAD_TOTAL1, " +
" SUM(FORMAT(PESO_TOTAL, '0.00')) AS PESO_TOTAL1 " +
" FROM (select a.FECHAREAL, " +
" a.REMITO, " +
" SUM(a.CANTIDAD) AS CANTIDAD_TOTAL, " +
" SUM(FORMAT(a.PESO, '0.00')) AS PESO_TOTAL, " +
" a.DESTIN, " +
" b.DE_LOCAL AS LOCAL " +
" FROM DETALLES A, TDESTINO AS B " +
" WHERE a.DESTIN = b.CO_LOCAL_REMITIR " +
" AND b.IN_LOCAL_REMITIR = '1' " +
" AND a.DESTIN >= '" + objDestin1 + "' AND a.DESTIN <= '"+ objDestin2 +"' " +
" AND a.FECHAREAL >= #" + fecInicio + "# AND a.FECHAREAL <= #"+ fechaFin +"#\n" +
" GROUP BY a.FECHAREAL, a.REMITO, a.DESTIN, b.DE_LOCAL) " +
"GROUP BY FECHAREAL, DESTIN, LOCAL ORDER BY 1 DESC";

try{
pstmt = conn.prepareStatement(Sensql);
rs = pstmt.executeQuery();
mostrar_dato = new ArrayList();
while (rs.next()) {
consultaConsolidadoBean = new ConsultaConsolidadoBean();
consultaConsolidadoBean.setObjFecha(rs.getString(" FECHA"));
consultaConsolidadoBean.setObjCodDestino(rs.getStr ing("DESTINO"));
consultaConsolidadoBean.setObjNomLocal(rs.getStrin g("NOMBRE_LOCAL"));
consultaConsolidadoBean.setObjCanRemitos(rs.getStr ing("NUMERO_REMITOS"));
consultaConsolidadoBean.setObjCanPaquetes(rs.getSt ring("CANTIDAD_TOTAL1"));
consultaConsolidadoBean.setObjCanPesoEnvio(rs.getS tring("PESO_TOTAL1"));
mostrar_dato.add(consultaConsolidadoBean);
i++;
}
}catch (Exception e) {
e.printStackTrace();;
} finally {
GeneralDao.pstmtClose(pstmt);
GeneralDao.rsClose(rs);
}
return mostrar_dato;
}


al final se cae y me sale este error..!


java.sql.SQLException: ResultSet is closed
at sun.jdbc.odbc.JdbcOdbcResultSet.checkOpen(JdbcOdbc ResultSet.java:6647)
at sun.jdbc.odbc.JdbcOdbcResultSet.clearWarnings(Jdbc OdbcResultSet.java:1764)
at sun.jdbc.odbc.JdbcOdbcResultSet.close(JdbcOdbcResu ltSet.java:1467)
at reniec.consolidado.utiles.GeneralDao.rsClose(Gener alDao.java:14)
at reniec.consolidado.dao.ConsultaConsolidadoDao.getC onsultaConsolidadoDao(ConsultaConsolidadoDao.java: 79)
at reniec.consolidado.core.ConsultaConsolidadoCore.ge tConsultaConsolidadoCore(ConsultaConsolidadoCore.j ava:27)
at reniec.consolidado.delegate.ConsultaConsolidadoDel egate.getConsultaConsolidadoDelegate(ConsultaConso lidadoDelegate.java:20)
at reniec.consolidado.webapp.srConsolidado.clsListarR egistrosFecha(srConsolidado.java:68)
at reniec.consolidado.webapp.srConsolidado.processReq uest(srConsolidado.java:53)


Que es kilometrico... pero.. que estoy haciendo mal...!!
  #2 (permalink)  
Antiguo 25/02/2011, 16:18
 
Fecha de Ingreso: diciembre-2003
Mensajes: 5
Antigüedad: 20 años, 11 meses
Puntos: 1
Respuesta: java.sql.SQLException: ResultSet is closed

Hola DConsolidado,

Sugiero lo siguiente:

1.- Quita el throws Exception del método getConsultaConsolidadoDao
2.- Intenta usar
Statement stm = conn.createStatement();
ResultSet rst = stm.executeQuery(Sensql);

Cualquier cosa estoy en el correo y el chat: [email protected]

Saludos

Manuel
  #3 (permalink)  
Antiguo 28/02/2011, 07:56
 
Fecha de Ingreso: noviembre-2008
Mensajes: 38
Antigüedad: 16 años
Puntos: 2
Respuesta: java.sql.SQLException: ResultSet is closed

Hola LobolB, gracias por responder, te cuento un poquito:

con las indicaciones que me diste paso la clase Dao sin que me lance el error de "Resulset is closed" pero el la siguiente capa, que yo le llamo Core me lanzo este error:

"java.sql.SQLException: [Microsoft][Controlador ODBC Microsoft Access]Estado de la transacción no válido"

La clase Core es la siguiente:

public List getConsultaConsolidadoCore(ActionFormConsulta actionFormConsulta) {
Connection conn = null;
List consultaConsolidadoBean = null;
try{
conn = General.getConnection();
consultaConsolidadoBean = ConsultaConsolidadoDao.instance().getConsultaConso lidadoDao(conn,actionFormConsulta);
}catch(Exception e){
e.printStackTrace();
}finally {
GeneralDao.cerrarConexion(conn);
}
return consultaConsolidadoBean;
}

y específicamente el error sale en la calse cerrarConexion.. que es la siguiente:

public static void cerrarConexion(Connection conn){
try{
if (conn != null) {
conn.close();
}
} catch(SQLException e){
e.printStackTrace();
throw new RuntimeException(e);
}
}

Por favor... una mano más..!!!


Gracias por tu tiempo.

Salu2.
  #4 (permalink)  
Antiguo 28/02/2011, 07:57
 
Fecha de Ingreso: noviembre-2008
Mensajes: 38
Antigüedad: 16 años
Puntos: 2
Respuesta: java.sql.SQLException: ResultSet is closed

Hola LobolB, gracias por responder, te cuento un poquito:

con las indicaciones que me diste paso la clase Dao sin que me lance el error de "Resulset is closed" pero el la siguiente capa, que yo le llamo Core me lanzo este error:

"java.sql.SQLException: [Microsoft][Controlador ODBC Microsoft Access]Estado de la transacción no válido"

La clase Core es la siguiente:

public List getConsultaConsolidadoCore(ActionFormConsulta actionFormConsulta) {
Connection conn = null;
List consultaConsolidadoBean = null;
try{
conn = General.getConnection();
consultaConsolidadoBean = ConsultaConsolidadoDao.instance().getConsultaConso lidadoDao(conn,actionFormConsulta);
}catch(Exception e){
e.printStackTrace();
}finally {
GeneralDao.cerrarConexion(conn);
}
return consultaConsolidadoBean;
}

y específicamente el error sale en la calse cerrarConexion.. que es la siguiente:

public static void cerrarConexion(Connection conn){
try{
if (conn != null) {
conn.close();
}
} catch(SQLException e){
e.printStackTrace();
throw new RuntimeException(e);
}
}

Por favor... una mano más..!!!


Gracias por tu tiempo.

Salu2.
  #5 (permalink)  
Antiguo 28/02/2011, 10:14
 
Fecha de Ingreso: octubre-2010
Mensajes: 27
Antigüedad: 14 años
Puntos: 2
Respuesta: java.sql.SQLException: ResultSet is closed

Hola DConsolidado,

Me parece que el problema es generado en el metodo getConnection() de la Clase General. Por ello sugiero que revises ese tema o en todo caso envia esa clase a mi correo para revisarlo:

[email protected]

Tambien si puedes generarte una cuenta en el gmail puesto q ahi existe un Chat donde nos podemos comunicar en línea, a fin de apoyarte de una manera efectiva.

Saludos

Manuel
  #6 (permalink)  
Antiguo 28/02/2011, 10:21
 
Fecha de Ingreso: noviembre-2008
Mensajes: 38
Antigüedad: 16 años
Puntos: 2
Respuesta: java.sql.SQLException: ResultSet is closed

Ah, bacan.

Creare mi cuenta para poder comunicarnos.

Gracias de nuevo.

Salu2.

Etiquetas: closed
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 07:09.