Pessoal boa tarde, estou usando interator pra trabalhar com o resultado de uma busca, mas preciso verificar se é última linha
como segue abaixo
Iterator<ResultSet>it=getBusca();while(it.hasNext())
{
rs=it.next(); //aquiqueroverificarseéaúltimalinhaeexibir//System.out.println(":::::::::::::::: Last LINE ::::::::::::::::::");
}
Se você quiser executar algo depois da ultima linha, como parace ser o que você quer no seu comentario… você pode colocar o codigo depois do while… caso contrario você pode usar um contador e verificar pelo tamanho da coleção que gerou o iterator.
A
AbelBueno
a resposta para sua dúvida está no próprio código que postou…
quando for a última alinha (após chamada do next) o método hasNext retornará false
Se o iterator só tiver um registro ele vai sempre imprimir “Last Line” e sair do loop…
Se tiver mais de uma deve imprimir “TRUE LINE” algumas vezes e por último “Last Line”…
qual a saída desse seu exemplo?
Ps: Só para confirmar, você quer a última linha do iterator ou do resultset?
programmer_ed
Sempre sai true line, entendeu ?
eu tbm achei que se houvesse mais de uma linha imprimiria TRUE LINE e na ULTIMA LAST LINE
mas só exibe TRUE LINE
programmer_ed
Quero saber a última linha que retorna da busca.
Lucas_Abbatepaolo
Voce não pode usar um LinkedList ao invez de um iterator…
dai é so vc usar o metodo getLast();
luciano2
A interface resultset tem o método last() que move o cursor para o ultimo registro do resultset.
Seu método getBusca está retornando um Iterator de resultset? Você tem vários resultSet?
Sua consulta não deveria retornar somente um resultset e este seria iterado utilizando o método next()?
Explique melhor que tecnologias você está utilizando e como funciona o getBusca()
programmer_ed
Eu retorno somente um iterator e faço o while dos resultados,
ando linha a linha while (it.hasNext())
mas quero verificar se estou na última linha
luciano2
Não sei bem como está funcionando essa sua aplicação, mas se é iterator seu problema é resolvido assim.