П Read - только чтение;
П ReadWrite - чтение и запись;
• Share Deny None - полный доступ всем на чтение и запись; П Share Deny Read - чтение запрещено всем; П Share Deny Write - запись запрещена всем; П Share Exclusive - чтение и запись запрещена всем; П Write - только запись.
Последняя страница All (рис. 19.6) позволяет просмотреть и при необходимости изменить все сделанные настройки (для этого предназначена кнопка Edit Value...) для выбранного провайдера.
Рис. 19.6. Диалоговое окно настройки параметров соединения на странице просмотра настроек
После подтверждения сделанных в диалоге настроек из них формируется значение свойства connectionstring.
Управление соединением
Соединение с хранилищем данных ADO открывается и закрывается при помощи свойства
property Connected: Boolean;
или методов ргосе±гге Cpen;
overload;
procedure open (const useriD: widestring;
const PassraDrd: WideStxixicj);
overload;
и
procedure Close;
Метод open является перегружаемым при необходимости использования удаленного или локального соединения. Для удаленного соединения применяется вариант С параметрами UseriD И Password.
До и после открытия и закрытия соединения разработчик может использовать соответствующие стандартные методы-обработчики событий:
property BeforeConnect: TNotifyEVent;
property BeforeDisconnect: TNotifyEVent;
property AfterConnect: TNotifyEVent;
property AfterDisconnect: TNotifyEVent ;
Кроме этого, компонент TADOConnection имеет дополнительные методы-обработчики. После получения подтверждения от провайдера о том, что соединение будет открыто, перед его реальным открытием вызывается метод
TWillConnectEvent = procedure(Connection: TADCConnection;
var Connectionstring, UseriD, Password: WideString;
var ConnectOptions: TConnectCption;
var EVentStatus: TEVentStatus) of object;
property CnWillConnect: TWillConnectEVent;
Параметр Connection содержит указатель на вызвавший обработчик компонент.
Параметры Connectionstring, UseriD И Password определяют строку параметров, имя и пароль пользователя.
Соединение может быть синхронным или асинхронным, что и определяется параметром ConnectCptions типа TConnectCption:
type TConnectCption = (coConnectUnspecified, coAsyncConnect) ;
coConnectünspecified - синхронное соединение всегда ожидает результат последнего запроса;
coAsyncConnect - асинхронное соединение может выполнять новые запросы, не дожидаясь ответа от предьщущих запросов.
Наконец, параметр Eventstatus позволяет определить успешность выполнения посланного запроса на соединение:
type
TEventStatus = (esOK, esErrorsOccured, esCantDeny, esCancel, esUnwantedEvent) ;
esOK - запрос на соединение выполнен успешно;
esErrorsOccured - в процессе выполнения запроса возникла ошибка;
esCantDeny - соединение не может быть прервано;
esCancel - соединение было прервано до открытия;
esUnwantedEvent - внутренний флаг ADO.
Например, в случае успешного соединения можно выбрать синхронный режим работы компонента:
procedure TForml. ADOConnectionWillConnect (Connection: TALTXannection; var ConnectionStrdng, UserlD, Password: WideStrrng; var ConnectOptions: TConnectCption; var Eventstatus: TEventStatus); begin if Eventstatus = esOK