Программные
средства ADO были бы неполными, если бы не имели возможности использовать
для работы с данными язык SQL. Операторы DML и DDL, ряд специальных
операторов ADO носят общее название текстовых команд.
Объект-команда
инкапсулирует саму текстовую команду и механизм обработки и передачи
команды. Объект команды выполняет следующие операции:
разбор
текста команды;
связывание команды с источником данных;
оптимизацию команды;
передачу команды источнику данных.
Главный интерфейс объекта команды icommand имеет три метода:
function Cancel: HResult; stdcall;
отменяет выполнение команды;
function Execute(const punkOuter: lUnknown; const riid: TGUID;
var pParams: DBPARAMS; pcRowsAffected: PInteger; ppRowset: PlUnknown):
HResult; stdcall;
исполняет команду;
function GetDBSession(const riid: TGUID; out ppSession: lUnknown):
HResult; stdcall;
возвращает ссылку на интерфейс сессии, вызвавший данную команду.
Помимо
основного, объект команды обеспечивает доступ к дополнительным
интерфейсам:
ICommandPrepare
— содержит два метода (Prepare И Unprepare) для подготовки команды;
icommandProperties — задает для команды свойства, которые должны
поддерживаться возвращаемым командой набором данных;
iCommandText — управляет текстом команды (этот интерфейс обязателен
для объекта команды);
icommandwithParameters — обеспечивает работу с параметрами команды.