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

     

    Команды

    Программные средства 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 — обеспечивает работу с параметрами команды.