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

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

prcperty ForcedRefresh: Boolean;

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

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

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

type

TLiveMode = (lmlnsert, ImModify, lmDelete, lmRefresh);
TLiveMcdes = set of TLiveMode;
property LiveMode: TLiveModes;

Так как все эти компоненты предназначены для работы с сервером, то изначально все они поддерживают режим кэширования изменений и имеют соответственные свойства, методы и методы-обработчики событий (табл. 18.2).

Таблица 18.2. Методы-обработчики событий класса TlBCustomDataSet

Объявление

Описание

property AfterDatabaseDisconnect:

Вытолняется после закрытия

TNotifyEvent;

соединения с базой данных

property AfterTransactionEnd:

Выполняется по окончании тран-

TNotifyEvent;

закции , с которой связан данный

набор данных

property BeforeDatabaseDisconnect:

Вытолняется перед закрытием

TNotifyEvent;

соединения с базой данных

property BeforeTransactionEnd:

Вытолняется перед окончанием

TNotifyEvent;

транзакции, с которой связан дан-

ный набор данных

property DatabaseFree: TNotifyEvent;

Вытолняется при обнулении свой-

ства Database компонента набора

данных

type

Вызывается при возникновении

TiBUpdateAction = (uaFail, uaAbort,

опшбки сохранения изменений

uaSkip, uaRetry, uaApplied, uaApply) ;

в режиме кэпшрования

TIBUpdateErrorEvent =

procedure(DataSet: TDataSet;

E: EDatabaseError; UpdateKind:

TUpdateKind; var UpdateAction:

TiBUpdateAction)of object;

property OnUpdateError:

TIBUpdateErrorEvent;

Таблица 18.2 (окончание)

Объявление

Описание

type

Вызывается при сохранении

TIBUpdateAction = (uaFail, uaAbort,

изменений в режиме кэширования

uaSkip, uaRetry, uaApply, uaApplied);

TIBUpdateRecordEvent =

procedure(DataSet: TDataSet;
UpdateKind:TUpdateKind;

var UpdateAction: TIBUpdateAction)

of object;

property OnUpdateRecord :

TIBUpdateRecordEvent ;

property TransactionFree:

Выполняется при обнулении

TNotifyEvent;

свойства Transaction компонента

набора данных

ВОЗМОЖНОСТИ компонентов TIBTable, TIBQuery, TIBStoredProc, TIBUpdateSQL мало чем отличаются от стандартных, описанных в гл. 12.

Для взаимодействия с сервером компоненты InterBase Express используют два класса, которые инкапсулируют важные структуры API InterBase. Эти структуры обеспечивают передачу серверу параметров запроса и возвращение результата выполнения запроса. Поэтому сначала рассмотрим классы tibxsqlda и tibxsqlvar, а затем перейдем к компонентам.


⇐ Предыдущая страница| |Следующая страница ⇒

Программирование в Delphi 7



Новости за месяц

  • Декабрь
    2017
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс