Объект Command (ADO)
Определяет определенную команду, которую планируется выполнить в источнике данных.
Remarks
Используйте объект Command для запроса базы данных и возврата записей в объекте Recordset , выполнения массовой операции или управления структурой базы данных. В зависимости от функциональности поставщика некоторые коллекции команд , методы или свойства могут привести к ошибке при ссылке.
С помощью коллекций, методов и свойств объекта Command можно сделать следующее:
Определите исполняемый текст команды (например, инструкцию SQL) со свойством CommandText . Кроме того, для структур команд или запросов, отличных от простых строк (например, запросов шаблонов XML), определите команду со свойством CommandStream .
При необходимости укажите диалект команды, используемый в CommandText или CommandStream со свойством Диалект .
Определите параметризованные запросы или аргументы хранимой процедуры с помощью объектов Parameter и коллекции Parameters .
Укажите, следует ли передавать имена параметров поставщику со свойством NamedParameters .
Выполните команду и верните объект Recordset , если это уместно с помощью метода Execute .
Укажите тип команды с помощью свойства CommandType перед выполнением для оптимизации производительности.
Укажите, сохраняет ли поставщик подготовленную (или скомпилированную) версию команды перед выполнением с помощью свойства Prepared .
Задайте количество секунд, в течение которых поставщик ожидает выполнения команды с помощью свойства CommandTimeout .
Свяжите открытое соединение с объектом Command , задав его свойство ActiveConnection .
Задайте свойство Name , чтобы определить объект Command в качестве метода связанного объекта Connection .
Передайте объект Command в свойство Sourceнабора записей для получения данных.
Доступ к атрибутам конкретного поставщика с помощью коллекции Properties .
Примечание
Чтобы выполнить запрос без использования объекта Command , передайте строку запроса методу Execute объекта Connection или методу Open объекта Recordset . Однако объект Command необходим, если требуется сохранить текст команды и выполнить его повторно или использовать параметры запроса.
Чтобы создать объект Command независимо от ранее определенного объекта Connection , задайте для его свойства ActiveConnection допустимую строку подключения. ADO по-прежнему создает объект Connection , но он не назначает этот объект объекту объектной переменной. Однако если вы связываете несколько объектов Command с одинаковым соединением, необходимо явно создать и открыть объект Connection ; при этом объект Connection назначается переменной объекта. Убедитесь, что объект Connection был успешно открыт, прежде чем назначить его свойству ActiveConnection объекта Command , так как назначение закрытого объекта Connection приводит к ошибке. Если свойство ActiveConnection объекта Command не задано для этой объектной переменной, ADO создает новый объект Connection для каждого объекта Command , даже если используется та же строка подключения.
Чтобы выполнить команду, вызовите ее по свойству Name для связанного объекта Connection . Команда должна иметь свойство ActiveConnection, установленное для объекта Connection. Если команда имеет параметры, передайте их значения в качестве аргументов в метод.
Если два или более объектов Command выполняются в одном соединении, а любой из них является хранимой процедурой с выходными параметрами, возникает ошибка. Чтобы выполнить каждый объект Command , используйте отдельные подключения или отключите все остальные объекты Command от соединения.
Коллекция Parameters является элементом по умолчанию объекта Command . В результате следующие два оператора кода эквивалентны.
objCmd.Parameters.Item(0)
objCmd(0)
- Объект Command не является безопасным для создания скриптов.
Этот раздел содержит следующий раздел.
См. также:
Объект Connection (ADO)
Коллекция Parameters (ADO)
Коллекция Properties (ADO)
Приложение А. Поставщики