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

Problema con sentencias que contienen count, max, sum...

Estas en el tema de Problema con sentencias que contienen count, max, sum... en el foro de Java en Foros del Web. Muy buenas gente, es mi primera participacion en este foro y quisiera haceros una pregunta que me esta llevando por el camino de la amargura. ...
  #1 (permalink)  
Antiguo 24/04/2009, 06:24
 
Fecha de Ingreso: abril-2009
Mensajes: 2
Antigüedad: 15 años
Puntos: 0
Problema con sentencias que contienen count, max, sum...

Muy buenas gente, es mi primera participacion en este foro y quisiera haceros una pregunta que me esta llevando por el camino de la amargura. El problema es el siguiente:

Desde Java estoy ejecutando sentencias SQL para acceder a la base de datos mediante Connector J me conecto a esta y el problema es que con las sentencias del tipo :

Select nombre from empleados;

No ocurre ningun problema y devuelve el resultado perfectamente, pero cuando hago una sentencia sql como la siguiente

Select count(*) from empleados;

La linea exacta donde me da la excepcion es la siguiente: o_rs = o_st.executeQuery(psSentencia);

Me salta una excepcion SQLException. No consigo encontrar por ninguna solucion a este problema. Comentar que tambien me ocurre cuando pongo SUM o MAX. Si alguno es tan amable de aclararme que puede ser el problema se lo agradeceria. Tambien comentar que si ejecuto las sentencias SQL que contienen count o sum o max en el administrador de la base de datos funciona perfectamente asi que no se debe a que las sentencias esten mal.

Si necesitais algun otro dato pedirlo y lo pondre lo antes posible.

Atentamente, un saludo.

Guzur.

Última edición por guzur; 24/04/2009 a las 06:38
  #2 (permalink)  
Antiguo 24/04/2009, 06:52
Avatar de SileBird  
Fecha de Ingreso: abril-2009
Ubicación: http://silekun.elbruto.es
Mensajes: 75
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con sentencias que contienen count, max, sum...

Si, lo bueno es que pongas el código donde veas tu que falle y si puede ser el nombre del error entero para ayudarte.
  #3 (permalink)  
Antiguo 26/04/2009, 02:59
 
Fecha de Ingreso: abril-2009
Mensajes: 2
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con sentencias que contienen count, max, sum...

Bueno a ver como me habeis indicado aqui os pego el codigo:

public int eginExecuteQuery(String psSentencia) throws Exception {
int iFilas= 0;

try {
o_rs = o_st.executeQuery(psSentencia); // Aui salta la excepcion SQLException
o_rs.last();
iFilas= o_rs.getRow();
o_rs.beforeFirst();
} catch (SQLException ex) {
throw new Exception("SQLException", "DB_Sentencia.eginExecuteQuery(): Sentencia: " + psSentencia, "", ex);
} catch (Exception ex) {
throw new Exception("Exception", "DB_Sentencia.eginExecuteQuery(): Sentencia: " + psSentencia, "", ex);
} // try

return iFilas;
} // eginExecuteQuery()

Comentar que antes de que salte esta excepcion hago unas 5 o 6 consultas utilizando este mismo metodo sin ningun problema pero claro estas consultas no contienen un count o un max que si el caso de la vez que me da el error. Como ya he indicado antes he probado la sentencia sql con el count que me da error y funciona perfectamente y devuelve lo que tiene que dar. La sentencia count es la siguiente:

SELECT count(*) FROM ges_esk.esk_alumno_2009 WHERE alumno_id = 3 AND suplente_num = 0 AND grupo_id IN ( 1 );

Por supuesto he hecho mas consultas a esa tabla y tampoco ningun problema con ella. La excepcion que me da es la siguiente:

(java.sql.SQLException) java.sql.SQLException: Can not create updatable result sets when there is no currently selected database and MySQL server version < 4.1.

No entiendo muy bien lo que me quiere decir con esto, ya que mi base de datos es una version posterior a la 4.1 segun el MySQL Administrator tengo concretamente la version 5.0.67 del servidor y la 5.1.11 del cliente y luego la version de connector J es la 5.1.6. Espero que con estos datos que os he dado os sirva.

Un saludos,

Guzur.
  #4 (permalink)  
Antiguo 26/04/2009, 11:13
Avatar de dackiller  
Fecha de Ingreso: septiembre-2003
Ubicación: The Matrix
Mensajes: 341
Antigüedad: 20 años, 7 meses
Puntos: 4
Respuesta: Problema con sentencias que contienen count, max, sum...

Hay lo que está diciendo es que no haz seleccionado la Base de Datos que quieres consultar, seria bueno que coloques el String de conexion a ver si tienes algun error.

¿De casualidad cambiastes el nombre de la base de datos ?

deberia ser algo como:
Código PHP:
jdbc:mysql://servidor/Database?user=root&password=xxx 
Yo en tu caso revisaria si la conexión así, para descartar...

Código PHP:
if(Conex == null){
System.out.println("Conexion null, no se puede realizar la consulta");

__________________
--
NOTA: Si haz conseguido la solución a tu problema, por favor edita el titulo del tema colocando el prefijo [SOLUCIONADO], para que otros usuarios puedan encontrar soluciones más rápido.
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 09:27.