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


Метод Execute (объект Command ADO)

Выполняет запрос, инструкцию SQL или хранимую процедуру, указанную в свойстве CommandText или CommandStreamобъекта Command.

Синтаксис

  
Set recordset = command.Execute( RecordsAffected, Parameters, Options )  

Возвращаемое значение

Возвращает ссылку на объект Recordset , поток или Nothing.

Параметры

RecordsAffected
Необязательный элемент. Переменная Long , в которую поставщик возвращает количество записей, затронутых операцией. Параметр RecordsAffected применяется только к запросам действий или хранимым процедурам. RecordsAffected не возвращает количество записей, возвращенных запросом или хранимой процедурой, возвращающей результат. Чтобы получить эти сведения, используйте свойство RecordCount . Метод Execute не возвращает правильные сведения при использовании с adAsyncExecute просто потому, что при асинхронном выполнении команды количество затронутых записей может быть неизвестно на момент возврата метода.

Параметры
Необязательный параметр. Массив Variant значений параметров, используемых в сочетании с входной строкой или потоком, указанным в CommandText или CommandStream. (Выходные параметры не возвращают правильные значения при передаче в этом аргументе.)

Параметры
Необязательный элемент. Значение Типа Long , указывающее, как поставщик должен оценивать свойство CommandText или CommandStream объекта Command . Может быть значением битовой маски, сделанным с помощью значений CommandTypeEnum и (или ) ExecuteOptionEnum . Например, можно использовать adCmdText и adExecuteNoRecords в сочетании , если вы хотите, чтобы ADO оценило значение свойства CommandText как текст и указало, что команда должна отменить и не возвращать записи, которые могут быть созданы при выполнении текста команды.

Примечание

Используйте значение ExecuteOptionEnumadExecuteNoRecords , чтобы повысить производительность за счет минимизации внутренней обработки. Если указан параметр adExecuteStream , параметры adAsyncFetch и adAsynchFetchNonBlocking игнорируются. Не используйте значения CommandTypeEnumadCmdFile или adCmdTableDirect с параметром Execute. Эти значения можно использовать только в качестве параметров с методами Open и Requeryнабора записей.

Комментарии

При использовании метода Execute для объекта Command выполняется запрос, указанный в свойстве CommandText или CommandStream объекта .

Результаты возвращаются в наборе записей (по умолчанию) или в виде потока двоичной информации. Чтобы получить двоичный поток, укажите adExecuteStream в разделе Параметры, а затем укажите поток, задав command.Properties("Output Stream"). Для получения результатов можно указать объект ADO Stream или другой объект потока, например объект IIS Response. Если перед вызовом метода Execute с adExecuteStream поток не указан, возникает ошибка. Положение потока при возврате из Execute зависит от поставщика.

Если команда не предназначена для возврата результатов (например, запроса SQL UPDATE), поставщик возвращает Nothing , если указан параметр adExecuteNoRecords ; В противном случае функция Execute возвращает закрытый набор записей. Некоторые языки приложений позволяют игнорировать это возвращаемое значение, если не требуется набор записей .

Выполнение вызывает ошибку, если пользователь указывает значение для CommandStream , если commandType имеет значение adCmdStoredProc, adCmdTable или adCmdTableDirect.

Если запрос содержит параметры, текущие значения для параметров объекта Command используются, если их не переопределить значениями параметров, передаваемыми с помощью вызова Execute . Вы можете переопределить подмножество параметров, опустив новые значения для некоторых параметров при вызове метода Execute . Порядок, в котором указываются параметры, совпадает с порядком их передачи методом. Например, если имеется четыре (или более) параметра и вы хотите передать новые значения только для первого и четвертого параметров, следует передать Array(var1,,,var4) в качестве аргумента Parameters .

Примечание

Выходные параметры не возвращают правильные значения при передаче в аргумент Parameters .

После завершения этой операции будет выдано событие ExecuteComplete .

Примечание

При выполнении команд, содержащих URL-адреса, те, кто использует схему HTTP, автоматически вызывают поставщика Microsoft OLE DB для публикации в Интернете. Дополнительные сведения см. в разделе Абсолютные и относительные URL-адреса.

Применение

Объект Command (ADO)

См. также:

Примеры методов Execute, Requery и Clear (VB)
Примеры методов Execute, Requery и Clear (VBScript)
Примеры методов Execute, Requery и Clear (VC++)
Свойство CommandStream (ADO)
Свойство CommandText (ADO)
CommandTypeEnum
Метод Execute (объект Connection ADO)
Событие ExecuteComplete (ADO)