Обучающие курсы:

Обучение профессии "Разработчик C#" + стажировка в Mail.ru
Обучение профессии "Разработчик Python" + трудоустройство
Обучение профессии "Веб-разработчик" + стажировка в Mail.ru


Главная страница
Библиотека (скачать книги)
Скачать софт
Введение в программирование
Стандарты для C++
Уроки по C#
Уроки по Python
HTML
Веб-дизайн
Ассемблер в среде Windows
ActiveX
Javascript
Общее о Линукс
Линукс - подробно
Линукс - новое
Delphi
Паскаль для начинающих
Турбопаскаль
Новости
Партнеры
Наши предложения
Архив новостей





Компонент TDatabase

Обычно при разработке приложений, использующих базы данных, с помощью утилит конфигурации BDE создаются псевдонимы, указывающие на тип и расположение данных. Компоненты ТТablе, TQuery, TStoredProc обладают свойством DatabaseName, при установке которого на этапе проектирования можно выбрать необходимый псевдоним из выпадающего списка или явно указать каталог, в котором располагаются таблицы локальных баз данных.

 

Однако иногда бывает необходимо создать псевдоним динамически или переопределить какие-либо параметры настройки драйвера базы. В этом случае обычно используется компонент TDatabase, помещаемый явно па форму или в модуль данных. Если определить свойство DatabaseName этого компонента, оно появится в списке псевдонимов при установке одноименного свойства DatabaseName компонентов ТТablе, TQuery и TStoredProc. Если компонент не был размещен на форме, то он будет создан динамически, с настройками по умолчанию. Так как компонент отвечает за взаимодействие с BDE, его создание будет инициироваться компонентами ТТablе, TQuery и TStoredProc.

 

Переопределить параметры псевдонима базы данных можно с помощью инспектора объектов. В свойстве TTransIsolation можно определить уровень изоляции транзакции.
Также параметры псевдонима базы данных можно изменять в редакторе свойств компонента TDatabase. Окно редактора показано на рис. 3,11. Вызывается редактор двойным щелчком мыши на компоненте.

 

Рис. 3.11. Редактор свойств компонента TDatabase

 

Нажав кнопку Defaults, можно установить стандартные настройки данного псевдонима. Обратиться к параметрам псевдонима можно через свойство Params.
Также компонент TDatabase используется для сокращения числа обращений к базе данных. К примеру, если на форме расположено несколько компонентов, взаимодействующих с базой данных, то каждый из них обращается к серверу и передает ему параметры, идентифицирующие пользователя.
На сервере производится проверка и принимается решение о допуске пользователя к работе.

Для того чтобы минимизировать число обращений к серверу, все компоненты, предназначенные для работы с какой-либо базой данных, связываются через свойство 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 показывает количество связанных баз данных,
Методы GetDatabaseNames и GetAliasNames возвращают списки драйверов и псевдонимов баз данных. Метод GetAliasParams позволяет разработчику получить параметры данного псевдонима. А метод GetTableNames возвращает имена таблиц, содержащихся в обрабатываемой базе данных.

 

Также компонент имеет методы, позволяющие удалять псевдонимы баз данных и их драйверы, добавлять их и совершать иные действия.



   
 

Библиотека программиста. 2009.
Администратор: admin@programmer-lib.ru