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

Número de registros + ResultSet

Estas en el tema de Número de registros + ResultSet en el foro de Java en Foros del Web. Hola amigos. Como ustedes saben la clase ResultSet en java no tiene ninguna propiedad, método etc que me permita saber cuantos registros o filas tiene. ...
  #1 (permalink)  
Antiguo 28/08/2008, 11:35
 
Fecha de Ingreso: marzo-2005
Mensajes: 309
Antigüedad: 19 años, 8 meses
Puntos: 1
Número de registros + ResultSet

Hola amigos.

Como ustedes saben la clase ResultSet en java no tiene ninguna propiedad, método etc que me permita saber cuantos registros o filas tiene.
Yo he creado una función para conocer cuantos registros tiene un ResultSet determinado, como sigue:

Código PHP:
private Int calcularRegistros(ResultSet rs) {
    
Int i 0;
    while (
rs.next()) {
        
i++;
    }
    return 
i;

De esta forma puedo saber cuantos registros tiene un ResultSet, esto está bien si el mismo no tiene muchas filas pero si tiene muchas
filas realmente no sería lo más eficiente.
De qué otra forma podría hacer para conocer cuantos registros tiene un ResultSet? Sé que también puedo hacer un Select Count() a la base
de datos pero esto tampoco me parece lo más eficiente ni lo mas elegante, ya que tendría que estar haciendo dos viajes a la base de datos
o bien ejecutando dos sentencias sobre en lugar de una sola.

Bueno me gustaría saber como lo manejan ustedes y que les parece el método que cree, está bien? poco eficiente?

Saludos...
  #2 (permalink)  
Antiguo 28/08/2008, 15:00
 
Fecha de Ingreso: febrero-2006
Mensajes: 35
Antigüedad: 18 años, 9 meses
Puntos: 0
Respuesta: Número de registros + ResultSet

Lee esto:
http://osdir.com/ml/java.javaspain/2.../msg00046.html
te dejo un ejemplo:
Statement stmt = connection.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR _READ_ONLY);

ResultSet resultSet = stmt.executeQuery("SELECT * FROM tutabla");

resultSet.last();
int rowCount = resultSet.getRow();
Espero que te sea util.
Saludos.
  #3 (permalink)  
Antiguo 28/08/2008, 17:50
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 10 meses
Puntos: 260
Sonrisa Respuesta: Número de registros + ResultSet

Hola,

Creo que el método más elegante y eficiente es utilizar stored procedures.

Tienen la capacidad de manejar parámetros de entrada y de salida, por lo que puedes hacer cuantas funciones necesites en la base de datos dentro de 1 solo stored procedure, y devolver esos valores a java como variables; al mismo tiempo de regresar varios ResultSet consecutivos.

Es decir, puedes obtener la cuenta del conjunto de registros (count(*)) en un parámetro de salida (out) y al mismo tiempo devolver uno o más conjunto de registros.

Revisa la documentación del DBMS y java.sql.*

Saludos.
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 22:15.