Programming: Delphi


Иллюстрированный самоучитель по Delphi 7 для профессионалов



Групповые операции



Как уже рассказывалось выше, наборы данных ADO используют на клиентской стороне локальный кэш для хранения данных и сделанных изменений. Благодаря наличию этого кэша и появилась возможность реализовать групповые операции. В этом режиме все сделанные изменения не передаются немедленно источнику данных, а накапливаются в локальном кэше. Это повышает скорость работы и позволяет сохранять сразу группу модифицированных записей.

Из отрицательных сторон этого метода стоит отметить, что пока изменения находятся на клиенте, они недоступны другим пользователям. В данной ситуации могут возникать потери данных.

Для перевода набора данных в режим групповых операций необходимо выполнить следующие условия.

  •  Набор данных должен использовать клиентский курсор:

    ADODataSet.CursorLocation := clUseClient;

  •  Курсор должен иметь тип ctstatic:

    ADODataSet.CursorType := ctstatic;

  • Блокировка должна иметь значение itBatchoptimistic:

    ADODataSet.LockType := ItBatchOptimistic;

Для передачи сделанных изменений в хранилище данных в компонентах ADO используется метод

    procedure UpdateBatch(AffectRecords: TAffectRecords = arAll);

Для отмены всех сделанных, но не сохраненных методом UpdateBatch изменений применяется метод

    procedure CancelBatch(AffectRecords: TAffectRecords = arAll);

Используемый в методах тип TAffectRecords позволяет задать тип записей, к которым применяется данная операция:

    TAffectRecords = (arCurrent, arFiltered, arAll, arAHChapters);

arcurrent — операция выполняется только для текущей записи;

 arFiltered — операция выполняется для записей из работающего фильтра;

rAll — операция выполняется для всех записей;

arAllchapters — операция выполняется для всех записей текущего набора данных (включая невидимые из-за включенного фильтра), а также для всех вложенных наборов данных.




Назад | Оглавление | Вперёд




При перепечатке любого материала с сайта, видимая ссылка на источник www.warayg.narod.ru и все имена, ссылки авторов обязательны.

© 2005
 

Hosted by uCoz