Н. 3. Елманова. C++Builder 3.0, архитектура "клиент/сервер" и Internet
Отметим, что переопределить параметры псевдонима базы данных мож~ но также и с помощью инспектора объектов - они содержатся в опублико. ванных свойствах компонента TDatabase (рис. 3.5, 3.6).
Рис. 3.5. Редактор свойств компонента  TDatabase
Помимо переопределения параметров псевдонимов или создания новых псевдонимов компонент TDatabase нередко используется для минимизации8] числа обращений к серверу. Как было сказано выше, компоненты ТТаЫе, TQuery и TStoredProc инициируют динамическое создание компонента TDatabase, если он в явном виде не присутствует в форме или модуле данных. Соответственно каждый раз, когда в процессе выполнения приложения создается новая форма, пользователь получает диалог ввода имени и пароля, и, что не менее существенно, происходит обращение клиентского приложения к серверу баз данных с целью выяснения существования такого пользователя, правильности его пароля, а также его прав на таблицы и иные объекты базы данных посредством вызовов функций BDE, обращающихся, в свою очередь, к функциям прикладного программного интерфейса клиентской части соответствующего сервера. Чтобы избежать этой ситуации, на форму или в модуль данных, создаваемый при запуске приложения, помещается компонент TDatabase (или несколько компонентов TDatabase, если приложение использует несколько различных баз данных) и свойство DatabaseName всех компонентов ТТаЫе, TQuery, TStoredProc устанавливает-
46
Компоненты Data Access, используемые в приложениях клиент/сервер
ся равным не имени соответствующего псевдонима, а имени соответствующего компонента TDatabase.
Рис. 3.6. Опубликованные свойства компонента TDatabase
Object Inspector
JTablel: ТТаЫе Properties ] Events 1
:з
Active	: false AutoCalcFiekfc true CachedUpdab false
DatabaseNarri rny_database^] Exclusive      j false Filter	i Filtered         \ false i-FilterOptions  '.[] IndexFieldNarr! IndexFiles      :(TindexFiles) IrtdexMame MasterFields MasterSource Name            ; Table!                     _^J
Рис. 3.7. Связь компонента ТТаЫе с компонентом  TDatabase
47