Dúvida ao testar se ResultSet retornou linhas

Pessoal, boa tarde.

Eu sei que para testar se o resultset retornou linhas do banco de dados é utilizado:

ResultSet rs = null; // metodo que retorna um resultset;
if(rs.next())
{

}

Mas eu preciso após fazer esse teste, CASO ele tenha retornado, eu preciso percorrer o resultset inteiro.
utilizando:

while(rs.next())
{
  //codigo vai aki
}

Minha dúvida é, como eu utilizei o método rs.next() dentro do IF. quando for percorrer o resultset utilizando o while, ele irá começar apartir da proxima linha?

Por exemplo, suponhamos que o ResultSet seja um vetor, eu gostaria de começar a leitura da posição 0, mas como utilizei o rs.next() no IF, ele irá começar da posição 1?

Estou certo? caso isso ocorra, como fazer com que dentro do while ele pegue todas as linhas, mesmo utilizando o método rs.next() anteriormente//?

Não use o IF, use apenas o WHILE.

while(rs.next())
{
  //codigo vai aki
}

Você não precisa verificar o resultSet, pode iterar de imediato.
Devido…

// no while a verificação ocorre, pois ele recebe um booleano.
// Se o resultSet for vazio não entra no while...
// a verificação que pode ser feita é

if(rs != null){ 
while( rs.next()){
//Codigo
}
}

vleu rapaziada

[quote=diego.sas]Você não precisa verificar o resultSet, pode iterar de imediato.
Devido…

[code]
// no while a verificação ocorre, pois ele recebe um booleano.
// Se o resultSet for vazio não entra no while…
// a verificação que pode ser feita é

if(rs != null){
while( rs.next()){
//Codigo
}
}
[/code] [/quote]

Velho, não está dando certo, porque o rs nunca vai ser diferente de null, porque no caso ele recebe um método, e esse método retorna alguma coisa, mesmo que não tenha nenhuma linha.

eu preciso fazer o teste com rs.next(), sem afetar o meu resultado final.

Para que queres isso em concreto?

resolvido pessoal, olhei a documentação do java, do resultset.

assim como existe o método next() existe também o previous();

só dei um previous() antes de entrar no while, e tudo ok!