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

Компоненты доступа к данным

Так как компоненты InterBase Express используют для получения набора данных собственный механизм, то иерархия классов-предков включает только обязательный для всех наборов данных TDataSet класс TiBCustomDataSet, который, собственно, и инкапсулирует механизм доступа InterBase Express (см. рис. 12.1).

Для связи с базой данных компоненты InterBase Express применяют компоненты соединения TiBDatabase (см. выше). Для этого они используют свойство:

property Database: TiBDatabase;

Доступ к связанной транзакции осуществляется через свойство:

property Transaction: TIBTransaction;

Дополнительно к стандартным свойствам и методам, описываемым в гл. 12, класс TiBCustomDataSet имеет свойство:

type TIBUpdateRecordTypes = set of (cusModified, cuslnserted, cusDeleted,
cusUnmodified, cusUninserted);
property UpdateRecordTypes: TIBUpdateRecordTypes;

Где:

  • cusModified – модифицированные записи;
  • cuslnserted – добавленные записи;
  • cusDeleted – удаленные записи;
  • cusUnmodified – немодифицированные записи;
  • cusUninserted – недобавленные записи.

Данное свойство определяет записи набора данных, на которые распространяются операции кэширования.

Свойство:

property BufferChunks: Integer;

…определяет число записей, которые компонент загружает в собственный локальный буфер для ускорения выполнения стандартных операций.

При использовании компонентов в приложениях необходимо учитывать некоторые особенности.

Обновление набора данных выполняется не при каждом сохранении изменений. Такое поведение компонента определяется свойством:

property ForcedRefresh: Boolean;

…которое по умолчанию имеет значение False.

Это ускоряет работу компонента. При необходимости выполнять обновление данных с максимальной частотой свойству ForcedRefresh нужно присвоить значение True.

В зависимости от настроек компонента, с ним можно выполнять различные виды операций редактирования, перечень которых содержится в свойстве "только для чтения":

type
TLiveMode = (Imlnsert, ImModify, ImDelete, ImRefresh);
TLiveModes = set of TLiveMode; property LiveMode: TLiveModes;
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.