Olá pessoal
Estou ha uma semana tentando fazer uma aplicação conectar ao Banco de dados mysql e dá este erro.
com.mysql.jdbc.exceptions.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 ‘values (‘cunha’, ‘cunha’, 12)’ at line 1
Já conferi a sintaxe do SQL e usei dois conectores diferentes e nada.
Meu código é :
package Persistencia;
import java.sql.*;
public class Banco_dados {
private Connection conexao;
private PreparedStatement status;
private ResultSet Tabela ;
public Banco_dados(){
try{
Class.forName("com.mysql.jdbc.Driver");
conexao = DriverManager.getConnection("jdbc:mySQL://localhost/estoque","root","bologna");
}catch(Exception e){
System.out.println("Problemas em conectar.");
e.printStackTrace();
}
}
public void desconecta() throws SQLException{
try{
conexao.close();
}catch(Exception e){
System.out.println(“Problemas em fechar a conexão.”);
e.printStackTrace();
}
}
public void manipula_dados (int ID, String Nome_Produto, String Descricao, int Qtd, String Tipo_SQL) throws SQLException{
String SQL = new String();
if (Tipo_SQL.contentEquals("insere")){
SQL = "INSERT INTO estoque VALUES (Nome_Prod, Descricao, qtd) " +
"values ('" + Nome_Produto +"', '"+ Descricao +"', "+ Qtd + ");";
status = conexao.prepareStatement(SQL);
status.executeUpdate();
System.out.println(SQL);
}
else if(Tipo_SQL.contentEquals("deleta")){
SQL = "DELETE FROM estoque WHERE idestoque="+ ID +";";
status = conexao.prepareStatement(SQL);
status.executeUpdate();
System.out.println(SQL);
}
else if(Tipo_SQL.contentEquals("seleciona")){
SQL = "SELECT * FROM estoque " +
"WHERE Nome_Prod LIKE '" + Nome_Produto + "'% ;";
status = conexao.prepareStatement(SQL);
setTabela(status.executeQuery());
System.out.println(SQL);
}
else
System.out.println("Sem definição operação !!!");
}
public ResultSet getTabela() {
return Tabela;
}
public void setTabela(ResultSet Tabela) {
this.Tabela = Tabela;
}
}
É executado pela funcao:
private void JB_salvaActionPerformed(java.awt.event.ActionEvent evt) {
Estoque dado = new Estoque();
dado.setNome(JTF_produto.getText());
dado.setDescricao(JTA_descricao.getText());
dado.setQuant(Integer.parseInt(JTF_qtd.getText()));
try{
Banco_dados persistencia = new Banco_dados();
persistencia.manipula_dados(0, dado.getNome(), dado.getDescricao(),dado.getQuant(), “insere”);
persistencia.desconecta();
}catch(Exception e){
e.printStackTrace();
}
}
Gostaria muito de contar com a ajuda de vocês e já tentei pesquisar em vários lugares onde não achei nada que me ajudasse.
