ResultSet aún sin saber cuantas filas ha retornado éste, otra forma sencilla de saber la cantidad de filas que retorna un ResultSet es irnos hasta la última fila y extraer el número de ella, como ya sabemos, un ResultSet comienza en la fila 1 así que al irnos a la última fila, podremos saber cuantas filas tiene el ResultSet y cuando ya tengamos el valor nos devolvemos al inicio del ResultSet. He aquí un ejemplo simple y sin validaciones:
miResultSet.moveLast();
int cantFilas = miResultSet.getRow();
miResultSet.beforeFirst();
Para lograr esta funcionalidad (
Scrollable ResultSet) debemos declarar el objeto Statement de la siguiente manera:Statement stmt miConexion.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY
);
ResultSet miResultSet = stmt.executeQuery( miQuerySQL );De esta manera también puedes utilizar otras funcionalidades como:
absolute( x ) mueve el cursor a la fila x.relative( x ) mueve el cursor x filas hacia adelante o hacia atrás si -x.previous( x ) mueve el cursor una fila hacia atrás, equivalente a previous(-1).first() mueve el cursor a la primera fila, = beforeFirst() + next().last() mueve el cursor a la última fila, = afterLast() + previous().afterLast() mueve el cursor al final del ResultSet, aquí los métodos getXXX() y updateYYY() fallarán ya que estamos sobre una fila.beforeFirst() mueve el cursor al inicio del ResultSet y al igual que el afterLast() los métodos getXXX() y updateYYY() no se deben utilizar.Espero les sea de utilidad, de ser así cheka en
[x]útil abajo ;)
Compadre muchas gracias por el comentario, está bueno y esto lo estaba buscando desde hace mucho rato. solo que no sabia como usarlo.
ResponderEliminaral parecer en JPA el Framework lo utiliza internamente para realizar paginaciones.
saludos men.
cualquier cosa o duda que tengas puedes consultarlo conmigo al joseprox@gmail.com.
Pura vida!
Eliminar