M Y D E L P H I 7 . R U Самоучитель программирования  
 
  • Главная
  •  

     

    Команда ADO

    Для выполнения запросов к источнику данных любой компонент ADO инкапсулирует специальный объект команды ADO.

    При использовании компонентов-потомков класса TCustomADODataSet обычно нет необходимости применять объект команды напрямую. И хотя все реальное взаимодействие объекта набора данных ADO с источником данных осуществляется через объект команды, настройка и выполнение команды скрыты в свойствах и методах компонентов ADO. Тем не менее в классе TCustomADODataSet доступ к объекту команды можно получить при помощи свойства 

    property Command: TADOCommand;

     

    Примечание 

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

    Тип команды задается свойством

    type

    TCommandType = (cmdUnknown, cmdText, cmdTable, cmdStoredProc, cmdFile,

    cmdTableDirect);

     property CommandType: TCommandType;

    cmdunknown — тип команды неизвестен и будет определен источником данных;

    cmdText — текстовая команда, интерпретируемая источником данных (например запрос SQL); текст должен быть составлен с учетом правил для конкретного источника данных;

    cmdTable — команда на получение набора данных таблицы из хранилища данных;

    cmdstoredProc — команда на выполнение хранимой процедуры;

    cmdFile — команда на получение набора данных, сохраненного в файле в формате, используемым конкретным источником данных;

    cmdTableoirect — команда на получение набора данных таблицы напрямую, например из файла таблицы.

    Текст команды, представленный свойством

    property CommandText: WideString;

    обязательно должен быть согласован с ее типом.

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

    property CommandTimeout: Integer;

    В компонентах наборов данных ADO команды выполняется при выполнении следующих операций:

    •  открытие и закрытие набора данных;
    •  выполнение запросов и хранимых процедур;
    •  обновление набора данных;
    •  сохранение изменений;
    •  групповые операции.

    Разработчик может повлиять на способ выполнения команды. Для этого он может изменить свойство

    type

    TExecuteOption = (eoAsyncExecute, eoAsyncFetch, eoAsyncFetchNonBlocking, eoExecuteNoRecords);

    TExecuteOptions = set of TExecuteOption;

     property ExecuteOptions: TExecuteOptions;

    eoAsyncExecute — асинхронное выполнение команды;

    eoAsyncFetch — асинхронное выполнение команды на обновление набора данных;

    eoAsyncFetchNonBlocking — асинхронное выполнение команды на обновление набора данных без установки блокировки;

    eoExecuteNoRecords — выполнение команды не требует возвращения набора данных.