ADO Execute 方法
❮ 完整连接对象参考
Execute 方法执行指定的查询、SQL 语句、存储过程或提供程序特定文本。
如果它是返回行的查询,则结果将存储在新记录集对象中。如果它不是返回行的查询,则将返回一个关闭的记录集对象。
注意:返回的记录集始终是只读的、向前只读的记录集!
提示:要创建具有更多功能的记录集,首先创建一个记录集对象。设置所需的属性,然后使用记录集对象的 Open 方法执行查询。
返回行的语法
Set objrs=objconn.Execute(commandtext,ra,options)
不返回行的语法
objconn.Execute commandtext,ra,options
参数 | 描述 |
---|---|
commandtext | 必需。要执行的 SQL 语句、存储过程或提供程序特定文本 |
ra | 可选。查询影响的记录数 |
options | 可选。设置提供程序应如何评估 commandtext 参数。可以是一个或多个 CommandTypeEnum 或 ExecuteOptionEnum 值。默认值为 adCmdUnspecified |
示例
<%
sql="SELECT companyname FROM Customers"
Set rs=conn.Execute(sql)
%>
CommandTypeEnum 值
常量 | 值 | 描述 |
---|---|---|
adCmdUnspecified | -1 | 不指定命令类型参数。 |
adCmdText | 1 | 将 CommandText 评估为命令或存储过程调用的文本定义。 |
adCmdTable | 2 | 将 CommandText 评估为表名,其所有列都由内部生成的 SQL 查询返回。 |
adCmdStoredProc | 4 | 将 CommandText 评估为存储过程名称。 |
adCmdUnknown | 8 | 指示 CommandText 属性中的命令类型未知。 |
adCmdFile | 256 | 将 CommandText 评估为持久存储的记录集的文件名。仅与 Recordset.Open 或 Requery 一起使用。 |
adCmdTableDirect | 512 | 将 CommandText 评估为表名,其所有列都将返回。仅与 Recordset.Open 或 Requery 一起使用。要使用 Seek 方法,记录集必须使用 adCmdTableDirect 打开。此值不能与 ExecuteOptionEnum 值 adAsyncExecute 组合使用。 |
ExecuteOptionEnum 值
常量 | 值 | 描述 |
---|---|---|
adOptionUnspecified | -1 | 指示命令未指定。 |
adAsyncExecute | 指示命令应异步执行。此值不能与 CommandTypeEnum 值 adCmdTableDirect 组合使用。 | |
adAsyncFetch | 指示在 CacheSize 属性中指定的初始数量之后,其余行应异步检索。 | |
adAsyncFetchNonBlocking | 指示主线程在检索时从不阻塞。如果请求的行尚未检索,则当前行将自动移动到文件末尾。如果您从包含持久存储的记录集的流中打开记录集,adAsyncFetchNonBlocking 将不起作用;操作将是同步的和阻塞的。当使用 adCmdTableDirect 选项打开记录集时,adAsynchFetchNonBlocking 不会产生任何影响。 | |
adExecuteNoRecords | 指示命令文本是不会返回行的命令或存储过程(例如,仅插入数据的命令)。如果检索到任何行,则会丢弃这些行,不会返回。 | |
adExecuteStream | 指示命令执行的结果应作为流返回。adExecuteStream 只能作为 Command Execute 方法的可选参数传递。 | |
adExecuteRecord | 指示 CommandText 是返回单个行的命令或存储过程,该行应作为 Record 对象返回。 |
❮ 完整连接对象参考