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

Base de datos - Crear registro con autonumerico

Estas en el tema de Base de datos - Crear registro con autonumerico en el foro de Java en Foros del Web. Mi problema es qeu estoy intentando crear una tabla que me almacene unos usuarios, con un campo autonumerico, y el codigo que he creado es ...
  #1 (permalink)  
Antiguo 28/03/2007, 09:18
 
Fecha de Ingreso: febrero-2006
Mensajes: 39
Antigüedad: 18 años, 3 meses
Puntos: 1
Base de datos - Crear registro con autonumerico

Mi problema es qeu estoy intentando crear una tabla que me almacene unos usuarios, con un campo autonumerico, y el codigo que he creado es el siguiente:

Código:
	

String nombre = request.getParameter("nombre");
	String apellidos = request.getParameter("apellidos");
	String email = request.getParameter("email");
             String passwd = request.getParameter("passwd");
	String movil = request.getParameter("movil");
	
	res = stmt.executeQuery("SELECT * from favbuser WHERE nombre=" + nombre + " AND apellidos=" + apellidos +
	" AND email=" + email + " AND passwd=" + passwd);
        if (!res.next())
	{
		Statement stmt2 = conn.createStatement();

               	stmt2.executeUpdate("INSERT INTO 'favbuser' ('iduser','nombre','apellidos','email','passwd','movil') VALUES ('',' " +
		nombre + " ',' " + apellidos + " ',' " + apellidos + " ',' " + passwd + " ',' " + movil + " ') ");

                out.println ("<div align='center'>");
               	out.println ("<table align='center' width='700' border=1 bordercolor='#016300' bgcolor=#DEDEDD><tr align='center'><td><table><tr><td style='font-family:Arial;'>");

       		out.println ("<tr><td>El usuario se ha registrado</td></tr>");
                out.println ("</td></tr><br>");
		out.println ("</table><br></td></tr></table>");		
         }
	 else
	 {
		out.println ("<div align='center'>");
               	out.println ("<table align='center' width='700' border=1 bordercolor='#016300' bgcolor=#DEDEDD><tr align='center'><td><table><tr><td style='font-family:Arial;'>");
	        out.println ("<tr><td><br></td></tr>");
                out.println ("<tr><td>El nombre o Email coinciden con un usuario registrado</td></tr>");
                out.println ("</td></tr><br>");
		out.println ("</table><br></td></tr></table>");							
	}

AQUI VIENE MAS CODIGO....PERO EL FALLO ME LO DA EN EL TROZO ANTERIOR
y el fallo que me da el SQL es el siguiente:

Código:
ERROR : java.sql.SQLException: Syntax error or access violation message from server: "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 '@klfg.com AND passwd=1' at line 1"
Estoy trabajando en opencms (JSP), y la verdad es qeu en esta parte de bases de datos estoy un poquillo frito...por favor, cualquier sugerencia me vendria bien para empezar...

Muchas gracias de antemano
  #2 (permalink)  
Antiguo 28/03/2007, 09:51
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 7 meses
Puntos: 51
Re: Base de datos - Crear registro con autonumerico

El caracter '@' seguramente es especial y no debes poder ponerlo así por las buenas. O aprendes como "escaparlo" con sintaxis MySQL o, lo más facil, utilizas un PreparedStatement que ya se encargara de hacerlo por ti.

En este ejemplo puedes verlo, en la parte de "sentencias precompiladas":
http://ricardofutami.wordpress.com/2...con-jdbc-java/

S!
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 20:36.