---gt; Problema com ibDataSet lt;---

Firebird

25/08/2003

Pessoal faz um tempo que tive problema com ibDataSet.

O que acontecia é que ao fazer .RecordCount, nem sempre retornava Realmente a quantidade Correta dos registros do DataSet.

Fiz UpDates do Delphi e também não se se esses updates corrigiram esse problema.

Alguém que faz uso, e/ou que já teve esse tipo de problema, poderia por gentileza me dizer.

Grato, :)

Claudio.

ICQ - 161547232
MSN - arlunardi@hotmail.com


Claudio Sam

Claudio Sam

Curtidas 0

Respostas

Afarias

Afarias

25/08/2003

|que acontecia é que ao fazer .RecordCount, nem sempre retornava
|Realmente a quantidade Correta dos registros do DataSet.

RecordCount informa a quantidade de registros carregados no Buffer do DataSet e não a quantidade de registros do SELECT.

Para q o RecordCount informe a quantidade de registros do SELECT, é necessário antes carregar todos os registros do servidor para o Buffer do DataSet (o que não é boa idéia se for uma quantidade muito grande), ex::

IBDataSet1.Open;
IBDataSet1.FetchAll; // traga tudo para o buffer do cliente (.Last fáz o mesmo)
QtdeDeRegistros := IBDataSet1.RecordCount;


|Fiz UpDates do Delphi e também não se se esses updates corrigiram
|esse problema.

Isto não é um problema, é a forma correta como funciona.


T+


GOSTEI 0
Claudio Sam

Claudio Sam

25/08/2003

Mas qual seria a melhor solução então???

Grato de novo.


GOSTEI 0
Afarias

Afarias

25/08/2003

uma segunda query com o código::

select count(*) {...}


Más, usar o .FetchAll *não* é ruim em pequenas quantidades de registro -- depende do caso.


T+


GOSTEI 0
POSTAR