2011-08-23 8 views
8
String query = "SELECT COUNT(*) AS count FROM table1"; 
ResultSet rs = DBConnection.executeQuery(query); 

El código anterior funciona bien; sin embargo:¿Cuál es el tipo de devolución de una consulta de "recuento" contra MySQL utilizando Java JDBC?

long count = rs.getLong("count"); 

Esto no funciona, arroja SQLException. ¿Cómo debo obtener datos del ResultSet?

+0

puede hacer Long.valueOf (rs.getString ("recuento"))? pero eso es extraño, esto debería funcionar. ¿Estás seguro de haber invocado rs.next() antes de long tmpLong = rs.getLong ("count"); ? – mkk

+1

¿Cuál es la excepción de SQL? –

Respuesta

5
long tmpLong = rs.getLong(1); 

debe trabajar por lo que puedo recordar.

EDIT:

por supuesto:

rs.next(); 
3

¿Ha llamado rs.next() antes de llamar rs.getLong("count");

+0

+1 por no olvidarlo como yo :) – ZenMaster

0

rs.getLong tiene 2 versiones rs.getLong(java.lang.String) y rs.getLong(int). Para el uso versión de cadena:

long count = rs.getLong("COUNT(*)"); 

Dado que el nombre de la columna es COUNT(*)

Sobre la base de la consulta utilizada:

SELECT COUNT(*) AS count FROM table1 
Cuestiones relacionadas