Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

JDBC retornando a exceção MySQLSyntaxError com instrução correta


com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:Você tem um erro em sua sintaxe SQL; verifique o manual que corresponde à versão do seu servidor MySQL para a sintaxe correta a ser usada perto de '? , ? , DEFAULT , NULL )' na linha 1

Esses espaços reservados ? não deve aparecer no lado do MySQL.

Olhe aqui,
sInserim.executeUpdate(sqlCommandInserim);

você está passando a string SQL bruta para executeUpdate() em vez de executar o PreparedStatement com os valores definidos.

Substitua-o por
sInserim.executeUpdate();

O executeUpdate(sqlString) deve ser usado em Statement só.

Não relacionado para o problema concreto, você deve fechar o PreparedStatement no finally block para evitar vazamento de recursos em caso de exceções. O mesmo se aplica a Connection , Statement e ResultSet a propósito.