galera estou com um problema na hora de fazer um update no meu banco de dados
metedo para alterar em ClienteController
public void atualizarClienteCpf(Cliente c) throws Exception{
DAOCliente dc = new DAOCliente();
dc.atualizarClienteCpf(c);
JOptionPane.showMessageDialog(
null,
"Cliente Alterado com Sucesso!!");
}
DAOCliente
public void atualizarClienteCpf(Cliente c) throws Exception{
sql = "UPDATE CLIENTE SET ID = "+c.getIdCliente()+", NOME = '"+c.getNome()+"',CPF = '"+c.getCpf()+"'"
+ ",RG = '"+c.getRg()+"',CELULAR = '"+c.getCelular()+"'"
+ ",ENDERECO = '"+c.getEndereco()+"',CIDADE = '"+c.getCidade()+"',ESTADO = '"+c.getEstado()+"',"
+ "WHERE CPF = '"+c.getCpf()+"' ";
stm.executeUpdate(sql);
stm.close();
con.close();
}
jFrame Inserir dados na tabela
public class GuiAtualizarCliente extends javax.swing.JInternalFrame {
DefaultTableModel dtm = new DefaultTableModel(new Object[][]{},
new Object[]{"ID","NOME","CPF","RG","CELULAR","ENDERECO","CIDADE","ESTADO",});
public GuiAtualizarCliente() throws Exception {
initComponents();
}
private void inserirdados() throws Exception{
tabela_ClienteCpf.setModel(dtm);
ClienteController cc = new ClienteController();
ArrayList<Cliente> cliente = new ArrayList<>();
Cliente c = new Cliente();
c.setCpf(jtf_BuscaPorCliente.getText());
cliente = cc.buscarClienteCpf(c);
cc.buscarClienteCpf(c);
dtm.setNumRows(0);
for(int i=0; i < cliente.size(); i++){
dtm.addRow(new String[]{
Integer.toString(cliente.get(i).getIdCliente()),
cliente.get(i).getNome(),
cliente.get(i).getCpf(),
cliente.get(i).getRg(),
cliente.get(i).getCelular(),
cliente.get(i).getEndereco(),
cliente.get(i).getCidade(),
cliente.get(i).getEstado()
});
}
}
Executar o update no banco de dados
private void atualizaCliente()throws SQLException{
try{
ClienteController cc = new ClienteController();
Cliente c = new Cliente();
c.setNome(jtf_Nome.getText());
c.setCpf(jtf_Cpf.getText());
c.setRg(jtf_Rg.getText());
c.setCelular(jtf_Celular.getText());
c.setEndereco(jtf_Endereco.getText());
c.setCidade(jtf_Cidade.getText());
c.setEstado((String) jcb_Estado.getModel().getSelectedItem());
jtf_Nome.setText("");
jtf_Cpf.setText("");
jtf_Rg.setText("");
jtf_Celular.setText("");
jtf_Endereco.setText("");
jtf_Cidade.setText("");
jcb_Estado.setToolTipText("");
cc.atualizarClienteCpf(c);
}catch(Exception ex){
JOptionPane.showMessageDialog(
null,
"Algum erro ocorreu: " + ex.getMessage());
}
}
quando termina a busca e popula a tabela com um click os dados da tabela são inserido nas JTextFields para poder ser feita as alterações porem quando eu clico no botão de alterar retorna uma mensagem de erro.
you have an error in your SQL syntax check the manual corresponds to your MariaDB server version for the right syntax to use near “WHERE CPF = 02156649759” at line 1 (cpf ficticio).