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

Problema con update

Estas en el tema de Problema con update en el foro de Java en Foros del Web. Hola a todos, espero que alguien pueda ayudarme, llevo dando vueltas a esto toda la tarde y no hay manera! Mi problema es que a ...
  #1 (permalink)  
Antiguo 01/04/2009, 14:03
 
Fecha de Ingreso: marzo-2009
Mensajes: 13
Antigüedad: 15 años, 1 mes
Puntos: 0
Problema con update



Hola a todos, espero que alguien pueda ayudarme, llevo dando vueltas a esto toda la tarde y no hay manera!

Mi problema es que a la hora de actualizar la BD no me hace nada, me salta una excepción diciendo que tengo un error en la sintaxis de la sentencia SQL pero no doy con ello. El código es el siguiente:

sentencia.execute("UPDATE usuarios " +
"SET password="+usuario.getPassword()+", " +
"nombre="+usuario.getNombre()+"," +
"apellidos="+usuario.getApellidos()+", " +
"fNacimiento="+sFecha+", " +
"calle="+usuario.getCalle()+", " +
"cp="+usuario.getCp()+", " +
"poblacion="+usuario.getPoblacion()+", " +
"provincia="+usuario.getProvincia()+", " +
"pais="+usuario.getPais()+", " +
"nifOcif="+usuario.getNifOcif()+", " +
"telefono="+usuario.getTelefono()+", " +
"movil="+usuario.getMovil()+", " +
"email="+usuario.getEmail()+", " +
"username="+usuario.getUsername()+", " +
"WHERE username='"+usuario.getUsername()+"'");

Si alguien da con ello se lo agradezco.
  #2 (permalink)  
Antiguo 01/04/2009, 14:08
Avatar de drac94  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 383
Antigüedad: 16 años
Puntos: 5
Respuesta: Problema con update

Hola

deberias imprimir la consulta ya con los valores y ejecutarla directamente en la BD y nos cuentas que pasa, tal vez es por un dato que no corresponde, te faltan algunas comillas, etc, el manejador de la BD te dara los detalles

Saludos
  #3 (permalink)  
Antiguo 01/04/2009, 17:10
Avatar de cptanalatriste  
Fecha de Ingreso: octubre-2008
Ubicación: Lima, Perú
Mensajes: 118
Antigüedad: 15 años, 6 meses
Puntos: 2
Respuesta: Problema con update

Uff!! Así trabajas el SQL?? Deberías usar iBAtis, o Hibernate, para evitar esos problemitas de depuración. En fin, el error está aquí:

"username="+usuario.getUsername()+", " + "WHERE username='"+usuario.getUsername()+"'"

Debes remover la coma después de usuario.getUsername(). Debería quedar así:

username="+usuario.getUsername() +
" WHERE username='"+usuario.getUsername()+"'"

Ojo con el espacio antes del "where".

Espero que ahora sí funcione.

Saludos,

Carlos G. Gavidia
SCJP, SCWCD, SCBCD
http://certified-es.blogspot.com/
  #4 (permalink)  
Antiguo 03/04/2009, 01:17
 
Fecha de Ingreso: marzo-2009
Mensajes: 13
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Problema con update

Joder, muchas gracias!! Como no lo habré visto! Puede ser eso si.
Voy a probarlo y te digo.

Thanks!
  #5 (permalink)  
Antiguo 04/04/2009, 12:16
 
Fecha de Ingreso: marzo-2009
Mensajes: 13
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Problema con update

Mi consulta ahora es esta:

sentencia.execute("UPDATE usuarios " +
"SET nifOcif="+usuario.getNifOcif()+" , " +
"nombre="+usuario.getNombre()+" , " +
"apellidos="+usuario.getApellidos()+" , " +
"calle="+usuario.getCalle()+" , " +
"cp="+usuario.getCp()+" , " +
"poblacion="+usuario.getPoblacion()+" , " +
"provincia="+usuario.getProvincia()+" , " +
"pais="+usuario.getPais()+" , " +
"telefono="+usuario.getTelefono()+" , " +
"movil="+usuario.getMovil()+" , " +
"email="+usuario.getEmail()+", " +
"username="+usuario.getUsername()+" , " +
"password="+usuario.getPassword()+" " +
"WHERE username='"+usuario.getUsername()+"'");

Y bueno, me sigue dando el mismo error. Me dice que tengo un error de sintaxis en la primera linea, osea que a parte del error que me detestaste (que era error fijo), tengo otro antes.
Otra cosa: me dices que debería imprimir la consulta y ejecutarla con los valores en mysql pero como lo hago? Es decir, hay alguna manera en myeclipse de coger la consulta en formato mysql, osea sin comillas?

Por favor, necesito ayuda
  #6 (permalink)  
Antiguo 04/04/2009, 14:32
Avatar de drac94  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 383
Antigüedad: 16 años
Puntos: 5
Respuesta: Problema con update

pues ponle un System.out.println(tu_consulta); despues de que le asignas los valores a las variables, o ponle un breakpoint
  #7 (permalink)  
Antiguo 05/04/2009, 06:52
 
Fecha de Ingreso: marzo-2009
Mensajes: 13
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Problema con update

Ah vale! gracias, voy a probar a ver que sale.
  #8 (permalink)  
Antiguo 05/04/2009, 10:43
 
Fecha de Ingreso: marzo-2009
Mensajes: 13
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Problema con update

Esto es lo que me saca el System.out.printl(mi consulta)
Cita:
UPDATE usuarios SET nifOcif=52486645J , nombre=Maria , apellidos=Velasco Prieto , calle=Brugueras, 13 , cp=28014 , poblacion=Alcala de Henares , provincia=Madrid , pais=Espa¤a , telefono=915684723 , movil=625148972 , [email protected], username=maria , password=airam WHERE username='maria'
Lo ejecuto en MySql poniendo ; al final y me dice el siguiente error:

Cita:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'Priet
o , calle=Brugueras, 13 , cp=28014 , poblacion=Alcala de Henares , provinci' at
line 1
Lo mismo que me decía el Myeclipse, probé a quitar el numero de la calle por si me daba errores por la coma, tenía una fecha y la quite por si acaso... pero nada de nada. A ver si tu ves algo raro porque yo ya no sé que probar.

Gracias
  #9 (permalink)  
Antiguo 05/04/2009, 18:02
Avatar de drac94  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 383
Antigüedad: 16 años
Puntos: 5
Respuesta: Problema con update

Hola

Te faltan todas las comillas en los campos que son string, deberia parecerse a algo como esto, suponiendo que todos los campos son string

UPDATE usuarios SET nifOcif='52486645J' , nombre='Maria' , apellidos='Velasco Prieto' , calle='Brugueras, 13' , cp='28014' , poblacion='Alcala de Henares' , provincia='Madrid' , pais='Espa¤a' , telefono='915684723' , movil='625148972' , email='[email protected]', username='maria' , password='airam' WHERE username='maria'

y me imagino que "Brugueras, 13", pertenece al campo calle, si no pues tambien es otro error

Saludos
  #10 (permalink)  
Antiguo 06/04/2009, 01:07
 
Fecha de Ingreso: marzo-2009
Mensajes: 13
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Problema con update

Ok, Brugueras, 13 es la calle, pero lo que dices puede ser mi error.

Muchas gracias por tu tiempo y perdón por mis preguntas tontas.

Un saludo
  #11 (permalink)  
Antiguo 06/04/2009, 01:48
 
Fecha de Ingreso: marzo-2009
Mensajes: 13
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Problema con update

Joder! Muchas gracias! Era eso. Problema solucionado

Te debo una
  #12 (permalink)  
Antiguo 06/04/2009, 07:18
Avatar de drac94  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 383
Antigüedad: 16 años
Puntos: 5
Respuesta: Problema con update

De nada, para eso estamos aqui para ayudar y ser ayudados

Saludos
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 08:40.