Шаг 8.
Технология ADO.
Компонент TADOCommand

    На этом шаге мы рассмотрим компонент TADOCommand.

    Компонент TADOCommand предназначен в основном для выполнение команд, не возвращающих результаты, таких как SQL-операторы языка определения данных DDL (Data Definition Language). К предложениям DDL относятся практически все запросы, которые не начинаются зарезервированным словом Select.

    Текст исполняемой команды хранится в свойстве CommandText. За один прием компонент TADOCommand способен исполнить только одну команду.

    При некоторых обстоятельствах компонент TADOCommand способен возвращать результаты. Для этого в него включены три реализации метода Execute, две из которых как раз и предназначены для создания набора записей. Использование возвращаемого набора данных возможно с помощью компонента-посредника TADODataSet:

   ADODataSet1.RecordSet:=ADOCommand1.Execute;   
Множество ExecuteOptions при этом должно содержать значение eoExecuteNoRecords.

    Особенностью компонента TADOCommand является специализированный текстовый редактор, с помощью которого можно сформировать команду. Этот редактор (рисунок 1) вызывается щелчком на кнопке с многоточием в стороке свойства CommandText инспектора объектов.


Рис. 1. Редактор команды компонента TADOCommand

    Все окно редактора поделено на три части. В левой верхней части отображается список таблиц базы данных, с которой связан компонент, в нижней левой - список полей для выделенной таблицы, всю остальную часть занимает собственно текстовый редактор. Справочные окна в левой части лишь облегчают набор текста, который в основном формируется вручную в правом поле.

    Свойства компонента TADOCommand приведены в таблице 1.

   
Таблица 1.Свойства компонента TADOCommand
Свойство Описание
property CommandText: WideString;
Указывает, какая команда должна выполняться с помощью метода Execute. Это может быть строка, содержащая SQL-оператор, имя таблицы или хранимой процедуры. Для обеспечения более высокой производительности необходимо указывать тип команды в свойстве CommandType.
property CommandTimeout: Integer;
Указывает количество времени в секундах, после которого команда будет отменена, по умолчанию 30 с.
property CommandType: TCommandType;
Определяет тип команды, заданной в свойстве CommandText. Возможные значения:
  • mdUnknown - тип заданной команды неизвестен;
  • cmdText - текстовое представление команды или хранимой процедуры;
  • cmdTable - в свойстве CommandText указано имя таблицы, образующей обрабатываемый набор;
  • cmdStoredProc - в свойстве CommandText указано имя хранимой процедуры, создающей набор данных;
  • cmdFile - в свойстве CommandText указано имя файла с сохраненным набором записей;
  • cmdTableDirect - в свойстве CommandText указано имя таблицы.
property Connection: TADOConnection;
Используется для указания компоненты TADOConnection, предназначенной для соединения с базой данных.
property ConnectionString: WideString;
Используется для указания подробной информации о соединениях с источником данных. Применяется вместо использования компонента TADOConnection.
property ExecuteOptions: TExecuteOptions;
Используется для установки режимов, влияющих на выполнение команды, указанной в свойстве CommandText. Возможные значения:
  • eoAsyncExecute - асинхронное выполнение команды;
  • eoAsyncFetch - асинхронное выполнение команды на обновление набора данных;
  • eoAsyncFetch-NonBlocking - асинхронное выполнение команды на обновление набора данных без установки блокировки;
  • eoExecuteNoRecords - команда или хранимая процедура ничего не возвращает; если получены какие-то строки, то они игнорируются;
property Parameters;
Используется для установки значений параметров, необходимых для выполнения SQL-запроса или же хранимой процедуры.
property Prepared: Boolean;
Значение данного свойства нужно установить в True, перед вызовом команды, для указания того, что скомпилированная версия данной команды перед выполнением должна быть сохранена для ускорения последующих вызовов.

    На следующем шаге мы рассмотрим класс TCustomADODataSet.




Предыдущий шаг Содержание Следующий шаг