Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

java.lang.NullPointerException erro em metodo

Boa tarde, estou com uma duvida em um metodo, tenho uma query que me traz 3 colunas de uma tabela,

Método:

public Agentes login(String nome, String senha) {

        try {
            Connection con = new Conexao().getConnection();

            Agentes agente = new Agentes();

            PreparedStatement smt = con.prepareStatement(" select a.agn_in_codigo, " + " a.agn_st_nome, "
                    + " a.agn_st_senha " + " from mgglo.glo_agentes a ");

            ResultSet resultSet = smt.executeQuery();




            while (resultSet.next()) {
                if (resultSet.getString("agn_st_senha").equals(senha) && resultSet.getString("agn_st_nome").equals(nome)) {
                    agente.setNome(resultSet.getString("agn_st_nome"));
                    agente.setCodigo(resultSet.getInt("agn_in_codigo"));
                    agente.setSenha(resultSet.getString("agn_st_senha"));

                    return agente;

                }
                else System.out.println(resultSet.getString("agn_st_senha")); 

                //if (resultSet.getString("agn_st_senha") != senha) {
                    //agente.setNome(resultSet.getString("agn_st_nome"));
                    //agente.setSenha(resultSet.getString("agn_st_senha"));
                    //System.out.println("sua senha esta incorreta");
                    //System.out.println(agente.getSenha());

                    //return agente;

                //}


            }

            con.close();
            smt.close();
        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace(System.err);

        }

        return null;

    }

Minha classe de testes:

public class TestaLogin {

    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        AgentesDao dao = new AgentesDao();

        dao.login("REPRESENTACOES FERREIRA E SOARES LTDA,"2443");

    }

}

Quando faço executo o TestaLogin ele me da java.lang.NullPointerException nessa linha:

if (resultSet.getString("agn_st_senha").equals(senha) && resultSet.getString("agn_st_nome").equals(nome))

Mas eu inicie as variáveis quando passe os parâmetros não iniciei ? não entendo o porque desse erro.

muito obrigado

2 respostas
solução!

Opa Gabriel, você precisa ver o que está sendo retornado pelo seu ResultSet, aqui:

resultSet.getString("agn_st_senha")

claro Alberto não tem nada haver com o código Java, mas sim se esta voltando colunas vazias do banco.

Muito obrigado.