Mysql
 sql >> Datenbank >  >> RDS >> Mysql

JDBC gibt eine MySQLSyntaxError-Ausnahme mit korrekter Anweisung zurück

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:Sie haben einen Fehler in Ihrer SQL-Syntax; Überprüfen Sie das Handbuch, das Ihrer MySQL-Serverversion entspricht, auf die richtige Syntax für die Verwendung in der Nähe von „? , ? , DEFAULT , NULL )' in Zeile 1

Diese Platzhalter ? sollte überhaupt nicht auf der MySQL-Seite erscheinen.

Schau mal hier,

sInserim.executeUpdate(sqlCommandInserim);

Sie übergeben den rohen SQL-String an executeUpdate() anstatt das PreparedStatement auszuführen mit den eingestellten Werten.

Ersetzen Sie es durch

sInserim.executeUpdate();

Der executeUpdate(sqlString) sollte auf Statement verwendet werden nur.

Nicht verwandt Zum konkreten Problem sollten Sie das PreparedStatement schließen im finally blockieren, um Ressourcenlecks im Falle von Ausnahmen zu verhindern. Gleiches gilt für Connection , Statement und ResultSet übrigens.