Como bloquear a senha depois de 3 tentativas no java(netbeans)? e tbm pra alterar depois e deixar o usuario ativo? estou usando o acess pois na faculdade só pode esse banco rs

int Usuario = Integer.parseInt(jTextField1.getText());
char[] Senha = jPasswordField1.getPassword();
String strSenha = new String(Senha);

        ResultSet RS= stmt.executeQuery("Select * from Tabela_Estoque where Usuario='" + Usuario + "'" );
        
        boolean Consulta = false;
        
            while (RS.next())
            {
                Consulta = true;
                
                if (strSenha.equals(RS.getString("Senha")))
                {
                    new Menu_Atividade().setVisible(true); 
                }
	    else  
	    {  
		showMessageDialog(this, "Senha Inválida ");
	    }
                  
            }
        
            if ( Consulta == false )
               showMessageDialog(this, "Registro não encontrado");

Cria um atributo que será como um contador, toda vez que errar a senha, incrementa em um.

Na hora do login, você pega o valor no banco, se for 3, diz que o acesso ta bloqueado.

Sim! o problema é codificar, não estou tendo lógica para isso rs. Como sou novo na área tenho muitas duvidas.

Se você quiser negar o acesso quando o usuário errar 3 vezes consecutivs, você pode fazer algo mais ou menos assim:

if(contador == 3){ classeDAO.alterarAcesso(classe.getId(), false); }

[code]public void alterarAcesso(int id, boolean acesso) throws SQLException
{
try(Connection conn = DriverManager.getConnection(url, “root”, “senha”))
{
try(PreparedStatement stmt = conn.prepareStatement(“UPDATE FUNCIONARIO SET ACESSO = ? WHERE ID = ?”))
{
stmt.setBoolean(1, acesso);
stmt.setInt(2, id);

			stmt.executeUpdate();
		}
	}
}[/code]

Você pode remover os trys acima para facilitar o entendimento, caso não saiba para o que serve.

Esses trys são chamado de try-with-resources caso queira procurar na net.