[RESOLVIDO] Erro ao fazer insert (Mysql) através do Netbeans
9 respostas
java
T
Thi_Ego
Boa tarde, estou encontrando certa dificuldade em inserir os dados através da minha aplicação java aplicação . O erro diz que a minha sintaxe SQL está errada, porém já testei a mesmo pelo CommandLine e deu certo, não sei mais onde procurar erro, se alguém puder ajudar.
Erro Netbeans: Erro: 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 ‘?,?,?,?,?,SELECT CURRENT_DATE(),?)’ at line 1
Faz o seguinte teste. Coloca um break point na linha abaixo. E como aparentemente você está usando NetBeans, basta você selecionar apenas o “stm” que ele vai mostrar a string sql que vai executar. Daí você copia e cola no console do mysql para ver o que está errado.
Obs: Na instrução que você executou no console, a instrução SELECT CURRENT_DATE() está entre parênteses, já na sua string sql não. Não seria esse o problema?
Nota: Você pode inserir uma data da seguinte maneira também.
ps.setDate(0, new java.sql.Date(new Date().getTime()));
T
Thi_Ego
Estou usando NetBeans sim Matheus. Não está entre parentes na String, por que já tentei passar pelo console (com e sem parentes), ou seja ela preenche no lugar do ‘?’, pensei que poderia estar fornenencendo alguma informação que prejudicasse a sintaxe SQL (ps.setDate, ps.setObject já tentei os dois também) pensando que talvez esse poderia ser o erro, resolvi colocar diretamente na String o próprio código SQL (SELECT CURRENT_DATE()), e no no comando coloquei como comentário (//), somente para executar testes.
Fiz os teste que você sugeriu, o comando SQL esta totalmente igual ao do console (no console da certo, porem na aplicação não):
To achando muito estranho também.
Erro: 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
Fazendo isto o PreparedStatement irá executar a instrução que você está passando no método executeUpdate(“Sua instrução”). E não há que você passou no momento da instanciação e parametrização.
Erro bobo que passa despercebido aos olhos.
T
Thi_Ego1 like
Realmente meu brother, a gente imagina tanta coisa complexa que esses erros simples acabam passando despercebidos. Muito grato pela sua atenção! Ajudou bastante!