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



              

Управление соединением - часть 2


esErrorsOccured — в процессе выполнения запроса возникла ошибка;

esCantDeny — соединение не может быть прервано;

esCancel — соединение было прервано до открытия;

esUnwantedEvent внутренний флаг ADO.

Например, в случае успешного соединения можно выбрать синхронный режим работы компонента:

procedure TForml.ADOConnectionWillConnect(Connection: TADOConnection;

 var ConnectionString, UserlD, Password: WideString;

 var ConnectOptions: TConnectOption;

 var Eventstatus: TEventStatus); 

begin if Eventstatus = esOK

then ConnectOptions := coConnectunspecified; 

end;

Кстати, параметр синхронности/асинхронности можно также задать при помощи свойства

ConnectOptions property ConnectOptions: TConnectOption;

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

TConnectErrorEvent = procedure(Connection:

  TADOConnection; Error: Error;

 var Eventstatus: TEventStatus) of object; 

property OnConnectComplete: TConnectErrorEvent;

Здесь, если в процессе открытия соединения возникла ошибка, параметр Eventstatus будет равен esErrorsOccured, а параметр Error содержит объект ошибки ADO.

Теперь перейдем к вспомогательным свойствам и методам компонента TADOConnection, обеспечивающим соединение.

Для ограничения времени открытия соединения для медленных каналов связи используется свойство

property ConnectionTimeout: Integer;

задающее время ожидания открытия соединения в секундах. По умолчанию оно равно 15 сек.

Также можно определить реакцию компонента на неиспользуемое соединение. Если через соединение не подключен ни один активный компонент, свойство

property KeepConnection: Boolean;

в значении True сохраняет соединение открытым. Иначе, после закрытия последнего связанного компонента ADO, соединение закрывается.

При необходимости провайдер соединения ADO определяется напрямую свойством

property Provider: WideString;

Имя источника данных по умолчанию задается свойством

property DefaultDatabase: WideString;


Содержание  Назад  Вперед