SQLException: ResultSet may only be accessed in a forward direction

1 resposta
ssh

Pessoal é o seguinte, criei um novo método para busca no banco com união de tabela, e depois de executar esse método eu testava se o resultset retornou algo. pois como é um método que junto vai uma data inserida pelo usuário, corre o risco de não ter registro nessa data.

para resolver isso, o que eu fiz?

eu fiz essa estrutura:

if(rs.next())
{
   result = "result set não retornou nada";
}
else
{
   rs.previous(); //PARA VOLTAR A LINHA '0' DO RESULTSET
   while(rs.next())
  {
   //pega as informações de cada linha e insere em um arraylist
  }
}

Acontece a SQLException: ResultSet may only be accessed in a forward direction. justamente la linha rs.previous();

Como posso contornar isso? preciso testar se o resultset tem algo, e depois voltar p/ linha 0, se não perco 1 linha de registro.

O estranho é que com métodos sem união de tabela, não acontece esse problema.
Obrigado desde já.

1 Resposta

D

não entendi esta parte que voce tem que voltar, se vc foi no banco e trouxe os registros eles estao todos ai…
ja experimentou rodar sua query direto no banco e ve o que ela te retorna?

pra mim correto seria:

if(rs.next())  
{  
   pega os resultados obtidos e insere no arraylist
}  
else  
{  
   return false; //por exemplo e sai do metodo.
  {  
 
  }  
}

abrç

Criado 14 de novembro de 2011
Ultima resposta 18 de nov. de 2011
Respostas 1
Participantes 2