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

Obtener el numero de filas en una tabla

Estas en el tema de Obtener el numero de filas en una tabla en el foro de Java en Foros del Web. amigos estoy intentando obtener el número de filas y hasta el momento no lo puedo hacer, me gustaria que me ayuden. esta es mi cconsulta ...
  #1 (permalink)  
Antiguo 15/03/2012, 10:03
 
Fecha de Ingreso: agosto-2010
Mensajes: 126
Antigüedad: 13 años, 8 meses
Puntos: 9
Obtener el numero de filas en una tabla

amigos estoy intentando obtener el número de filas y hasta el momento no lo puedo hacer, me gustaria que me ayuden.

esta es mi cconsulta sql.

cons = "select count(*) from persona";
-------

código java

public int getCount(String cons) {
int cantidad = 0;
try {
Statement stmt = (Statement) conn.createStatement();
stmt.execute(cons);
ResultSet rs = stmt.getResultSet();
rs.last();
cantidad = rs.getRow();
return cantidad;
} catch (SQLException e) {
e.printStackTrace();
}
return cantidad;
}

espero me puedan ayudar. saludos
  #2 (permalink)  
Antiguo 15/03/2012, 14:55
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: Obtener el numero de filas en una tabla

Lo primero es que deberías dar más información sobre lo que estás obteniendo, no me funciona no sirve de nada.

Lo segundo es que supongo que copiaste la forma de obtenerlo de algún sitio, pero está incompleto o mezclas cosas.

getRow() te devuelve el número de fila, así que difícilmente te va a servir para contar los registros si haces un Count(*) porque solo te va a devolver una fila.

Las dos posibilidades que tienes

http://www.rgagnon.com/javadetails/java-0292.html
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 15/03/2012, 19:23
Avatar de afrika026  
Fecha de Ingreso: junio-2011
Mensajes: 85
Antigüedad: 12 años, 10 meses
Puntos: 19
Respuesta: Obtener el numero de filas en una tabla

El error esta en las lineas, ensima estas retornando cantidad dos veces, una dentro del try y otra fuera del mismo:

Statement stmt = (Statement) conn.createStatement();
stmt.execute(cons);
ResultSet rs = stmt.getResultSet();

La manera es esta:

Statement stmt = conn.createStatement();
ResultSet rs = stmt.execute(cons);

Quedando el codigo así:

public int getCount(String cons) {
int cantidad = 0;
try {
Statement stmt = conn.createStatement();
ResultSet rs = stmt.execute(cons);

rs.last();
cantidad = rs.getRow();
} catch (SQLException e) {
e.printStackTrace();
}
return cantidad;
}


NOTA: con respecto a la consulta cons = "select count(*) from persona"; No la pongas así, sino de esta manera:

cons = "select * from persona";

Última edición por afrika026; 15/03/2012 a las 19:36
  #4 (permalink)  
Antiguo 16/03/2012, 17:00
 
Fecha de Ingreso: marzo-2012
Ubicación: Madrid
Mensajes: 74
Antigüedad: 12 años, 1 mes
Puntos: 12
Respuesta: Obtener el numero de filas en una tabla

Discrepo de la opinion del forero anterior.

Aparte de si el codigo se puede hacer mejor o no, el error clave esta en la linea
Código:
cantidad = rs.getRow();
deberia ser
Código:
cantidad = rs.getInt(1);
La SQL esta bien como esta.

Etiquetas: filas, numero, string, tabla
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 12:01.