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

Ayudar Como ingresar datos a mysql desde JSP

Estas en el tema de Ayudar Como ingresar datos a mysql desde JSP en el foro de Java en Foros del Web. saludos amigos del foro, recurro a ustedes por una cuestion, ando haciendo un proyecto de una pagina web en el cual tengo que poner lo ...
  #1 (permalink)  
Antiguo 20/06/2013, 07:26
 
Fecha de Ingreso: abril-2013
Mensajes: 5
Antigüedad: 9 años, 2 meses
Puntos: 0
Información Ayudar Como ingresar datos a mysql desde JSP

saludos amigos del foro, recurro a ustedes por una cuestion, ando haciendo un proyecto de una pagina web en el cual tengo que poner lo que es el "Login" y Registrar Usuarios, la cuestión es que registrar usuarios no se como hacerle, tengo un bosquejo hecho pero no me ingresa los datos a mi base de datos me sale este error: "com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxEr rorE xception: 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 'ejemplo)' at line 1 " mi base de datos solo tiene dos tablas: una tabla llamada persona con 3 campos id_persona que es auto increment, otro campo llamado Apellidos y Nombres, mi otra tabla se llama usuario con estos campos: idusuario (auto increment), usuario, contrasena, correo y persona_idpersona , y aqui les dejo el codigo java

Código:
<%@ page import="java.io.*,java.util.*,java.net.*,java.sql.*" %>

<%

if(request.getParameter("GRABAR") != null)

{

// objetos de enlace

Connection canal = null;

ResultSet tabla= null;

Statement instruccion=null;

String strcon = "jdbc:mysql://localhost/db_session?user=root&password=1234";

// abriendo canal o enlace en su propio try-catch

try {

Class.forName("com.mysql.jdbc.Driver").newInstance();

canal=DriverManager.getConnection(strcon);

instruccion = canal.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,

ResultSet.CONCUR_UPDATABLE);

} catch(java.lang.ClassNotFoundException e){} catch(SQLException e) {};

//cargando los campos a grabar

// excepto clave porque en mysql es de tipo auto-increment

String Apellidos = request.getParameter("APELLIDOS");
String Nombres = request.getParameter("NOMBRES");

String usuario = request.getParameter("USUARIO");
String contrasena = request.getParameter("CONTRASENIA");
String correo = request.getParameter("CORREO");

// insert into tabla(nombre,edad,estatura) values('juan', 15, 1.88);

String q="insert into persona(Apellidos,Nombres) values(\"" +Apellidos+"\","+Nombres+"); ";
String z="insert into usuario(usuario,contrasena,correo) values(\"" +usuario+"\","+contrasena+"\","+correo+"); ";


try {

// agregando renglon (insert)

int n=instruccion.executeUpdate(q);
int w=instruccion.executeUpdate(z);

//avisando que se hizo la instruccion

out.println("REGISTRO INSERTADO");

} catch(SQLException e) {out.println(e);};

try{

// tabla.close();

instruccion.close();

canal.close();

} catch(SQLException e) {out.println(e);};

};

// construyendo forma dinamica

out.println("<FORM ACTION=index.jsp METHOD=post>");

out.println("APELLIDOS :<INPUT TYPE=TEXT NAME=APELLIDOS><BR>");

out.println("NOMBRES :<INPUT TYPE=TEXT NAME=NOMBRES><BR>");

out.println("USUARIO<INPUT TYPE=TEXT NAME=USUARIO><BR>");

out.println("CONTRASEÑA<INPUT TYPE=PASSWORD NAME=CONTRASENA><BR>");

out.println("CORREO<INPUT TYPE=TEXT NAME=CORREO><BR>");

out.println("<INPUT TYPE=SUBMIT NAME=GRABAR VALUE=INSERTAR ><BR>");

out.println("</FORM>");

%>
no se que podria ser, mi conexion esta bien,
  #2 (permalink)  
Antiguo 21/06/2013, 00:49
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 17 años, 9 meses
Puntos: 454
Respuesta: Ayudar Como ingresar datos a mysql desde JSP

¿Has leído el error?

You have an error in your SQL syntax

significa que tu SQL está mal. Las comillas para textos en sql son ' y no estas ". Para "Nombres" no has puesto comillas.

En cualquier caso, no sí si está protestando por esa SQL, ya que dice que "use near 'ejemplo)' at line 1" y no veo ningún "ejemplo)" en el insert, salvo que el contenido de Nombres sea "ejemplo".

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 21/06/2013, 07:38
 
Fecha de Ingreso: abril-2013
Mensajes: 5
Antigüedad: 9 años, 2 meses
Puntos: 0
Respuesta: Ayudar Como ingresar datos a mysql desde JSP

tenias razon era la sintaxis de la parte de ingresar los datos, ya quedo pero ahora me sale otro error : Hubo un error. Los Datos no se pudieron insertar. Verifique
error:
java.sql.SQLException: Column count doesn't match value count at row 1


creo que este error me sale porque en mi tabla la primera columna es id_persona pero es auto-incrementable, por eso no metí ningún dato desde el jsp para que se incremente solo pero me sale ese error no se que debo hacer para que solo se auto-incremente, a fuerza tengo que poner el campo id_persona en el jsp?
  #4 (permalink)  
Antiguo 21/06/2013, 10:00
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 17 años, 9 meses
Puntos: 454
Respuesta: Ayudar Como ingresar datos a mysql desde JSP

Nuevamente, es problema de sintaxis, posiblemente tienes algo como esto

inesrt into tabla (columna1,columna2,columna3) values (valor1,valor2,valor3)

en el que has puesto más nombres de columnas que valores o más valores que columnas. Si no vas a poner valor en id_persona, no lo menciones en el lado de los nombres de columnas.

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Etiquetas: java-mysql, jsp, jsp-servlets, mysql+db, mysql-error
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 16:49.