[RESOLVIDO] Erro ao recuperar e autenticar login

7 respostas
Oziel_Morais

Olá, tenho a class login que sua função é selecionar os dados que estão no banco e verificar se esta ok , tenhao a seguinte tabela nessa ordem

[color=red]login , senha, nivel[/color]

onde login vai conter o meu login senha a minha senha e nivel vai estar cadastrado se o usuário é ADMINISTRADOR OU FUNCIONARIO , no Jframe o usuario vai digitar o login e a senha meu programa terá que ir no banco e verificar se esta igual a que esta cadastrado no banco, verificar se esta, BLZ , isso o programa esta fazendo legal [color=red]minha dúvida é como vou fazer a consulta no banco para saber se o usuário é administrador ou funcionario automaticamente[/color]

Aqui segue os códigos da classlogin e do botão entrar

public class ClassLogin {
    
    
   
    //    Conexao com o Banco
   
    
    ClassConecta conexao = new ClassConecta();
  
    
   

    
    public void logar ( String login, String senha, String nivel) throws SQLException {  
          
      String sql = "select login, senha, nivel from flogon where login = ? and senha = md5(?)  and nivel = ?";  
      PreparedStatement stmt = (PreparedStatement) this.conexao.conecta().prepareStatement(sql);  
  
         stmt.setString(1, login); 
         stmt.setString(2, senha);  
         stmt.setString(3, nivel);  
     
         ResultSet rs = stmt.executeQuery();  
  
         if (rs.next()){  
  
  
  
          
    
    // Abre a tela do administrador 
   
             
             
             if(nivel.equals("ADMINISTRADOR"))  
              {   System.out.println("Bem-vindo administrador");
                  new FCadUser().setVisible(true);  
  
  
              }  
    
    //Senão abre a tela de usuário
   
             
          
              else if (nivel.equals("FUNCIONARIO")){  
                  System.out.println("Bem-vindo funcionario");  
                  new FPrincipal().setVisible(true); }  
             
               
                         }  
         
 
  // Caso login esteja incorreto, mostra essa frase 
  
         
         else{  
             JOptionPane.showMessageDialog(null, "Login Incorreto.\n" +  
                     "Tente novamente.\n","ALERTA", JOptionPane.ERROR_MESSAGE);}  
  
  
  
      rs.close();  
      stmt.close();  
  
  }  

    
  
      
 }   
   
    //Fim da Classe

Aqui é o código do botão cadastrar

private void BotaoEntrarActionPerformed(java.awt.event.ActionEvent evt) {                                            

    
    //Pega o que o usuário digitou para verificar se estar certo
          String senha = jPFsenha.getText();  
          String log = jTF_usuario.getText();
        
 
         
          
        try {  
  
            ClassLogin login = new ClassLogin();
             login.logar(log, senha,log );
             
            
           
 
        } catch (SQLException ex) {  
            Logger.getLogger(FLogon.class.getName()).log(Level.SEVERE, null, ex); 
                
        }
        
        this.dispose();

No aguardo !

7 Respostas

drsmachado

Tua query está fazendo isso, não está?
Se você traz o nível na consulta, qual a dificuldade?

Oziel_Morais

Ele não esta fazendo a comparação certa da dando login incorreto a toda hora sei que deve ter algo de errado nesse código só estou tentando descobrir o que é…
Estou precisando da ajuda de vocês
No aguardo…

Oziel_Morais

Esse código não estar fazendo a comparação certa certa estar dando login invalido a toda hora me ajudem
No aguardo…

Oziel_Morais

Ainda no AGUARDO…

Master.Abs

Debuga o código para saber se os parametros buscados e informados vindo corretamente.

No seu banco de dados de nível ADMINISTRADOR está com letra maiúscula mesmo ?

Tenta fazer o seguinte:

Dessa forma você trabalha com os dados que está no banco e tira
a responsabilidade de igualdade de case, pelo menos nesse caso.

Flw.

Oziel_Morais

Tá em maiúsculo sim

Oziel_Morais

OBRIGADO PELA AJUDA CONSEGUI RESOLVER, VLW…

Criado 8 de fevereiro de 2012
Ultima resposta 10 de fev. de 2012
Respostas 7
Participantes 3