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");
Mike
#2
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.
Mike
#4
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.