Ola a todos Boa Tarde sou novo no forum e me ocorre o seguinte erro quando tento alterar dados no bando, ele passa todos os parametros, imprime a mensagem de confirmação de alterado com sucesso, porem ele não grava no banco os dados alterados, estou utilizando uma flag pra controlar entre editar e salvar, para salvar um novo salva perfeitamente porem ao editar da esse problema segue o codigo do controle:
<public void Editar(ModeloCliente mod){//cria metodo de editar
conex.conexao();//faz a coneção com o banco
try {
//Prepara o Statametn para o update no banco para alteraçao cadastro
PreparedStatement pst = conex.con.prepareStatement(“update tabela_cliente set nome_cliente=?, cpf_cliente=?,rg_cliente=?, cep_cliente=?, telefone_cliente=?, endereco_cliente=?, cidade_cliente=?, estado_cliente=? where id_cliente=?”);
pst.setString(1, mod.getNome());//Altera dados no parametro vindo do modelo
pst.setInt(2, mod.getCpf());//Altera dados no parametro vindo do modelo
pst.setInt(3, mod.getRg());
pst.setInt(4, mod.getCep());
pst.setInt(5, mod.getTelefone());
pst.setString(6, mod.getEndereco());
pst.setString(7, mod.getCidade());
pst.setString(8, mod.getEstado());
pst.setInt(9, mod.getCodigo());
pst.execute();//Executa o prepared statement
JOptionPane.showMessageDialog(null,“Dados Alterados Com Sucesso!”);//Mensagem de alteraçao
} catch (SQLException ex) {
Logger.getLogger(ControleCliente.class.getName()).log(Level.SEVERE, null, ex);
JOptionPane.showConfirmDialog(null, "Erro Ao Fazer Alteraçao de dados:/n" +ex);//mensagem de erro + codigo de erro
}
conex.deconecta();//desconecta banco
}
Abaixo o codigo do form com o uso da flag:
<private void jB_SALVARActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(jT_NOME.getText().isEmpty()){//Tratativa para campos vazios
JOptionPane.showMessageDialog(null,“O campo nome não pode ser vazio!”);//imprimi mensagem de erro
jT_NOME.requestFocus();//Seleciona o cursor no campo refetente
}else if(jF_CPF.getText().isEmpty()){
JOptionPane.showMessageDialog(null,“O campo CPF não pode ser vazio!”);
jF_CPF.requestFocus();
}else if(jT_CIDADE.getText().isEmpty()){
JOptionPane.showMessageDialog(null,“O campo Cidade não pode ser vazio!”);
jT_CIDADE.requestFocus();
}else if(jF_TELEFONE.getText().isEmpty()){
JOptionPane.showMessageDialog(null,“O campo Telefone não pode ser vazio!”);
jF_TELEFONE.requestFocus();
}else if(jT_ENDERECO.getText().isEmpty()){
JOptionPane.showMessageDialog(null,“O campo Endereço não pode ser vazio!”);
jT_ENDERECO.requestFocus();
}else{//caso contrario entra no else e salva os dados no banco
if(flag == 1){///se flag for igual a 1 executa o salvar
mod.setNome(jT_NOME.getText());//seta na classe modelo no nome oque o usuario digitou no campo
mod.setCpf(Integer.parseInt(jF_CPF.getText()));//seta na classe modelo no cpf oque o usuario digitou no campo
mod.setRg(Integer.parseInt(jF_RG.getText()));
mod.setCep(Integer.parseInt(jF_CEP.getText()));
mod.setTelefone(Integer.parseInt(jF_TELEFONE.getText()));
mod.setEndereco(jT_ENDERECO.getText());//seta na classe modelo no endereço oque o usuario digitou no campo
mod.setCidade(jT_CIDADE.getText());//seta na classe modelo no cidade oque o usuario digitou no campo
mod.setEstado((String) jC_ESTADO.getSelectedItem());
cont.Salvar(mod);//chama o metodo salvar da classe modelo clientes
jT_NOME.setText("");//limpa os campos depois de salvo
jF_CPF.setText("");//limpa os campos depois de salvo
jF_RG.setText("");
jF_CEP.setText("");
jF_TELEFONE.setText("");//limpa os campos depois de salvo
jT_ENDERECO.setText("");//limpa os campos depois de salvo
jT_CIDADE.setText("");//limpa os campos depois de salvo
jC_ESTADO.getSelectedItem();
jT_NOME.setEnabled(false);//desabilita os campos depois de salvo
jF_CPF.setEnabled(false);//desabilita os campos depois de salvo
jT_CIDADE.setEnabled(false);//desabilita os campos depois de salvo
jF_TELEFONE.setEnabled(false);//desabilita os campos depois de salvo
jT_ENDERECO.setEnabled(false);//desabilita os campos depois de salvo
preenche_tabela("select *from tabela_cliente order by nome_cliente");
}else{ //caso flag seja 2 cai no else e apenas faz a atualizaçao dos dados
mod.setNome(jT_NOME.getText());//pega o texto do jtcombobox e seta no nome na classe modelo
mod.setCpf(Integer.parseInt(jF_CPF.getText()));//pega o texto do jtcombobox e seta no cpf na classe modelo
mod.setRg(Integer.parseInt(jF_RG.getText()));
mod.setCep(Integer.parseInt(jF_CEP.getText()));
mod.setTelefone(Integer.parseInt(jF_TELEFONE.getText()));//pega o texto do jtcombobox e seta no telefone na classe modelo
mod.setEndereco(jT_ENDERECO.getText());//pega o texto do jtcombobox e seta no endereço na classe modelo
mod.setCidade(jT_CIDADE.getText());//pega o texto do jtcombobox e seta no cidade na classe modelo
mod.setEstado((String) jC_ESTADO.getSelectedItem());
cont.Editar(mod);//chama o controle o methodo editar
preenche_tabela("select *from tabela_cliente order by nome_cliente");//chama o methodo preencher tabela ao iniciar o sistema
}
Algum pode me dar um help ?ja reli o codigo umas 30 vezes hoje
desde ja obrigado!!