Boa tarde galera, to com um probleminha aqui na hora de verificar a senha atual do usuario para que alteração de senha seguinte.: tenho um tela de alteração de senha onde o cara seleciona o usuario que desejar alterar a senha ja JTable e os dados vão para os seus respestivos textfields, quando abro a tela para alteração de senha seleciono o usuario ja JTable para e os dados vão para os TextFields, digita a senha atual a nova senha e confirma a senha, caso a senha atual seja inválida ele lança uma mensagem caso não ele verifica a confirmação, se tiver tudo certo ele altera a senha, mas tem um problema, caso eu altere tente alterar a senha de outro usuário logo após a alteração de senha do primeiro, ele não confere a senha atual passa direto, por que desse erro???
Vo postar todos os métodos referentes a essa parte de alteração de senha… Obrigado!! :mrgreen:
MÉTODO QUE BUSCA UMA LISTA DE SENHA
[code]public List<Usuario> buscaSenha() throws SQLException
{
Connection conn = Conexao.getConexao();
String sql = "Select senha From usuario";
PreparedStatement stmt = conn.prepareStatement(sql);
ResultSet rs = stmt.executeQuery();
List<Usuario> lista = new ArrayList<Usuario>();
while(rs.next())
{
Usuario usuario = new Usuario(rs.getString("senha"));
lista.add(usuario);
}
rs.close();
stmt.close();
return lista;
}[/code]
MÉTODO QUE RECEBE A SENHA COMO PARAMETRO E VERIFICA NA LISTA
private boolean verificaSenha(String senha) throws SQLException
{
UsuarioDAO dao = new UsuarioDAO();
List<Usuario> lista = dao.buscaSenha();
for(Usuario user : lista)
{
if(senha.equals(user.getSenha()))
{
result = true;
break;
}
}
return result;
}
BOTÃO ALTERA SENHA
[code] private void bt_senhaActionPerformed(java.awt.event.ActionEvent evt) {
if(evt.getSource() == bt_senha)
{
UsuarioNegocio UN = new UsuarioNegocio();
int row = tabela_altera_usuario.getSelectedRow();
UsuarioModel model = (UsuarioModel)tabela_altera_usuario.getModel();
String nova = tf_nova.getText();
String confirma = tf_confirmacao.getText();
Usuario user = model.get(row);
try {
if (!this.verificaSenha(tf_senha.getText())) {
JOptionPane.showMessageDialog(null, "Senha atual Invalida");
tf_senha.setText("");
}else
if(!nova.equals(confirma))
{
JOptionPane.showMessageDialog(null, "Confirmaçao de senha invalida");
tf_confirmacao.setText("");
}else{
UN.alterarSenhaUsuario(user, nova);
JOptionPane.showMessageDialog(null, "Alterado com Sucesso!");
tf_senha.setText("");
tf_nova.setText("");
tf_confirmacao.setText("");
}
} catch (SQLException ex) {
Logger.getLogger(BuscaAlteracaoVendedor.class.getName()).log(Level.SEVERE, null, ex);
}
}
} [/code]