ADO Execute 方法
❮ 完整的 Connection 物件參考
Execute 方法執行指定的查詢、SQL 語句、儲存過程或提供程式特定的文字。
如果是返回行的查詢,結果將儲存在一個新的 Recordset 物件中。如果不是返回行的查詢,將返回一個關閉的 Recordset 物件。
注意:返回的 Recordset 始終是隻讀、向前瀏覽的 Recordset!
提示:要建立一個具有更多功能的 Recordset,請先建立一個 Recordset 物件。設定所需的屬性,然後使用 Recordset 物件的 Open 方法執行查詢。
返回行的語法
Set objrs=objconn.Execute(commandtext,ra,options)
不返回行的語法
objconn.Execute commandtext,ra,options
引數 | 描述 |
---|---|
commandtext | 必需。要執行的 SQL 語句、儲存過程或提供程式特定的文字 |
ra | 可選。受查詢影響的記錄數 |
選項 | 可選。設定提供程式應如何評估 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 的檔名。僅與 Recordset.Open 或 Requery 一起使用。 |
adCmdTableDirect | 512 | 將 CommandText 評估為表名,其所有列都返回。僅與 Recordset.Open 或 Requery 一起使用。要使用 Seek 方法,必須使用 adCmdTableDirect 開啟 Recordset。此值不能與 ExecuteOptionEnum 值 adAsyncExecute 組合使用。 |
ExecuteOptionEnum 值
常量 | 值 | 描述 |
---|---|---|
adOptionUnspecified | -1 | 表示命令未指定。 |
adAsyncExecute | 表示命令應非同步執行。此值不能與 CommandTypeEnum 值 adCmdTableDirect 組合使用。 | |
adAsyncFetch | 表示在 CacheSize 屬性中指定的初始數量之後,剩餘行應非同步檢索。 | |
adAsyncFetchNonBlocking | 表示主執行緒在檢索時從不阻塞。如果請求的行尚未檢索,則當前行會自動移動到檔案末尾。如果您從包含持久儲存的 Recordset 的 Stream 開啟 Recordset,則 adAsyncFetchNonBlocking 不會生效;該操作將是同步且阻塞的。當使用 adCmdTableDirect 選項開啟 Recordset 時,adAsynchFetchNonBlocking 無效。 | |
adExecuteNoRecords | 表示命令文字是不返回行的命令或儲存過程(例如,只插入資料的命令)。如果檢索到任何行,它們將被丟棄且不返回。adExecuteNoRecords 只能作為可選引數傳遞給 Command 或 Connection Execute 方法。 | |
adExecuteStream | 表示命令執行的結果應作為流返回。adExecuteStream 只能作為可選引數傳遞給 Command Execute 方法。 | |
adExecuteRecord | 表示 CommandText 是返回單個行並應作為 Record 物件返回的命令或儲存過程。 |
❮ 完整的 Connection 物件參考