Кент Рейсдорф. BORLAND C++BUILDER. Раздел 4

Кент Рейсдорф. BORLAND C++BUILDER. Страница 463

Дополнительное преимущество кэширования заключается в возможнос­ти изменения компонентов TDataSet, предназначенных только для чтения. Наличие контроля за SQL, сгенерированными для обновления TDataSet, позволяет вам написать код, модифицирующий данные.

Для работы с кэшируемыми изменениями предназначены четыре мето­да: ApplyUpdates, CancelUpdates, CommitUpdates и RevertRecord. Их функ­ции сведены в следующую таблицу:

Метод Функция
ApplyUpdates Сохраняет кэшированные изменения в базе данных.
CancelUpdates Отменяет кэшированные изменения.
CommitUpdates Уведомляет кэш о сохранении изменений.
RevertUpdates Возвращает строку в состояние, которое она имела до изменения, занесенного в кэш.
Существует также несколько свойств, относящихся непосредственно к каптируемым изменениям:
Свойство Описание
CachedUpdates Включает и выключает режим кэширования изменений.
UpdateRecordType Определяет строки, видимые в кэше.

Использование кэша в приложении выглядит следующим образом:

1. Установите значение true для свойства CachedUpdates того компонента TDataSet, изменения в котором вы хотите кэшировать.

2. С помощью свойства UpdateRecordTypes определите строки, которые будут кэшироваться. Это свойство представляет собой набор и может иметь следующие значения: rtModified, rtlnserted, rtDeleted и rtUnmodi- fied. Перечисленные значения определяют тип строк, видимых в том TDataSet, изменения которого будут кэшироваться.

3. Установите обработчик события OnUpdateError для обработки ошибок, которые могут возникнуть при вызове ApplyUpdates.

4. Измените данные TDataSet.

5. Вызовите метод ApplyUpdates для сохранения изменений или метод Сап- celUpdates для их отмены.

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

Web-дизайн (с) 2010 All rights reserved