Boa noite, possuo um método que faz uma consulta no banco para verificar login
, só que minha consulta e baseada no que o usuário digita, ou seja já tenho um where
que me trás o usuário correto e só valida senha.
minha classe:
package br.portalRadex.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import br.portalRadex.conexao.Conexao;
import br.portalRadex.modelo.Agentes;
public class AgentesDao {
public Agentes login(String nome, String senha) throws ClassNotFoundException, SQLException {
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 " + " where a.agn_st_nome = " + "'" + nome + "'");
ResultSet resultSet = smt.executeQuery();
while (resultSet.next()) {
if (resultSet.getString("agn_st_senha").equals(senha)) {
agente.setNome(resultSet.getString("agn_st_nome"));
agente.setCodigo(resultSet.getInt("agn_in_codigo"));
agente.setSenha(resultSet.getString("agn_st_senha"));
return agente;
}
}
con.close();
smt.close();
return null;
}
}
O problema é, quando a pessoa digita qualquer outra coisa que não esteja já previamente cadastrada no banco, como posso tratar isso? ja tentei, if(resultSet == null)
, if(resultSet.equals(null))
.
mas nada disso funciona, quando a consulta não retorna nada, o resultSet
não seria null
?
obrigado gente.