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


Объект Command (ADO)

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

Комментарии

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Доступ к атрибутам поставщика с помощью коллекции 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)
Приложение А. Поставщики