sql >> Base de Datos >  >> RDS >> Mysql

JDBC que devuelve la excepción MySQLSyntaxError con la declaración correcta

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:Tiene un error en su sintaxis SQL; Consulte el manual que corresponde a la versión de su servidor MySQL para conocer la sintaxis correcta para usar cerca de '? , ? , DEFAULT , NULL )' en la línea 1

Esos marcadores de posición ? no debería aparecer en el lado de MySQL en absoluto.

Mira aquí,

sInserim.executeUpdate(sqlCommandInserim);

está pasando la cadena SQL sin formato a executeUpdate() en lugar de ejecutar PreparedStatement con los valores establecidos.

Reemplázalo por

sInserim.executeUpdate();

El executeUpdate(sqlString) debe usarse en Statement solo.

No relacionado al problema concreto, debe cerrar el PreparedStatement en el finally bloquear para evitar la fuga de recursos en caso de excepciones. Lo mismo se aplica a Connection , Statement y ResultSet por cierto.