| |||
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. |
| ||||
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/ |
| |||
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 |
| |||
Respuesta: Problema con update Esto es lo que me saca el System.out.printl(mi consulta) Cita: Lo ejecuto en MySql poniendo ; al final y me dice el siguiente error: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' Cita: 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.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 Gracias |
| ||||
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 |