Como saber se a pesquisa do banco de dados e falsa?

E ai galera,

estou fazendo executando um select,

onde rs recebe o valor do resultado da pesquisa, só que quando ele não encontrar eu queria que ele mostar uma mensagem, o problema que não encontrando ele mostra valores da primeira linha: entrando no if
Ai vai um pedaço do código

[code]
String sql=“select …”;

rs = st.executeQuery(sql);

if (rs != null)
{
//mostra a pesquisa
}
else
{
exibe não encontrei
}[/code]

pensei que daria certo dessa maneira quem tiver uma idéia, já agradeço

if(rs.next()){
 // faz alguma coisa...
}else
 // nao achou nada...
}

estou tendo um problema parecido com este.

eu tenho em uma classe um método que faz uma pesquisa no banco e me retorna uma string;

quando eu executo esta classe e mando dar um System.out.println() no método ele me traz o resultado normalmente.

quando eu chamo o mesmo método de um servlet, durante a pesquisa o ResultSet retorna null, a pesquisa é exatamente a mesma, não existem parametros, mas quando eu executo ela do servlet não me traz resultado.

é possivel saber o que esta acontecendo ??

Ao menos que uma instancia nao tenha sido criada, o ResultSet nao pode retornar null.

Consegue colocar o codigo - ou melhor, a parte relevante do codigo - aqui, para entermos melhor o problema?

Rafael

[code] ResultSet rs=null;
boolean aux = false;
nome=null;
telres=null;

        try{            
                            				
String sql= "SELECT * FROM agenda WHERE agenda.data= '" + data1 + "'";            
Statement st = conexao.createStatement();			rs = st.executeQuery(sql);   
status = "Comunicação (localizar) --> OK";
			
			   
if (rs.next())
{
     codig = rs.getString(i+1);
}
           }
          .......


          return ...

}[/code]

Turma valeu eu encontrei o erro era porque não tinha inicializado uma variavel.

VAleu
:lol:

O método chamado:

public String extensao;

public String retornaImagem()
{
    try {
        String sql = "select * from tb_tp_arquivo where tpa_ext_tp_arquivo = ?";
        String param[] = { extensao };

        Acesso acesso = new Acesso();
        ResultSet rs = acesso.retornaConsulta( sql, param );

        if ( rs.next() ) {
            if ( rs.getString( "tpa_path_imagem" ) != null ) {
                return rs.getString( "tpa_path_imagem" );
            } else {
                return "";
            }
        } else {
            return "";
        }
    } catch ( Exception e ) {
        e.printStackTrace();
        return e.toString();
    }
}

O método de retornar consulta, a conexao é aberta no construtor da classe acesso:

public ResultSet retornaConsulta( String sql, String param[] )
{
    try {
        PreparedStatement ps = con.prepareStatement( sql );
        for ( int i = 0; i < param.length; i++ ) {
            ps.setString( i + 1, param[i] );
        }
        return ps.executeQuery();
    } catch ( Exception e ) {
        e.printStackTrace();
        return null;
    }
}

O código do servlet onde é chamado o método retornaImagem:

    TpArquivo tipo = new TpArquivo();
    tipo.extensao = "java";
    img = tipo.retornaImagem();

lembrando que se eu crio uma classe de teste com o mesmo código ele me retorna o path de uma imagem, quando eu executo no servlet ele retorna o resultset null.

vê se vcs podem me ajudar.

valeu !!!