Sentencia sql
Publicado por isra (7 intervenciones) el 16/04/2007 18:47:28
Estoy trabajando con java (en eclipse) y mysql mediante el conector JDBC y en un momento necesito insertar unos datos obtenidos por varias cajas de textos y me da el siguiente error en la sentencia 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 '?,?,?,?,?,?,?,?,?,?)' at line 1"
SQLState : 42000
VendorError : 1064
he revisado el codigo y todos los nombres estan bien puestos a ver is alguien puede decirme que esta mal. Aqui dejo el codigo.
Gracias por adelantado
Codigo:
String ins=new String();
if(!comprobarCamposVacios()){
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try{
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/sanagustin","root","") ;
Statement s=conn.createStatement();
DatabaseMetaData meta = conn.getMetaData ( ) ;
ins="insert into proveedor (CIF, NOMBRE, DIRECCION, TELEFONO, Fax, Correo, pagWeb, LOCALIDAD,PROVINCIA,Concepto) values (?,?,?,?,?,?,?,?,?,?)";
PreparedStatement pstmt = conn.prepareStatement(ins);//cons) ;
pstmt.setString(1,campoCif.getText());
pstmt.setString(2,campoNombre.getText()) ;
pstmt.setString(3,campoDireccion.getText());
pstmt.setString(4,campoTlfno.getText());
pstmt.setString(5,campoFax.getText());
pstmt.setString(6,campoCorreo.getText());
pstmt.setString(7,campoWeb.getText());
pstmt.setString(8,campoLocalidad.getText());
pstmt.setString(9,campoProvincia.getText());
pstmt.setString(10,campoConcepto.getText());
pstmt.executeUpdate(ins);//cons);
conn.close() ;
} catch ( SQLException ex ) {
System.out.println( "SQLException : " + ex.getMessage ( ) ) ;
System.out.println( "SQLState : " + ex.getSQLState ( ) ) ;
System.out.println( "VendorError : " + ex . getErrorCode ( ) ) ;
}
}
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 '?,?,?,?,?,?,?,?,?,?)' at line 1"
SQLState : 42000
VendorError : 1064
he revisado el codigo y todos los nombres estan bien puestos a ver is alguien puede decirme que esta mal. Aqui dejo el codigo.
Gracias por adelantado
Codigo:
String ins=new String();
if(!comprobarCamposVacios()){
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try{
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/sanagustin","root","") ;
Statement s=conn.createStatement();
DatabaseMetaData meta = conn.getMetaData ( ) ;
ins="insert into proveedor (CIF, NOMBRE, DIRECCION, TELEFONO, Fax, Correo, pagWeb, LOCALIDAD,PROVINCIA,Concepto) values (?,?,?,?,?,?,?,?,?,?)";
PreparedStatement pstmt = conn.prepareStatement(ins);//cons) ;
pstmt.setString(1,campoCif.getText());
pstmt.setString(2,campoNombre.getText()) ;
pstmt.setString(3,campoDireccion.getText());
pstmt.setString(4,campoTlfno.getText());
pstmt.setString(5,campoFax.getText());
pstmt.setString(6,campoCorreo.getText());
pstmt.setString(7,campoWeb.getText());
pstmt.setString(8,campoLocalidad.getText());
pstmt.setString(9,campoProvincia.getText());
pstmt.setString(10,campoConcepto.getText());
pstmt.executeUpdate(ins);//cons);
conn.close() ;
} catch ( SQLException ex ) {
System.out.println( "SQLException : " + ex.getMessage ( ) ) ;
System.out.println( "SQLState : " + ex.getSQLState ( ) ) ;
System.out.println( "VendorError : " + ex . getErrorCode ( ) ) ;
}
}
Valora esta pregunta


0