Поделиться через


Объект Command (ADO)

Определяет определенную команду, которую планируется выполнить в источнике данных.

Замечания

Используйте объект Command для запроса базы данных и возврата записей в объекте Recordset, выполнения массовой операции или управления структурой базы данных. В зависимости от функциональности поставщика некоторые коллекции команд , методы или свойства могут привести к ошибке при их ссылке.

С помощью коллекций, методов и свойств объекта Command можно выполнить следующие действия:

  • Определите исполняемый текст команды (например, инструкцию SQL) с помощью свойства CommandText . Кроме того, для структур команд или запросов, отличных от простых строк (например, запросов xml-шаблонов), определите команду со свойством CommandStream .

  • При необходимости укажите диалект команды, используемый в CommandText или CommandStream со свойством "Диалект".

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

  • Укажите, следует ли передавать имена параметров поставщику со свойством NamedParameters .

  • Выполните команду и верните объект Recordset при необходимости с помощью метода Execute .

  • Укажите тип команды со свойством CommandType перед выполнением для оптимизации производительности.

  • Определяет, сохраняет ли поставщик подготовленную (или скомпилированную) версию команды перед выполнением с помощью свойства Prepared .

  • Задайте количество секунд, которое поставщик ожидает выполнения команды с помощью свойства CommandTimeout .

  • Свяжите открытое соединение с объектом Command , задав его свойство ActiveConnection .

  • Задайте свойство Name, чтобы определить объект Command в качестве метода в связанном объекте Connection.

  • Передайте объект Command свойству Source набора записей для получения данных.

  • Доступ к атрибутам для конкретного поставщика с помощью коллекции Свойств .

Примечание.

Чтобы выполнить запрос без использования объекта Command, передайте строку запроса методу Execute объекта Connection или методу Open объекта Recordset. Однако объект Command требуется, если требуется сохранить текст команды и повторно выполнить его или использовать параметры запроса.

Чтобы создать объект Command независимо от ранее определенного объекта Connection, задайте для свойства ActiveConnection допустимое строка подключения. ADO по-прежнему создает объект Connection , но не назначает этот объект переменной объекта. Однако если вы связываете несколько объектов Command с одинаковым подключением, необходимо явно создать и открыть объект Connection. При этом объект Connection назначается переменной объекта Connection. Убедитесь, что объект Connection был открыт успешно, прежде чем назначить его свойству ActiveConnection объекта Command, так как назначение закрытого объекта Connection приводит к ошибке. Если свойство ActiveConnection объекта Command не задано для этой переменной объекта, ADO создает новый объект Connection для каждого объекта Command, даже если используется тот же строка подключения.

Чтобы выполнить команду, вызовите его по свойству Name в связанном объекте Connection. Команда должна иметь свойство ActiveConnection для объекта Connection. Если команда имеет параметры, передайте их значения в качестве аргументов в метод.

Если два или более объектов command выполняются в одном соединении, и любой объект Command является хранимой процедурой с выходными параметрами, возникает ошибка. Чтобы выполнить каждый объект Command, используйте отдельные подключения или отключите все остальные объекты command от соединения.

Коллекция параметров является элементом по умолчанию объекта Command . В результате следующие два оператора кода эквивалентны.

objCmd.Parameters.Item(0)  
objCmd(0)  
  • Объект Command не является безопасным для скриптов.

Этот раздел содержит следующий раздел.

См. также

Объект Connection (ADO)
Коллекция Parameters (ADO)
Коллекция Properties (ADO)
Приложение А. Поставщики