Iterator Ultimo registro

3 respostas
I

Fala galera.
Executo uma procedure Oracle que me retorna um cursor com determinados registros de uma tabela. Atribuo cada um desses registros a um objeto. E armazeno esses objetos em uma lista. Recupero os objetos da lista através de um iterator. Percorro esse iterator através de um while atribuindo cada registro a um novo objeto. Até aí tudo bem. O problema é que nunca consigo recuperar o último registro, recupero todos menos o último.

while(it.hasNext()){
    cont++;
    oVoRow = (VoRowPR_consultar_MensagemLog) it.next();
    ...
}

Alguém tem alguma dica?

3 Respostas

vinidouradoh

ike,

seu código está aparentemente certo. Vc já tentou debugar e viu o registro na lista?? Se isso ocorreu, posta ai o resto do código pra gente ver. Caso o registro não esteja na lista ainda, posta ai como vc ta alimentando a lista.

vlw

robinsonbsilva

jovem,

for (Iterator iter = list.iterator(); iter.hasNext(); ) {  
     // Digamos que a gente soh tenha strings na lista  
     String item = (String)iter.next();  
   
     // ...  
}

isso com certeza percorre todos os itens da lista, o seu looping tambémestá correta. Existe mesmo a quantidade que você imaginade itens nesse list??

I

Galera valeu a força, encontrei o problema. Para verificar o seu o cursor era válido antes de montar a lista que o iterator percorre, eu estava verificando a validade do cursor da seguinte forma:

if(cursor.next()){

...

}

Daí já viu, o cursor já pulava um registro. Alterei para:

if(cursor != null){
...
}

e acabou dando certo.

Obrigado.

Criado 3 de outubro de 2008
Ultima resposta 3 de out. de 2008
Respostas 3
Participantes 3