Problema com verificação de login

4 respostas
marcusluiz83

Boa tarde!

Estou tentando fazer uma verificação de dados para login, mas não está funcionando:

Classe DAO
[/b]
public Motoboy login(String nome, String codigo) throws SQLException {

        Motoboy usuario = null;
        PreparedStatement stmt = this.conexao.prepareStatement("select * from motoboy where nome = ? and codigo = ?");
        stmt.setString(1, nome);
        stmt.setString(2, codigo);
        ResultSet rs = stmt.executeQuery();
        if (rs.next()) {
            Motoboy motoboy = new Motoboy();
            motoboy.setNome(rs.getString("nome"));
            motoboy.setCodigo(rs.getString("codigo"));

        }
        return usuario;
    }
[b]Formulário
private void validaLogin() throws SQLException {
        Motoboy m = new EntregaDAO().login(jTextField1.getText(), jTextField2.getText());
        if (m == null) {
            JOptionPane.showMessageDialog(null, "Dados incorretos ou usuário não cadastrado.");
        } else {
            JOptionPane.showMessageDialog(null, "Seja bem-vindo!");
        }
    }
Gostaria que me ajudassem a identificar o erro, por favor.

Obrigado!

4 Respostas

worldsoft
marcusluiz83:
Boa tarde!

Estou tentando fazer uma verificação de dados para login, mas não está funcionando:

Classe DAO
[/b]
public Motoboy login(String nome, String codigo) throws SQLException {

        Motoboy usuario = null;
        PreparedStatement stmt = this.conexao.prepareStatement("select * from motoboy where nome = ? and codigo = ?");
        stmt.setString(1, nome);
        stmt.setString(2, codigo);
        ResultSet rs = stmt.executeQuery();
        if (rs.next()) {
            Motoboy motoboy = new Motoboy();
            motoboy.setNome(rs.getString("nome"));
            motoboy.setCodigo(rs.getString("codigo"));

        }
        return usuario;
    }
[b]Formulário
private void validaLogin() throws SQLException {
        Motoboy m = new EntregaDAO().login(jTextField1.getText(), jTextField2.getText());
        if (m == null) {
            JOptionPane.showMessageDialog(null, "Dados incorretos ou usuário não cadastrado.");
        } else {
            JOptionPane.showMessageDialog(null, "Seja bem-vindo!");
        }
    }
Gostaria que me ajudassem a identificar o erro, por favor.

Obrigado!

1° Qual o problema q ele apresenta? Motoboy == null ??

Se for isso de uma olhada em seu dao na linha 4 a variavel usuario do tipo Motoboy recebe null... Depois na sua consulta se existir um Motoboy com o nome e codigo que vc passou como parametro vc faz o seguinte código:
Motoboy motoboy = new Motoboy();  
            motoboy.setNome(rs.getString("nome"));  
            motoboy.setCodigo(rs.getString("codigo"));
e retorna usuario, quer dizer sempre vai retornar null...
marcusluiz83

Boa tarde!

Creio que esteja trazendo motoboy == null mesmo. Mas não sei como corrigir isto. A minha classe DAO já estava como você me sugeriu.

Alguma ideia de como corrigir?

Obrigado pela ajuda!

worldsoft

marcusluiz83:
Boa tarde!

Creio que esteja trazendo motoboy == null mesmo. Mas não sei como corrigir isto. A minha classe DAO já estava como você me sugeriu.

Alguma ideia de como corrigir?

Obrigado pela ajuda!

Desculpa me expressei mal, eu quis dizer q vc estava fazendo daquela forma e não que era para fazer daquela forma…

Então apartir da linha 10 até a 12 altere para o seguinte código.

usuario = new Motoboy();
usuario.setNome(rs.getString("nome"));  
usuario.setCodigo(rs.getString("codigo"));
marcusluiz83

Meu amigo, muito obrigado pela ajuda!

Funcionou perfeitamente!

Abraço!

Criado 21 de janeiro de 2012
Ultima resposta 21 de jan. de 2012
Respostas 4
Participantes 2