Dúvida ao testar se ResultSet retornou linhas

6 respostas
ssh

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//?

6 Respostas

romarcio

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

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

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
}
}
ssh

vleu rapaziada

ssh
diego.sas:
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
}
}

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.

pmlm

Para que queres isso em concreto?

ssh

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!

Criado 26 de outubro de 2011
Ultima resposta 26 de out. de 2011
Respostas 6
Participantes 4