Falando de ResultSet... meus dois centavos:

getFetchSize *não* vai retornar a quantidade de registros da sua consulta. Apenas retornará a quantidade de registros que é recuperada em um acesso ao banco de dados. Portanto se você fez setFetchSize(10) seu getFetchSize() será *sempre* 10.

Javadoc do setFetchSize: "JDBC 2.0 Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this result set." Portanto, se a sua consulta terá 100 resultados, você pode setar o fetchSize para 10 - no caso, você fará 10 acessos ao banco de dados - ou para 100 - daí você fará apenas um.

A única maneira de saber quantos registros uma consulta vai retornar de fato é fazendo COUNT no banco de dados. E não tem nada de podre nisso. Lembre-se que o ResultSet apenas "aponta" para uma "área" do banco de dados (que no Oracle é chamada de CURSOR) que é a responsável por retornar os registros. Esta área não sabe previamente quantos registros serão retornados pois, precisaria basicamente: 1 - percorrer todos os registros da consulta 2 - armazenar cada registro desse em memória. É por isso que não é possível saber previamente o count. E, pelo menos até a API 2.0 do JDBC, não há nenhum método para fazer isso. Faça então o COUNT no banco de dados.

[]s

Maiko

 

  Claudio Miranda <[EMAIL PROTECTED]> escreveu:


Para ter a quantidade de registros retornados por um ResultSet, utilize
o getFetchSize() (não sei ao certo, apenas olhei no Javadoc), ou efetue
a mesma query (podre), com a função count() do Banco de Dados.

Claudio Miranda


Ruy Pedroso wrote:
>
> Olá Pessoal,
>
> Como determinar o tamanho (quantidade de registros) de um RecordSet?
>
> Desculpem-me se a dúvida é básica, mas não estou conseguindo resolver
> sozinho. Já olhei a documentação e não encontrei um método que resolvesse o
> problema (tipo getCount ou length).
>
> Agradeço qualquer ajuda.
>
> Abraços,
> Ruy

_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------



Yahoo! GeoCities
Tenha seu lugar na Web. Construa hoje mesmo sua home page no Yahoo! GeoCities. É fácil e grátis!

Responder a