Dificuldade ao atualizar as informações de clientes

2 respostas
grandao2014

Não consigo descobrir o que acontece com essa parte de atualização de clientes, não consigo
atualizar os dados
De já agradeço a quem me ajudar.

public void atualizar(Cliente clientes) {  
  
           String sql = "UPDATE cliente SET cliente_nome = ?, cliente_cpf = ?, cliente_rg = ?, cliente_logradouro = ?, " +
                  "cliente_bairro = ?, cliente_cidade = ?, cliente_estado = ?, cliente_cep = ?, cliente_telefone = ?, " +
                  "cliente_email = ?, cliente_sexo = ?, cliente_estado_civil = ?, cliente_profissao = ?, " +
                  "cliente_data_nascimento = ? WHERE cliente_id = ?";
         
         JOptionPane.showMessageDialog(null,"Cliente Atualizado(a) com Sucesso!");
   
      try { 
            java.sql.PreparedStatement stmt = connection.prepareStatement(sql);
            
            stmt.executeUpdate(); 
            
            stmt.execute();
            stmt.close();
      }catch (SQLException e) {  
            throw new RuntimeException(e);
       }
   }

2 Respostas

R

O JOptionPane.showMessageDialog(null,“Cliente Atualizado(a) com Sucesso!”); deve ser chamado após executar o update , depois do stmt.close() , e você não está passando nenhum valor para o seu preparedstatment , você passar dessa forma:

stmt.setString(1,cliente.getNome());

O valor 1 dentro setString representa a ? que vc passa na string do sql ,na ordem em que vc passa as ? , então , stmt.setString(2,cliente.getCpf()) vc vincula o valor de cliente_cpf do sql com cliente.getCpf().

grandao2014
Fiz as alterações recomendadas, mas continua sem atualizar. Este é a parte do botão de atualizar Cliente
private void Bt_atualizarActionPerformed(java.awt.event.ActionEvent evt) {                                             
                
        cliente.setNome(tf_nome.getText());
        cliente.setCpf(tf_cpf.getText());
        cliente.setRg(tf_rg.getText());
        cliente.setLogradouro(tf_logradouro.getText());
        cliente.setBairro(tf_bairro.getText());
        cliente.setCidade(tf_cidade.getText());
        cliente.setEstado(tf_estado.getText());
        cliente.setCep(tf_cep.getText());
        cliente.setTelefone(tf_telefone.getText());
        cliente.setEmail(tf_email.getText());
        cliente.setSexo(tf_sexo.getText());
        cliente.setEstado_civil(tf_estadocivil.getText());
        cliente.setProfissao(tf_profissao.getText());
        cliente.setData_nascimento(tf_datanascimento.getText());
        
        dao.atualizar(cliente);
    }
Criado 7 de abril de 2013
Ultima resposta 8 de abr. de 2013
Respostas 2
Participantes 2