Ya lo he resuelto. Es increíble las
novedades que aportó la versión 1.5 de Java.
Ahora existe una interfaz llamada
CachedRowSet. Si tenemos una clase que implemente esa interfaz, podemos copiar
ahí los datos del ResultSet. Cerramos la conexión, y sacamos los datos de
CachedRowSet tranquilamente como si fuera un ResultSet.
Os adjunto un ejemplo de uso.
Un saludo!
De:
Enviado el: miércoles, 07 de marzo
de 2007 12:46
Para:
Asunto: [imasd] pregunta sobre
java
Hola a todos:
Tengo una duda sobre Java-JDBC que me viene atormentando desde hace meses, y
os la pregunto a vosotros a ver si sabéis alguna solución.
Cuando se hace una consulta “select” a una base de datos, hay que
crear la
conexión, enviar la consulta y coger el resultado, que está encapsulado en
un objeto de una clase llamada “ResultSet”.
Uno podría pensar en cerrar la conexión a la base de datos antes de sacar
los datos del resultset. Pero si se hace esto, el resultset ya no funciona.
Mi pregunta es: ¿sabéis de alguna forma en que un resultset siga funcionando
después de haber cerrado la conexión a la base de datos? Googleé durante
algún tiempo y miré las propiedades de ResultSet y de otros objetivos
similares, pero sin éxito. Es decir, lo ideal sería copiar el resultado de
una consulta desde la base de datos a un ResultSet, para así poder cerrar ya
la conexión a la base de datos y posteriormente sacar los datos del
ResultSet con tranquilidad.
Gracias por todo :-)