Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Query funciona bien en la consola de Mysql, pero da error ejecutada desde Java.

Estas en el tema de Query funciona bien en la consola de Mysql, pero da error ejecutada desde Java. en el foro de Mysql en Foros del Web. Tengo la siguiente query: Cita: SELECT cantidad - vendidas FROM compras WHERE idusuario='13' and idaccion='12' La tabla existe y los campos mencionados también. Si ejecuto ...
  #1 (permalink)  
Antiguo 24/07/2009, 03:30
Avatar de Sandunguero  
Fecha de Ingreso: junio-2006
Mensajes: 56
Antigüedad: 17 años, 9 meses
Puntos: 0
Query funciona bien en la consola de Mysql, pero da error ejecutada desde Java.

Tengo la siguiente query:

Cita:
SELECT cantidad - vendidas FROM compras WHERE idusuario='13' and idaccion='12'

La tabla existe y los campos mencionados también.

Si ejecuto esa query desde el MySql Command Line Client, funciona perfectamente y devuelve los resultados esperados.

En cambio!... si ejecuto esa misma query desde un programa en Java que estoy haciendo (y que es lo que realmente necesito), obtengo un error que dice así:

Cita:
SQL Exception: java.sql.SQLException: Column 'cantidad' not found.

No creo que sea problema de las instrucciones de java previas para preparar y ejecutar la query ya que tengo muchas otras queries que funcionan correctamente .

¿Sabéis por qué me dice que no encuentra la columna 'Cantidad' desde el programa Java, mientras que ejecutada desde consola funciona perfecta?

Gracias!
  #2 (permalink)  
Antiguo 24/07/2009, 03:41
Avatar de Sandunguero  
Fecha de Ingreso: junio-2006
Mensajes: 56
Antigüedad: 17 años, 9 meses
Puntos: 0
Respuesta: Query funciona bien en la consola de Mysql, pero da error ejecutada desde

Añado que, si modifico ligeramente la query anterior quitando la resta y dejándola así

Cita:
SELECT cantidad FROM compras WHERE idusuario='13' and idaccion='12'
funciona perfectamente.

Por lo tanto parece que el problema surge con la resta del valor de esas 2 columnas (cantidad - vendidas), pero sigo sin saber cómo solucionarlo

Última edición por Sandunguero; 24/07/2009 a las 05:14
  #3 (permalink)  
Antiguo 24/07/2009, 05:09
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Query funciona bien en la consola de Mysql, pero da error ejecutada desde

¿La columna se llama "catidad" o "cantidad"? En los dos ejemplos estás poniendo nombres distintos....
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 24/07/2009, 05:14
Avatar de Sandunguero  
Fecha de Ingreso: junio-2006
Mensajes: 56
Antigüedad: 17 años, 9 meses
Puntos: 0
Respuesta: Query funciona bien en la consola de Mysql, pero da error ejecutada desde

Hola gnzsoloyo,

en realidad en mi código se llama "catidad", por un error que tuve al crear al la base de datos y por ser muy huevon como para arreglarlo, asi que todo mi código hace referencia a esa columna por ese nombre: "catidad". Para este post, quise evitar confusiones e intenté cambiar todas las referencias a "cantidad" para dejarlo más claro, pero ya veo que me dejé algunas sin cambiar.

Resumiendo, que eso que mencionas no es el problema, porque en mi código lo llamo todo igual.

Pero gracias igualmente!



Edito: he modificado el segundo post añadiendo la "n" para no confundir a otros foreros. Gracias gnzsolo!


Sigo escuchando ideas!
  #5 (permalink)  
Antiguo 24/07/2009, 06:28
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Query funciona bien en la consola de Mysql, pero da error ejecutada desde

El mensaje no te deja demasiadas alternativas. Esto:
Cita:
SQL Exception: java.sql.SQLException: Column 'cantidad' not found.
solamente significa una cosa: esa columna no existe en la tabla invocada.
El tema pasaría entonces por verificar que la sintaxis y los nombres de campos en la aplicación de java, estén bien escritos y los campos existan.
Fuera de eso, no hay otra razón para ese error.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 24/07/2009, 14:14
Avatar de Sandunguero  
Fecha de Ingreso: junio-2006
Mensajes: 56
Antigüedad: 17 años, 9 meses
Puntos: 0
Respuesta: Query funciona bien en la consola de Mysql, pero da error ejecutada desde

Hola de nuevo gnzsolo!

Si ejecuto la misma query, pero sin restar a "catidad" "compras", funciona perfectamente tanto en Java como en la consola de Mysql.

O sea,
Cita:
SELECT catidad FROM compras WHERE idusuario='13' and idaccion='12'
funciona bien en Java y en Mysql.


Pero,
Cita:
SELECT catidad - compras FROM compras WHERE idusuario='13' and idaccion='12'
da el error antes mostrado solamente en Java.



Revisaré por enésima vez el código java, y ya contaré, pero no sé...


Gracias anyway!
  #7 (permalink)  
Antiguo 24/07/2009, 14:39
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Query funciona bien en la consola de Mysql, pero da error ejecutada desde

SELECT (catidad - compras)resta FROM compras WHERE idusuario='13' and idaccion='12'

prueba así.

Si sigues con error, debe ser problema de java y no de mysql.

Un saludo
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
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:05.