Mysql
 sql >> Database >  >> RDS >> Mysql

JDBC restituisce MySQLSyntaxError Exception con l'istruzione corretta

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:si è verificato un errore nella sintassi SQL; controlla il manuale che corrisponde alla versione del tuo server MySQL per la sintassi corretta da usare vicino a '? , ? , DEFAULT , NULL )' alla riga 1

Quei segnaposto ? non dovrebbe apparire affatto nel lato MySQL.

Guarda qui,

sInserim.executeUpdate(sqlCommandInserim);

stai passando la stringa SQL grezza in executeUpdate() invece di eseguire PreparedStatement con i valori impostati.

Sostituiscilo con

sInserim.executeUpdate();

Il executeUpdate(sqlString) dovrebbe essere utilizzato su Statement solo.

Non correlato al problema concreto, dovresti chiudere PreparedStatement nel finally blocco per evitare perdite di risorse in caso di eccezioni. Lo stesso vale per Connection , Statement e ResultSet a proposito.