Вниз
Скачать: CL | DM;

ClientDataset.PacketRecords и EOF   Найти похожие ветки 

← →
Desdechado ©   (2005-01-22 17:02) [0]

Есть стандартная связка
SQLDataSet->DatasetProvider->ClientDataset
Делаю выборку, причем записей возвращается много. Чтоб с ходу не перегружать клиента, выставил чтение данных пачками по 30
ClientDataset.PacketRecords=30
Но вылез побочный эффект - при достижении конца зафетченой части выборки (на границе пакетов) ClientDataset.EOF становится True, хотя данные еще есть и через некоторое время они дочитываются. Но флаг конца данных уже установлен! Потом он через некоторое время сбрасывается.
Вопрос: Как узнать, что это временная установка флага, а не реальный конец данных? Или как обойти установку флага EOF в этом случае?


← →
Nikolay M. ©   (2005-01-22 20:54) [1]

Затычка, конечно, но, может, проверять не
if (CDS.Eof) then ...
а в виде
if (CDS.Eof) then
 if (CDS.GetNextPacket = 0) then ...

? Два ифа для того, чтобы фетч следующего пакета выполнялся только при установке Eof в True и его (не)выполнение не зависело от настроек компилятора.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.025 c
14-1107087547
Думкин
2005-01-30 15:19
2005.02.20
Кто последний в дурку? Я за вами.


14-1107186515
quickblack
2005-01-31 18:48
2005.02.20
Доступ в инет через Мегафон


9-1099891468
Вась-вась
2004-11-08 08:24
2005.02.20
Вопрос принципиального характера.


3-1106027922
dark
2005-01-18 08:58
2005.02.20
Мастера Дельфи как избавиться от ошибки Duplicate resource(s)???


9-1073144322
DDS
2004-01-03 18:38
2005.02.20
Где хранить ресурсы?




   Наверх