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

contar registros en ResultSet

Estas en el tema de contar registros en ResultSet en el foro de Java en Foros del Web. Hola a todos: estoy buscando el método o variable que me debuelva el núermo de registros que contiene un ResultSet... sé que se puede hacer ...
  #1 (permalink)  
Antiguo 04/06/2004, 11:58
 
Fecha de Ingreso: agosto-2003
Ubicación: Piura
Mensajes: 238
Antigüedad: 21 años, 3 meses
Puntos: 0
contar registros en ResultSet

Hola a todos:
estoy buscando el método o variable que me debuelva el núermo de registros que contiene un ResultSet... sé que se puede hacer contando con el next pero quisiera saber un modo mas directo que me permita conocer si la consulta ha sido vaciía o si tiene uno o mas registros....
Disculpen mi ignorancia pero he estado buscando y no encuentro...
Agradecido de antemano y deseándles éxitos se despide
Paco
__________________
Un hombre inteligente, caminando, llega mucho mas rápido que un torpe en coche
  #2 (permalink)  
Antiguo 05/06/2004, 11:15
 
Fecha de Ingreso: marzo-2004
Mensajes: 550
Antigüedad: 20 años, 8 meses
Puntos: 7
Hola paco. Yo me encontré en tu situación hace poco y no encontre nada, pero descubrí una clase que te da datos sobre ese objeto resultSet obtenido en la consulta como numero de columnas devuelta en la consulta,etc pero por desgracia no aporta datos sobre el número de filas devueltas.
La clase se llama resultsetMetaData.

Espero que te sirva para algo.

Un saludo
  #3 (permalink)  
Antiguo 05/06/2004, 15:17
 
Fecha de Ingreso: agosto-2003
Ubicación: Piura
Mensajes: 238
Antigüedad: 21 años, 3 meses
Puntos: 0
muchas gracias amigo... justamente en el transcuros de las travesuras en el lenguaje java tambien llegué a encontrar la clase a la que haces mención... pero, como bien dices, aun no hay nada de conteo del número de columnas directamente, as que solo queda hacer un par de lineas mas para sacar dicho número...
Un gran saludo tamben para ti y para todos los javaadictos
Paco
__________________
Un hombre inteligente, caminando, llega mucho mas rápido que un torpe en coche
  #4 (permalink)  
Antiguo 08/06/2004, 10:24
 
Fecha de Ingreso: agosto-2001
Mensajes: 53
Antigüedad: 23 años, 2 meses
Puntos: 0
haz primero un count(*) de la select
  #5 (permalink)  
Antiguo 08/06/2004, 13:36
 
Fecha de Ingreso: agosto-2003
Ubicación: Piura
Mensajes: 238
Antigüedad: 21 años, 3 meses
Puntos: 0
muchas gracias... esa es la mejor solución que ya habia implementado, muchsa gracias ora vez por tu ayuda... cuento con ella y cuenta con la mia en lo sucesivo
__________________
Un hombre inteligente, caminando, llega mucho mas rápido que un torpe en coche
  #6 (permalink)  
Antiguo 05/01/2009, 00:24
 
Fecha de Ingreso: enero-2009
Mensajes: 1
Antigüedad: 15 años, 10 meses
Puntos: 0
De acuerdo Respuesta: contar registros en ResultSet

Hola!!

Necesitaba saber cuantos registros me devolvían las consultas a la base de datos en un ResultSet para no tener que hacer la consulta dos veces, después de leer varios foros y buscar en diferentes páginas y no encontrar una solución completa estuve experimentando algunas cosas, ahora que lo he logrado les quiero compartir la forma en que lo logre por si alguien llega a necesitarla.

Yo utilice Oracle express edition como SGBD y Java como lenguaje de desarrollo, las librerias que use fueron ojdbc14.jar y ojdbc14_g.jar por estar trabajando con oracle (se encuentran en la carperta donde queda instalado oracle), jstl.jar (se descarga desde http://jakarta.apache.org/site/downloads/downloads_taglibs-standard.cgi) y jsp-api.jar y servlet-api.jar (se encuentran en la carpeta donde queda intalado el apache tomcat).

El código es el siguiente:

import Connections.Conexion;
import java.sql.ResultSet;
import javax.servlet.jsp.jstl.sql.Result;
import javax.servlet.jsp.jstl.sql.ResultSupport;

public class CConsultas
{

public String[] consulta()
{

//Crea la conexión con la base de datos
Conexion con=new Conexion("oracle.jdbc.driver.OracleDriver","jdbc:o racle:thin:@127.0.0.1:1521:XE","Usuario","Contrase ña");

//Realiza la consulta y la almacena en un ResultSet
ResultSet resp=con.query1("select Nombre from Campo");

//Convierte el ResultSet en un Result
Result result = ResultSupport.toResult(resp);

//Devuelve el número de filas devueltas en la consulta
int rowcount = result.getRowCount( );

//Devuelve el resultado de la consulta y lo almacena en un vector de String
Object[][]resp3=result.getRowsByIndex();
String resp2[]=new String[rowcount];

for(int i=0;i<rowcount;i++)
resp2[i]=resp3[i][0].toString();

//Cierra la conexión
con.closeStatement();

//Retorna el resultado en un vector de String
return resp2;
}

}

Si el resultado devuelto no es un String sino otro tipo de dato como por ejemplo un double, en el for se hace la conversion, quedaria entonces:

double resp2[]=new double[rowcount];
for(int i=0;i<rowcount;i++)
resp2[i]=Double.valueOf(resp3[i][0].toString());

Espero les sirva de ayuda!!!
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 13:47.