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

Управление соединением

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

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;

Но если этот же параметр указан в строке соединения, то он перекрывает собой значение свойства.

При необходимости прямой доступ к объекту соединения OLE DB обеспечивает свойство:

property ConnectionObject: _Connection;

При открытии соединения необходимо вводить имя пользователя и его пароль. Появление стандартного диалога управляется свойством:

property LoginPrompt: Boolean;

Без этого диалога для задания данных параметров можно использовать свойство Connectionstring, метод open (см. выше) или метод-обработчик:

type TLoginEvent = procedure(Sender:TObject;
Username, Password: string)
of object;
property OnLogin: TLoginEvent;

Свойство:

type TConnectMode = (cmUnknown, cmRead, cmWrite, cinReadWrite,
cmShareDenyRead, cmShareDenyWrite, cmShareExclusive, cmShareDenyNone);
property Mode: TConnectMode;

…задает доступные для соединения операции:

  • cmUnknown – разрешение неизвестно или не может быть установлено;
  • cmRead – разрешение на чтение;
  • cmwrite – разрешение на запись;
  • cmReadWrite – разрешение на чтение и запись;
  • cmshareDenyRead – разрешение на чтение для других соединений запрещено;
  • cmshareoenywrite – разрешение на запись для других соединений запрещено;
  • cmShareExciusive – разрешение на открытие для других соединений запрещено;
  • cmshareDenyNone – открытие других соединений с разрешениями запрещено.
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.