Delphi 3 и создание приложений баз данных

         

Подтверждение кэшированных изменений методом ApplyUpdates компонента TDatabase


Метод компонента TDatabase

procedure ApplyUpdates(const DataSets: array ofTDataSet);

применяется для подтверждения кэшированных изменений сразу в нескольких НД Список НД определяется параметром DataSets В случае указания нескольких НД их имена разделяются запятыми

Двухфазное запоминание в этом случае производится неявно' метод ApplyUpdates стартует транзакцию и пытается запомнить измененные записи в БД В случае неудачи, он откатывает транзакцию, но не изменяет статуса кэшированных изменений. Поэтому, если необходимо отменить кэшированные изменения, это необходимо сделать явно при помощи метода НД CancelUpdates. Управление ошибкой запоминания кэшированного изменения может осуществляться в обработчике события OnUpdateError. В случае успешного запоминания результатов кэшированных изменений в БД метод Apply Updates подтверждает транзакцию и подтверждает кэшированные изменения.

Пример.

Пусть требуется подтвердить кэшированные изменения НД Tovary и Rashod. В случае неудачи необходимо откатить кэшированные изменения:

TRY

DataBasel.ApplyUpdates([Tovary, Rashod]);

EXCEPT

ShowMessage('Изменения сохранить нельзя: они влекут нарушение ' + 'целостности базы данных') ;

Tovary.CancelUpdates ;

Rashod.CancelUpdates;

END;//try



Содержание раздела