Preciso de uma força, não estou conseguindo usar corretamente o parametro ? no prepareStatement na inserção de dados. Sei que meu erro é simples, já olhei na apostila da Caelum e aparentemente está tudo certo. Atualizei o driver mysql.java.5.1.17 e ainda ocorre o mesmo erro. Já fiz rodar de diversas maneiras, porém quando uso o parametro “?” na string sql ocorre o erro abaixo:
exception in thread “main” com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 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
Está correto. Você tem certeza de que o nome da tabela e o nome dos campos estão corretos? Experimente trocar o dado.executeUpdate(sql) por dado.execute().
Estou fazendo correto e já troquei o execute.query por execute…e nada…tenho certeza da tabela pois já inseri os dados sem o parametro ? com o mesmo código…
O que mais me estranha que se eu tirar a linha de cometário e fazer pela linha de comentário funciona o banco
a tabela esta correta e o nome das colunas tb
o erro:
Exception in thread “main” com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 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
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
at com.mysql.jdbc.Util.getInstance(Util.java:384)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3566)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3498)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2113)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2562)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2512)
at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:781)
at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:624)
at Operacao.adiciona(Operacao.java:29)
at BancoOperacao.main(BancoOperacao.java:17)