Como recorrer dos veces un resultSet
Tengo un problemilla. Necesito trabajar con un resultSet recoriendolo por completo para guardar su informacion. El problema es que despues necesito ese resultSet otra vez, pero como ya lo he recorrido ya esta vacio. Para lo que quiero hacer no puedo utilizar TYPE_SCROLL_INSENSITIVE y rs = rs2 no vale pq solo copia la direccion. Total que me gustaria como poder copiar un resultSet o volverlo a la posicion inicial. Ah!! Tampoco puedo hacerlo usando el beforeFirs() del resultSet pq no esta implementado en el driver que utilizo. Gracias!!!!
Puedes almacenar los datos en un CachedRowSet por ejemplo, asÃ:
ChachedRowSet datos;
datos.populate(resultSet);
De esta manera puedes recorrerlo cuantas veces quieras, usando while (datos.next())...
y cuando vayas a empezar de nuevo: datos.beforeFirst().
ChachedRowSet datos;
datos.populate(resultSet);
De esta manera puedes recorrerlo cuantas veces quieras, usando while (datos.next())...
y cuando vayas a empezar de nuevo: datos.beforeFirst().
El tema con el uso de Rowset y sus implementaciones es que se necesita un JDK bastante nuevo (pongo eso porque no estoy seguro desde de que versión esta disponible)...
Muchiiiiiiiiiiiiiiiiiiiiiiisimas gracias!!! Es justo lo que queria. Ahora el problema esta en que al hacer CachedRowSet tengo que inicialirzarlo a null y cuando hago crs.populate(resultset) me dice que me vaya a acostar. Tengo que utilizar alguna constructora o algo? He visto que no existe new CachedRowSet. Gracias!!!
Yo lo intenté para una aplicacion pero no funciona nada, no puedes usarlo dos veces. Tienes que guardar su contenido en alguna variable y usar esa.
Me dijeron que usara Vector para copiar el contenido.
Me dijeron que usara Vector para copiar el contenido.
no se puede recorrer un resultset dos veces si se usan sus datos para algo en el momento que los escribes o los asignas auna variable, estos desaparecen del resulset, deberia guardarlos en un vector o array para poder utilizarlos despues