Resultado de Beans Urgente

1 resposta
D

olá eu fiz um java bean que me retorna um conjuto de dados usando esse método

public ResultSet getGarotas() {

try {

pesquisa  = “SELECT PERGUNTAS , SUM(QTD_VOTOS) AS TOTAL FROM PERGUNTAS  WHERE PERGUNTAS LIKE ‘%Garota%’ GROUP BY  PERGUNTAS, QTD_VOTOS  HAVING SUM(QTD_VOTOS) > 100  ORDER BY PERGUNTAS”;

resultado = declaracao.executeQuery(pesquisa);

if (resultado.next()){

resultado.beforeFirst();

} else { resultado=null;

}
} catch (SQLException e) {
		System.out.println("Nao foi possivel getTodos()");
	}
	return resultado;
}

O problema e que ele esta me retornando esse erro(java.lang.NullPointerException
at JBeans.EnqResultado.getGarotas(EnqResultado.java:47)
) ou seja null, quando eu execulto as instruçõe sql diretamente no banco ele me dá resultados.
alguem sabe que Porr… é essa!

1 Resposta

C

Vê se assim funciona..

public ResultSet getGarotas() { 
	try { 
		pesquisa = "SELECT PERGUNTAS , SUM(QTD_VOTOS) AS TOTAL FROM PERGUNTAS WHERE PERGUNTAS LIKE '%Garota%' GROUP BY PERGUNTAS, QTD_VOTOS HAVING SUM(QTD_VOTOS) > 100 ORDER BY PERGUNTAS"; 
		resultado = declaracao.executeQuery(pesquisa); 
		
		if(resultado.next())
			return resultado;	
		else
			return null;
			
	} catch (SQLException e) { 
		System.out.println("Nao foi possivel getTodos()"); 
	} 
}

Quando o método [color="green"]executeQuery[/color](pesquisa); é executado independente dos resultados ele sempre posiciona o ponteiro em uma posição nula, que no caso seria a posição 0. Para recuperar o conteudo é preciso verificar se existe um proximo registro "foi o que vc fez"

if(resultado.next())

O que acontece... quando vc chama o método [color="red"]next()[/color] ele posiciona o ponteiro em uma posição válida "se achou algo ok!".. logo na sequencia vc pede para ele retornar um posição "ai te pergunto para onde o ponetiro esta apontado?" posição inicial que é inválida.. ok!

ok!

Criado 9 de dezembro de 2003
Ultima resposta 9 de dez. de 2003
Respostas 1
Participantes 2