![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ClientDataset.PacketRecords и EOF [D7, FB1.5]
Desdechado © (2005-01-22 17:02:00)Есть стандартная связка
SQLDataSet->DatasetProvider->ClientDataset
Делаю выборку, причем записей возвращается много. Чтоб с ходу не перегружать клиента, выставил чтение данных пачками по 30
ClientDataset.PacketRecords=30
Но вылез побочный эффект - при достижении конца зафетченой части выборки (на границе пакетов) ClientDataset.EOF становится True, хотя данные еще есть и через некоторое время они дочитываются. Но флаг конца данных уже установлен! Потом он через некоторое время сбрасывается.
Вопрос: Как узнать, что это временная установка флага, а не реальный конец данных? Или как обойти установку флага EOF в этом случае?
Nikolay M. (2005-01-22 20:54:00) [1]Затычка, конечно, но, может, проверять не
if (CDS.Eof) then ...
а в виде
if (CDS.Eof) then
if (CDS.GetNextPacket = 0) then ...
? Два ифа для того, чтобы фетч следующего пакета выполнялся только при установке Eof в True и его (не)выполнение не зависело от настроек компилятора.