SoloCodigo

Programación General => Java => Mensaje iniciado por: MercedesH en Jueves 14 de Agosto de 2008, 14:36

Título: Manejo de un Resultset Dinamico
Publicado por: MercedesH en Jueves 14 de Agosto de 2008, 14:36
Hola.. Tengo una funcion que recibe una tira SQL y la ejecuta..la misma me retorna el resultset, pero como la tira es variable no se como hacer para recuperar los registros porq en un principio no se los nombres de cada campo que retornará.
Título: Re: Manejo de un Resultset Dinamico
Publicado por: arielb en Jueves 14 de Agosto de 2008, 15:27
Hola la clase ResultSetMetaData es lo que necesitas.
Título: Re: Manejo de un Resultset Dinamico
Publicado por: MercedesH en Jueves 14 de Agosto de 2008, 17:10
Hola, muchas gracias por responder...

Resulta q ahora se me presenta otro problema al utilizar la clase.
Al hacer esto:
ResultSet resultado = con.EjecutarSQL(sql);
ResultSetMetaData datos = resultado.getMetaData(); -- justo aqui me arroja el siguiente error:
Hit uncaught exception org.postgresql.util.PSQLException
org.postgresql.util.PSQLException: This ResultSet is closed.
   at org.postgresql.jdbc2.AbstractJdbc2ResultSet.checkClosed(AbstractJdbc2ResultSet.java:2417)
   at org.postgresql.jdbc2.Jdbc2ResultSet.getMetaData(Jdbc2ResultSet.java:33)
   at com.enelbar.cubo.data.GenerarArchivo.Ejecutar_sql(GenerarArchivo.java:121)
   at com.enelbar.cubo.data.GenerarArchivo.main(GenerarArchivo.java:30)

agradecida de antemano....
Título: Re: Manejo de un Resultset Dinamico
Publicado por: arielb en Jueves 14 de Agosto de 2008, 17:54
bueno según lo que veo de tú parte de código le falta crear el statement, etás ejecutando directamente y por eso dice que está cerrado el resultset, hazlo así ;
Código: Text
  1. String sql = "select * from tabla";
  2. Statement stmt = con.createStatement();
  3. ResultSet resultado = stmt.executeQuery(sql);
  4. if ( resultado != null ) {
  5.    ResultSetMetaData datos = resultado.getMetaData();
  6. }
  7.  

listo, nos cuentas.
Título: Re: Manejo de un Resultset Dinamico
Publicado por: MercedesH en Jueves 14 de Agosto de 2008, 18:03
Uichhh... :S tenía un .close() del resultset y no me habia dado cuenta.... error!!! tontooo...

gracias por su atención, cualquier cosa vuelvo a escribir