---gt; Problema com ibDataSet lt;---
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
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
Curtidas 0
Respostas
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+
|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
25/08/2003
Mas qual seria a melhor solução então???
Grato de novo.
Grato de novo.
GOSTEI 0
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+
select count(*) {...}
Más, usar o .FetchAll *não* é ruim em pequenas quantidades de registro -- depende do caso.
T+
GOSTEI 0