uma coisa boa em relação ao login. Eu quero que quando o usuário logue no sistema ele pega o nome no banco de dados e altera JLabel na outra tela. porém não estou conseguindo fazer.
Estou fazendo MVC, com BEAN e DAO.
este é o método de logar na class DAO
public boolean Logar(ControlarDados dados) throws Exception {
boolean acesso = false;
try {
// Login com Senha criptografada
String senhaCriptografada = Criptografar.senhaMD5(ControlarDados.getSenha());
String SQL = "SELECT * FROM cadastro_de_professor WHERE EMAIL =? AND SENHA =?";
ps = conn.prepareStatement(SQL);
ps.setString(1, dados.getLogin());
ps.setString(2, senhaCriptografada);
rs = ps.executeQuery();
while (rs.next()) {
dados.setNomeProfessor(rs.getString("NOME"));
dados.setCoordenadorAtivo(rs.getString("STATUS_COORDENADOR"));
dados.setSituacaoProfessor(rs.getString("STATUS"));
acesso = true;
}
rs.close();
ps.close();
} catch (SQLException e) {
}
return acesso;
}
este é o método de logar na JFrame. sei que tem erros.
public void AcessarConta(){
ControlarDados dados = new ControlarDados();
try {
// Envia os dados para o método Logar na class CadastroDAO
AcessoDAO acesso = new AcessoDAO();
dados.setLogin(txtLogin.getText());
dados.setSenha(txtSenha.getText());
// Verifica se um dos campos está vazios
if(txtLogin.getText().isEmpty() || txtSenha.getText().isEmpty()){
JOptionPane.showMessageDialog(this, "Por Favor, Os Campos Não Podem Ser Nulos!", "AVISO", JOptionPane.CANCEL_OPTION);
txtLogin.requestFocus();
}
// Caso toda operação estiver correta entra no modo avaliação
else {
// Se login senha no banco ele entra em outra validação.
if(acesso.Logar(dados)){
// Se no banco o status estiver 1 ou seja ativo ele acessa a tela principal.
if(dados.getSituacaoProfessor().equals("1")){
new TelaPrincipal().setVisible(true);
dispose();
// Caso o usuario digite a senha correta, porém a o status está inativo.
}else{
JOptionPane.showMessageDialog(this, "Sua Conta Está Bloqueada Por Ter Ocorrido 3 Tentativas\nEntre Em Contato com o Administrador do Sistema"
, "AVISO", JOptionPane.ERROR_MESSAGE);
}
}
// caso o usuário erre a senha 3 vezes o status de acesso é desativado
else if(n == 3){
dados.setSituacaoProfessor("0");
acesso.Bloquear(dados);
JOptionPane.showMessageDialog(this, "Usuário " + dados.getLogin() + " Bloqueado\nEntre em contato com o administrador do sistema"
, "AVISO" , JOptionPane.ERROR_MESSAGE);
}
// Se Caso ao contrario apresenta a mensagem de erro.
else{
JOptionPane.showMessageDialog(this, "Login ou Senha Invalida, Você Tem Mais " + quantidade + " Tentativas");
quantidade--;
n++;
txtLogin.setText(null);
txtSenha.setText(null);
txtLogin.requestFocus();
}
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Erro Ao Logar no Sitema\nPor Favor Entre Em Contado Com"
+ " o Administrador do Sistema" , "AVISO", JOptionPane.INFORMATION_MESSAGE);
}
}