Главная » Статьи » Delphi + БД |
Компонент TDatabase Обычно при разработке приложений, использующих базы данных, с помощью утилит конфигурации BDE создаются псевдонимы, указывающие на тип и расположение данных. Компоненты ТТablе, TQuery, TStoredProc обладают свойством DatabaseName, при установке которого на этапе проектирования можно выбрать необходимый псевдоним из выпадающего списка или явно указать каталог, в котором располагаются таблицы локальных баз данных. Однако иногда бывает необходимо создать псевдоним динамически или переопределить какие-либо параметры настройки драйвера базы. В этом случае обычно используется компонент TDatabase, помещаемый явно па форму или в модуль данных. Если определить свойство DatabaseName этого компонента, оно появится в списке псевдонимов при установке одноименного свойства DatabaseName компонентов ТТablе, TQuery и TStoredProc. Если компонент не был размещен на форме, то он будет создан динамически, с настройками по умолчанию. Так как компонент отвечает за взаимодействие с BDE, его создание будет инициироваться компонентами ТТablе, TQuery и TStoredProc. Переопределить параметры псевдонима базы данных можно с помощью инспектора объектов. В свойстве TTransIsolation можно определить уровень изоляции транзакции.
Рис. 3.11. Редактор свойств компонента TDatabase Нажав кнопку Defaults, можно установить стандартные настройки данного псевдонима. Обратиться к параметрам псевдонима можно через свойство Params. Для того чтобы минимизировать число обращений к серверу, все компоненты, предназначенные для работы с какой-либо базой данных, связываются через свойство Database с компонентом TDatabase, а тот, в свою очередь, связывается с базой данных. Если приложение должно работать с несколькими базами данных, то в модуле данных размещается несколько компонентов TDatabase. Повлиять на выполнение серверных транзакций можно путем кэширования внесенных пользователем изменений вместо попытки немедленного сохранения их в базе данных. В этом случае изменения, внесенные пользователем, сохраняются в кэш данных методом Post и отсылаются на сервер методом Apply-Updates. Для включения механизма кэширования измененных данных свойству CachedUpdates компонентов ТТablе и TQuery присваивается значение True. Кэширование изменений удобно по многим причинам. Во-первых, значительно снижается нагрузка на сеть, так как пересылаются данные не нескольких транзакций, а только одной. А во-вторых, если но каким-либо причинам транзакция не была завершена, то метод вернет значение False, но при этом несохраненные изменения останутся в кэше базы данных. Потом можно попытаться сохранить их еще раз или изменить их. При выполнении метода ApplyUpdates автоматически запускается транзакция, которая завершается после внесения всех изменений на сервере. В случае успешного завершения транзакции кэш очищается. Компонент TSession Компонент TSession реализует текущий сеанс работы с базой данных и предназначен для управления всеми соединениями с базами данных. Компонент создается автоматически при запуске приложения. Явное использование компонента может быть продиктовано необходимостью создания многопоточных приложений баз данных. Компонент также может быть применен для управления настройками псевдонимов и драйверов. Свойство SessionName определяет имя сеанса. Компоненты ТТablе, TQuery и TDatabase связываются с компонентом TSession через свойство Session, в котором указывается название сессии, определенной программистом. Свойства сессии, заданной компонентом TSession, действуют на все связанные с ним компоненты TDatabase. Свойство Databases содержит массив связанных компонентов TDatabase. При помощи этого свойства можно получить доступ к активным базам данных, с которыми установлено соединение. А свойство DatabaseCount показывает количество связанных баз данных, Также компонент имеет методы, позволяющие удалять псевдонимы баз данных и их драйверы, добавлять их и совершать иные действия. | |
Категория: Delphi + БД | Добавил: Шаке (28.02.2012) | |
Просмотров: 2151
| Теги: |
Всего комментариев: 0 | |