Então pessoal o problema é o seguinte criei uma agenda que acessa um banco de dados em mysql mas quando vou testala a classe que insere e atualiza os dados no banco acusa um
erro no mysql e não consegui identificar o erro alguém pode me dar uma luz? a mensagem de erro que aparece é: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
segue a classe que atualiza o dados no banco
package daoo;
import java.sql.*;
import java.util.Vector;
import javax.swing.JOptionPane;
import agenda.Dados;
import dao.conexao.conexao;
public class daooDados {
// Configura essas variáveis de acordo com o seu banco
private final String URL = "jdbc:mysql://localhost/crud",
NOME = "root", SENHA = "diego";
private Connection con;
private Statement comando;
public void apagar(String nome) {
conectar();
try {
comando
.executeUpdate("DELETE FROM pessoa WHERE nome = '" + nome
+ "';");
} catch (SQLException e) {
imprimeErro("Erro ao apagar pessoas", e.getMessage());
} finally {
fechar();
}
}
public Vector<Dados> buscarTodos() {
conectar();
Vector<Dados> resultados = new Vector<Dados>();
ResultSet rs;
try {
rs = comando.executeQuery("SELECT * FROM Dados");
while (rs.next()) {
Dados temp = new Dados();
// pega todos os atributos da pessoa
temp.setnome(rs.getString("nome"));
temp.setsexo(rs.getString("sexo"));
temp.setidade(rs.getInt("idade"));
temp.setendereco(rs.getString("endereco"));
temp.setcidade(rs.getString("cidade"));
temp.setestado(rs.getString("estado"));
temp.settelefone(rs.getString("telefone"));
resultados.add(temp);
}
return resultados;
} catch (SQLException e) {
imprimeErro("Erro ao buscar pessoas", e.getMessage());
return null;
}
}
public void atualizar(Dados dados) {
conectar();
String com = "UPDATE pessoa SET nome = '" + dados.getnome()
+ "', idade =" + dados.getnome() + ", cidade = '"
+ dados.getcidade() + "', estado ='" + dados.getestado()
+ "' WHERE nome = '" + dados.getnome() + "';";
System.out.println("Atualizada!");
try {
comando.executeUpdate(com);
} catch (SQLException e) {
e.printStackTrace();
} finally {
fechar();
}
}
public Vector<Dados> buscar(String nome) {
conectar();
Vector<Dados> resultados = new Vector<Dados>();
ResultSet rs;
try {
rs = comando.executeQuery("SELECT * FROM pessoa WHERE nome LIKE '"
+ nome + "%';");
while (rs.next()) {
Dados temp = new Dados();
// pega todos os atributos da pessoa
temp.setnome(rs.getString("nome"));
temp.setsexo(rs.getString("sexo"));
temp.setidade(rs.getInt("idade"));
temp.setendereco(rs.getString("endereco"));
temp.setcidade(rs.getString("cidade"));
temp.setestado(rs.getString("estado"));
temp.settelefone(rs.getString("telefone"));
resultados.add(temp);
}
return resultados;
} catch (SQLException e) {
imprimeErro("Erro ao buscar pessoa", e.getMessage());
return null;
}
}
public void insere(Dados dados){
conectar();
try {
comando.executeUpdate("INSERT INTO Pessoa VALUES('"
+ dados.getnome() + "','" + dados.getsexo() + "','"
+ dados.getidade() + "','" + dados.getendereco()+ "','" + dados.getcidade() + "','"
+ dados.getestado() + "','" + dados.gettelefone()+ "','") ;
System.out.println("Inserida!");
} catch (SQLException e) {
imprimeErro("Erro ao inserir Pessoa", e.getMessage());
} finally {
fechar();
}
}
private void conectar() {
try {
con = conexao.conexao(URL, NOME, SENHA, conexao.MYSQL);
comando = con.createStatement();
System.out.println("Conectado!");
} catch (ClassNotFoundException e) {
imprimeErro("Erro ao carregar o driver", e.getMessage());
} catch (SQLException e) {
imprimeErro("Erro ao conectar", e.getMessage());
}
}
private void fechar() {
try {
comando.close();
con.close();
System.out.println("Conexão Fechada");
} catch (SQLException e) {
imprimeErro("Erro ao fechar conexão", e.getMessage());
}
}
private void imprimeErro(String msg, String msgErro) {
JOptionPane.showMessageDialog(null, msg, "Erro crítico", 0);
System.err.println(msg);
System.out.println(msgErro);
System.exit(0);
}
}