Bem, como disse, apenas olhei no javadoc sobre o fetchSize() e muito obrigado
por me lembar disso.
Para resolver encontrei outra maneira, que acho mais elegante de resolver o
problema sem efetuar
novamente uma querie (count do bd) desnecess�ria, (quando eu disse podre, � o fato de
ter de efetuar uma
querie somente para obter a quantidade de objetos, j� imaginou ter de fazer isso em
uma Lista?).
A outra maneira, somente funciona se o seu driver suporta ResultSet com
scrolls.
// pegue o seu resultset
ResultSet rs = getResultSet() ;
//V� ao �ltimo registro
rs.last();
// imprima ou armazene em vari�vel o �ltimo registro
System.out.println(rs.getRow());
// volte para o inicio do resultset, antes da primeira linha
rs.beforeFirst();
� isso, abra�o.
Claudio Miranda
26/11/2001 22:28:03, "Maiko A. Rocha" <[EMAIL PROTECTED]> escreveu:
>
> 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]
-------------------------------------------------------------------------