Метод 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-адреса.
Применение
См. также:
Примеры методов Execute, Requery и Clear (VB)
Примеры методов Execute, Requery и Clear (VBScript)
Примеры методов Execute, Requery и Clear (VC++)
Свойство CommandStream (ADO)
Свойство CommandText (ADO)
CommandTypeEnum
Метод Execute (объект Connection ADO)
Событие ExecuteComplete (ADO)