Como verificar se um ResultSet retorno algum resultado?

Estou tendo prolemas em cadastrar uma categoria no MySQL.
Naum sei como verificar se já existe a categoria…

Estou tentando o seguinte:

String categoria = request.getParameter(“categoria”);
if(categoria!=null){
Class.forName(“org.gjt.mm.mysql.Driver”);
Connection conexao = DriverManager.getConnection(“jdbc:mysql://localhost/classificados”);

String pesquisa = null;
ResultSet resultado = null;
Statement declaracao = null;

pesquisa = “SELECT * FROM categorias WHERE desc_categoria=’”+categoria+"";
resultado = declaracao.executeQuery(pesquisa);
if(resultado.getFetchSize()==0){
String desc_categoria = request.getParameter(“categoria”);
PreparedStatement declPreparada = null;

Statement stm = conexao.createStatement();
String addcat = "INSERT INTO categorias (desc_categoria) VALUES (?)";

declPreparada = conexao.prepareStatement(addcat);
declPreparada.setString(1, categoria);
declPreparada.executeUpdate();

out.print("<SCRIPT> alert ('Categoria "+categoria+" cadastrada!') </SCRIPT>");
}
else
	out.print("<SCRIPT> alert ('A Categoria "+categoria+", já existe!') </SCRIPT>");

}

Está dando erro interno e java.lang.NullPointerException…

Qual a melhor forma de verificar se ja existe um certo dado no banco e se não existir, cadastra-lo??

ajuda ai galera!!!
Valeu

O que costuma ser feito para verificar se um select retornou registros em um RecordSet é simplesmente dar um recordSet.next(). Se voltar true existe a primeira linha, e portanto o select retornou alguma coisa.

Bani, não é querer abusa da boa vontade, mais oque presisaria mudar no meu código pra verificar se o recordSet é true ou false?

pesquisa = “SELECT * FROM categorias WHERE desc_categoria=’”+categoria+"";
resultado = declaracao.executeQuery(pesquisa);
if(!resultado.next()){

Como você pode ver, no caso !resultado.next() significaria que não teve resultados.

Apesar de que o seu erro não é no teste do RecordSet, e sim em utilizar o Statement sem antes inicializá-lo.

Você deve colocar
declaracao = conexao.createStatement();
antes de tentar executar o declaracao.executeQuery(), pois deve ser aí que está dando NullPointerException