Пользуюсь дурацким методом загрузки из DBF.
в TQuery выбираю данные из дбф,
и запихиваю в TpFIBDataSet ч-з FieldByName('').value.
У TpFIBDataSet ставлю CachedUpdates=true, каждые несколько тысяч
записей делаю ApplyUpdates и Commit. И все работает достаточно быстро.
Но есть еще опциональная возможность не просто подгружать все из дбф, а синхронизировать записи по нескольким полям, для чего я в начале использовал TpFIBDataSet.Locate по этим полям. и потом Edit эту запись или Insert если не найдена.
Потом в связи с потенциальным разростанием таблиц и накладным Locate решил перейти на серверную фильтрацию и переделал на TpFIBDataSet.Conditions и
пришлось вместо Locate делать DataSet.Close, DataSet.ParamByName=... , DataSet.Open. Вот здесь и начались дикие тормоза, т.к. пришлось делать ApplyUpdates после каждого Поста, чтобы не терять записи.
Вот в связи с этим и возник вопрос: можно-ли сделать так чтобы после
TpFIBDataSet.Close,Open не терялись отпостеные ранее записи в кэше
?
CachedUpdates и Conditions в TpFIBDataSet
Модератор: kdv