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
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.
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.