Создание приложений для работы с базами данных в сети_____________579

10.2.2 Управление транзакциями, компонент Database

Выше упоминалось о том, что даже без специального, целенаправленного
управления транзакциями они в действительности автоматически осуществляют-
ся при каждой модификации данных. Это производится компонентом типа TData-
base, который C++Builder включает автоматически в любое приложение, работаю-
щее с базами данных. Этот компонент решает следующие задачи:

• Создание соединения с удаленным сервером

• Регистрация пользователя при первом обращении к серверу

• Создание локальных псевдонимов приложений

• Управление транзакциями

• Определение уровня изоляции транзакции (регулирование одновременных

транзакций к одним и тем же таблицам)

Если же вы хотите сознательно управлять транзакциями, вы должны явным
образом включить компонент Database в свое приложение. Он расположен в биб-
лиотеке на странице Data Access.

Database связывается с компонентами наборов данных Table, Query и други-
ми через имя базы данных, к которой он подключается. Это имя задается в свойст-
ве DatabaseName. Может быть задан псевдоним базы данных или полный путь к
ней. Если задается база данных, имеющая псевдоним BDE, то свойства AliasName,
DriverName и Params можно не задавать. В противном случае надо задать или
свойство AliasName, или свойства DriverName и Params.

Установку значений всех этих свойств можно проводить непосредственно в
Инспекторе Объектов, но удобнее воспользоваться специальным редактором, кото-
рый вызывается двойным щелчком на Database (рис. 10.8). Как уже говорилось,
вы можете ограничиться заданием только имени базы данных (окно Name). Но
если ваша база данных имеет псевдоним, вы можете указать и его (окно Alias
Name). В этом случае можно щелкнуть на кнопке Defaults (умолчание) и в окне Pa-
rameter overrides появятся значения параметров по умолчанию. Вы можете внести в
них какие-то изменения. Например, при работе с базой данных, защищенной па-
ролем, вы можете указать в параметрах этот пароль (на рис. 10.8 указан пароль
«I») и сбросить индикатор Login prompt — приглашение к соединению, которое за-
прашивает пароль. Тогда при запуске вашего приложения не будет каждый раз за-
прашиваться пароль. Это облегчит работу пользователей, но, конечно, снимет за-
щиту вашей базы данных.

Индикатор Keep inactive connection устанавливает свойство KeepConnection, о
котором будет сказано ниже.

Рис. 10.8

Установка значений свойств
компонента Database

19*