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



              

Доступ к связанным наборам данных и командам ADO



Компонент TADOconnection обеспечивает доступ ко всем компонентам, которые используют его для доступа к хранилищу данных ADO. Все открытые таким образом наборы данных доступны через индексированное свойство

property DataSets[Index: Integer]: TCustomADODataSet;

Каждый элемент этого списка содержит дескриптор компонента доступа к данным ADO (тип TCustomADODataSet). Общее число связанных компонентов с наборами данных возвращается свойством

property DataSetCount: Integer;

Для этих компонентов можно централизованно установить тип используемого курсора при помощи свойства

type TCursorLocation = (clUseServer, clUseClient); property CursorLocation: TCursorLocation;

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

Значение cIUseServer задает курсор на сервере, который реализует только возможности сервера, но обеспечивает быструю обработку больших массивов данных.

Например:

for i := 0 to ADOConnection.DataSetCount — 1 do

 begin

if ADOConnection.DataSets[i].Active = True then ADOConnection.DataSets[i].Close;

ADOConnection.DataSets[i].CursorLocation := clUseClient; end;

Помимо наборов данных компонент TADOConnection обеспечивает выполнение команд ADO. Команду ADO инкапсулирует специальный компонент TADOCommand, который рассматривается ниже. Все команды ADO, работающие с хранилищем данных через это соединение, доступны для управления через индексированное свойство

property Commands[Index: Integer]: TADOCommand

Каждый элемент этого списка представляет собой экземпляр класса

TADOCommand.

Общее число доступных команд возвращается свойством

property CommandCount: Integer

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

procedure TForml.ADOConnectionConnectComplete(Connection: TADOConnection; 

const Error: Error; var EventStatus: TEventStatus); 

var i, ErrorCnt: Integer;


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