Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Lain0x en 7 Diciembre 2011, 18:43 pm



Título: Java + NetBeans + Mysql. Problema con Insert.
Publicado por: Lain0x en 7 Diciembre 2011, 18:43 pm
Hola, he creado una tabla de nombre "alumno", con 5 columnas: id_alumno, Nombre, Edad, NotasFinales, Sexo.

Lo que trato de hacer es insertarle datos desde Netbeans.

El código usado es:

Código:
String sSQL = "insert into alumno values(?,?,?,?)";
 PreparedStatement pst = null;
        try {
            pst = (PreparedStatement) c.prepareStatement(sSQL);
            pst.setString(1,s1);
            pst.setString(2,s2);
            pst.setString(3,s3);
            pst.setString(4,s4);
           
           
            pst.executeUpdate(sSQL);
   
         

El id no lo ingreso, porque se supone que no hay necesidad de hacerlo. Pero me tira este error:

MySQLSyntaxErrorException: 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 '?,?,?,?)' at line 1



Título: Re: Java + NetBeans + Mysql. Problema con Insert.
Publicado por: Pablo Videla en 7 Diciembre 2011, 21:01 pm
Hola, he creado una tabla de nombre "alumno", con 5 columnas: id_alumno, Nombre, Edad, NotasFinales, Sexo.

Lo que trato de hacer es insertarle datos desde Netbeans.

El código usado es:

Código:
String sSQL = "insert into alumno values(?,?,?,?)";
 PreparedStatement pst = null;
        try {
            pst = (PreparedStatement) c.prepareStatement(sSQL);
            pst.setString(1,s1);
            pst.setString(2,s2);
            pst.setString(3,s3);
            pst.setString(4,s4);
           
           
            pst.executeUpdate(sSQL);
   
         

El id no lo ingreso, porque se supone que no hay necesidad de hacerlo. Pero me tira este error:

MySQLSyntaxErrorException: 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 '?,?,?,?)' at line 1



Si son varchar los tipos de datos van entre comillas

'?','?'... y asi sucesivamente


Título: Re: Java + NetBeans + Mysql. Problema con Insert.
Publicado por: Littlehorse en 9 Diciembre 2011, 00:55 am
Si son varchar los tipos de datos van entre comillas

'?','?'... y asi sucesivamente

Usando un PreparedStatement el problema de las ' ' no es relevante. Eso sucedería si estuviese armando la query directamente en el String.

Código
  1. INSERT INTO alumno(Nombre ,Edad, NotasFinales, Sexo) VALUES(?, ?, ?, ?);

Prueba con eso a ver que tal.

Saludos!


Título: Re: Java + NetBeans + Mysql. Problema con Insert.
Publicado por: klaine en 9 Diciembre 2011, 08:59 am
Usando un PreparedStatement el problema de las ' ' no es relevante. Eso sucedería si estuviese armando la query directamente en el String.

Código
  1. INSERT INTO alumno(Nombre ,Edad, NotasFinales, Sexo) VALUES(?, ?, ?, ?);

Prueba con eso a ver que tal.

Saludos!


O.o y de donde sacaste los nombres de las columnas?  :xD


Título: Re: Java + NetBeans + Mysql. Problema con Insert.
Publicado por: Pablo Videla en 9 Diciembre 2011, 14:01 pm
Usando un PreparedStatement el problema de las ' ' no es relevante. Eso sucedería si estuviese armando la query directamente en el String.

Código
  1. INSERT INTO alumno(Nombre ,Edad, NotasFinales, Sexo) VALUES(?, ?, ?, ?);

Prueba con eso a ver que tal.

Saludos!


Gracias por la aclaracion  :)


Título: Re: Java + NetBeans + Mysql. Problema con Insert.
Publicado por: Littlehorse en 9 Diciembre 2011, 16:46 pm
O.o y de donde sacaste los nombres de las columnas? :xD

Del primer post.

Hola, he creado una tabla de nombre "alumno", con 5 columnas: id_alumno, Nombre, Edad, NotasFinales, Sexo.

Saludos!


Título: Re: Java + NetBeans + Mysql. Problema con Insert.
Publicado por: yonybrondy en 29 Abril 2013, 05:11 am
No se si solucionastes tu problema pero espero ayudarte

String sSQL = "insert into alumno(Nombre, Edad, NotasFinales, Sexo) values(?,?,?,?)";
 PreparedStatement pst = null;
        try {
            pst = (PreparedStatement) c.prepareStatement(sSQL);
            pst.setString(1,s1);
            pst.setString(2,s2);
            pst.setString(3,s3);
            pst.setString(4,s4);
           
           
            pst.executeUpdate();