Иллюстрированный самоучитель по Delphi 7 для профессионалов

Соединение с сервером баз данных

После выбора настроенного соединения или выбора типа сервера и настройки параметров соединения компонент TSQLConnection готов к работе.

Свойство:

property Connected: Boolean;

…открывает соединение с сервером при значении True. Аналогичную операцию выполняет метод:

procedure Open;

После открытия соединения все компоненты dbExpress, инкапсулирующие наборы данных и связанные с открытым компонентом TSQLConnection, получают доступ к базе данных.

Соединение закрывается тем же свойством connected или методом:

procedure Close;

При открытии и закрытии соединения разработчик может использовать обработчики событий:

property BeforeConnect: TNotifyEvent;
property AfterConnect: TNotifyEvent;
property BeforeDisconnect: TNotifyEvent;
property AfterDisconnect: TNotifyEvent;

Например, на стороне клиента можно организовать проверку пользователя приложения:

procedure TForml.MyConnectionBeforeConnect(Sender: TObject);
begin
if MyConnection.Params.Values['User_Name']) <> DefaultUser then
begin
MessageDlg('Wrong user name', mtError, [mbOK], 0);
Abort;
end;
end;

Свойство:

property LoginPrompt: Boolean;

…определяет, нужно ли отображать диалог авторизации пользователя перед открытием соединения.

О текущем состоянии соединения можно судить по значению свойства:

TConnectionState = (csStateClosed, csStateOpen, csStateConnecting,
 csStateExecuting, csStateFetching, csStateDisconnecting);
property ConnectionState: TConnectionState;

Параметры соединения можно настраивать на этапе разработки в Инспекторе объектов или Редакторе соединений (см. рис. 17.1). Также это можно сделать и непосредственно перед открытием соединения, используя свойство Params или метод:

procedure LoadParamsFromlniFile(AFileName: String = '');

…который загружает заранее подготовленные параметры из INI-файла. Проверить успешность этой операции можно при помощи свойства:

property Params Loaded: Boolean;

…значение True которого сигнализирует об успехе загрузки.

procedure TForml.StartBtnClickfSender: TObject);
begin
if MyConnection.Params.Values['DriverName'] = " then
MyConnection.LoadParamsFromlniFile
('c:\Temp\dbxalarmconnections.ini');
if MyConnection.ParamsLoaded then
try MyConnection.Open;
except MessageDlgt'Database connection error', mtError, [mbOK], 0);
end;
end;
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.