Estou com um problema com a validação da senha no DB. To usando um campo de senha com getPasswor() e queria valida-la antes de remover o usuário do banco. Alguém pode me ajudar a fazer a conversão? OBS: Consegui fazer a validação com getText.

Java

07/07/2017


 private void btRemoverActionPerformed(java.awt.event.ActionEvent evt) {                                          
        UsuarioDAO usuario = new UsuarioDAO();
        
        long cpf = Long.parseLong(tfCpf.getText());
        String username = tfUserName.getText();
        String senha = pfSenha.getPassword().toString();
        boolean resposta = usuario.consultar(username, senha); // Passando o valor de retorno  do método que consulta username e senha
        
        
        if(tfCpf.getText().isEmpty() || tfUserName.getText().isEmpty() || pfSenha.getPassword().equals("")){
            lbMensagem.setText("É obrigatório o preenchimento de todos os campos!!");
        }
        else if(resposta == true){
           usuario.remover(cpf); //método remover usuário
           lbMensagem.setText("Usuário removido com sucesso!");
        }else{
            JOptionPane.showMessageDialog(null, "Usuário ou senha incorreto!");
        }
    }

:


public boolean consultar(String username, String senha){
            boolean autentica=false;
            Usuario usuario = new Usuario();
            Connection con = new ConnectionFactory().getConnection();
        String sql;
        sql = "select username, senha from usuario where username = ? and senha = ?";
            try{            
                PreparedStatement stmt = con.prepareStatement(sql);
                
                 stmt.setString(1, username);
                 stmt.setString(2, senha);
                 ResultSet rs = stmt.executeQuery();
                
                while (rs.next()){
                    String userBD = rs.getString("username");
                    String senhaBD = rs.getString("senha");
                    autentica = true;
                }
                
                stmt.close();
                con.close();
                rs.close();
                
              
            }catch(SQLException e){
                System.out.println("Erro na Busca de usuário e senha!" + e);
            }
            return autentica;
        }

Filipe Silva

Filipe Silva

Curtidas 0

Melhor post

Clayton Silva

Clayton Silva

09/08/2017

Bom dia, Filipe! O método getPassword() do JPasswordField retorna um Array de char. Então não vai funcionar o getPassword().toString().
Vc pode simplesmente criar uma String a partir desse Array. Desta forma:

String senha = new String(pfSenha.getPassword());


Blz?
GOSTEI 1

Mais Respostas

Marcio Souza

Marcio Souza

07/07/2017

Como assim validar a senha antes de excluir um usuário? Ficou confuso o que você realmente quer fazer. Pode tentar explicar de outra forma?
GOSTEI 0
POSTAR