[Resolvido!] Dificuldade em comparar id's em BD

Olá Pessoal, boa tarde

Estou tentando criar um método no meu DAO que compare dois ID’S relacionais com os cadastrados no Banco.

[code]public boolean verifID(Long idPF, Long idOG) {

    boolean ok = false;
    idPF = funcionario.getCod_funcionario();
    idOG = orgaogestor.getCod_orgaogestor();

//…
try {
String sql = “SELECT * from pforgaogestor l where l.cod_funcionario=? AND l.cod_orgaogestor”;

//…

		PreparedStatement pstm = c.prepareStatement(sql);
		pstm.setLong(1, idPF); //linha que dá o erro
		pstm.setLong(2, idOG);
		ResultSet rs = pstm.executeQuery();
		System.out.println("VERIFICANDO ID NO BANCO");
		if (rs.next() && !rs.getString("cod_funcionario").isEmpty()
				&& rs.getString("cod_funcionario") != null
				&& rs.getString("cod_funcionario").equals(idPF)
				&& rs.getString("cod_orgaogestor").equals(idOG)) {
			ok = true;

			System.out.println("Registro já incluido: ");

		} else {
			ok = false;
			rs.close();
			c.close();
		}

	} catch (SQLException ex) {
		ex.printStackTrace();
		setStatus("erro sql:" + ex.getMessage());
	}
	return ok;

}[/code]

Só que me retorna um erro no console quando eu vou fazer a inclusão da Pessoa no órgão:

SEVERE: java.lang.NullPointerException at br.gov.rr.setrabes.dao.StatusPFOGDao.verifID(StatusPFOGDao.java:53)

Eu sei que o erro me diz que a variável da linha (idPF) é nulo. Como eu estou tentando pegar o id, e não uma String, eu to levando esta surra…
Agradeço a ajuda.

Fala Kleber, acho que o problema está em seu sql:
Onde consta

SELECT * from pforgaogestor l where l.cod_funcionario=? AND l.cod_orgaogestor

Penso que deveria ser:

SELECT * from pforgaogestor l where l.cod_funcionario=? AND l.cod_orgaogestor = ?

Olá Wagner, td bem??
Depois que eu postei foi q eu notei q tinha faltado, mas não é essa a causa do problema.

Mesmo assim, valeu.

[quote=wagner_a_lima]Fala Kleber, acho que o problema está em seu sql:
Onde consta

SELECT * from pforgaogestor l where l.cod_funcionario=? AND l.cod_orgaogestor

Penso que deveria ser:

SELECT * from pforgaogestor l where l.cod_funcionario=? AND l.cod_orgaogestor = ? [/quote]

Eae, alguém??

Bom pessoal, consegui resolver o problema.

O problema no método estava na chamada do rs.getString, que deveria ser rs.getLong, conforme abaixo:

if (rs.next() && rs.getLong("cod_funcionario") != 0 && rs.getLong("cod_funcionario") == cod_funcionario && rs.getLong("cod_orgaogestor") == cod_orgaogestor) {

Está aí pra quem estiver com o mesmo problema.

Abs.