Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ClientDataSet.Locate [D6]


Sedunov Vitaly ©   (2003-06-10 13:54:00) 

Доброго времени суток! У ClientDataSet есть очень полезное свойство - пакетная подкачка(PacketRecords). Очень помогает при работе с большими данными (от 20000 записей). Но проблема штатного ClientDtaSet в следующем: как только делаешь Locate - получаешь весь набор записей на клиента. Т.е. при первом же Locate пропадает вся прелесть пакетной подкачки. Я один раз видел самописные TClientDataSet с переписанным методом Locate: если нет в текущем наборе записей, то получаем следующий, делаем Locate там, если не удалось - следующий пакет и т.д. Не поможете ли ссылкой на такой ClientDataSet - у самого времени нет писать такую полезную фичу, да и уйдет немало времени.


Соловьев   (2003-06-10 14:39:00) [1]


> Sedunov Vitaly (10.06.03 13:54

ничего времени много не уйдет:

...
while not Eof do
begin
if FieldByName("F1").AsInteger <> SearchValue then Next
else Abort;
end;
...


Наверх

Титульная страница Поиск, карта сайта Написать письмо