Erro ao Editar Dados

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!!

Ta meio ruim de ver o código, você está dando um commit?

como assim ?rsrs
Eu Altero os dados, ele envia porem não grava no banco
se eu postar um print melhora?

Melhora sim.

Se puder, manda os codigos dao de editar e de salvar;

o Editar

Salvar

Para voces que ja tem as manhas e bem mais de boa de achar o B.O eu ja reli varias vezes e parece tudo ok

Que erro dá?

Ele printa a mensagem dados salvos com sucesso, porem não salva no banco as alterações!
OBS: ele Salva, Exclui so não altera os dados!

Alguem pode me dar um help?

Tenta dar um pst.executeUpdate() ou imprimir o erro com ex.printStackTrace()

Entao Bruno ele nao retorna erro algum, ele passa normal pra mensagem que foi alterado com sucesso porem ele nao salva no banco :confused:

Nas configurações da conexão com o banco você está utilizando autoCommit?
Se não, estou sentindo falta deste comando nos códigos, apenas acho estranho que no adicionar dá certo.

Agora, se eu fosse você eu mudaria o código de:

pst.execute();//Executa o prepared statement
JOptionPane.showMessageDialog(null,“Dados Alterados Com Sucesso!”);//Mensagem de alteraçao

para algo do tipo:

if(pst.executeUpdate > 0){
    JOptionPane.showMessageDialog(null,“Dados Alterados Com Sucesso!”);//Mensagem de alteraçao
    }else{
    //Mensagem de erro
    }

Oi Diego não estou utilizando não qual a função do autoCommit ?

Não vi que você tinha respondido, desculpa. Lá no botão (CadastroCliente), você colocou alguma mensagem?

no Connection você pode setar o autoCommit(true). Aqui eu não uso, por isso, eu preciso a cada update que faço no banco, realizar um commit dando um Connection.commit()…

Tem um exemplo contextualizado pra eu dar uma olhada?

Voce diz no evento salvar cliente ?no salvar cliente tem mensagem de confirmação de cadastro ou erro ao cadastrar