最新的Web開發教程
 

ADO打開方法


<完整記錄對象參考

Open方法打開,讓您可以訪問記錄表,查詢的結果,或將保存的記錄數據庫元素。

Tip:用它,釋放系統資源後,請務必關閉Recordset對象。 Recordset對象設置為Nothing從內存中完全消除。

句法

objRecordset.Open source,actconn,cursortyp,locktyp,opt

參數 描述
source 可選的。 指定的數據源。 源參數可以是下列之一:
  • 一個URL
  • 的相對/完整的文件路徑名
  • 命令對象
  • 一個SQL語句
  • 存儲過程
  • 表名
actconn 可選的。 連接字符串或連接對象
cursortyp 可選的。 一個CursorTypeEnum值,指定類型的光標使用時打開Recordset對象。 默認值是adOpenForwardOnly
locktyp 可選的。 甲LockTypeEnum值,指定鎖定一個記錄對象的類型。 默認值是ADLOCKREADONLY
opt 可選的。 規定如何,如果它不是一個Command對象評估源參數。 可以是一個或多個CommandTypeEnum之中ExecuteOptionEnum的值。

Open an ADO Table Recordset:

<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"
set rs = Server.CreateObject("ADODB.recordset")
rs.Open "Customers", conn
%>

Open an ADO SQL Recordset:

<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"
set rs = Server.CreateObject("ADODB.recordset")
rs.Open "Select * from Customers", conn
%>

CursorTypeEnum值

不變 描述
adOpenUnspecified-1 未指定類型的游標
adOpenForwardOnly0 默認。 一個只進游標。 當你需要通過一個記錄集僅做一個通這樣可以提高性能
adOpenKeyset1 鍵集游標。 就像一個動態游標,但你不能看到其他用戶添加的記錄,儘管其他用戶刪除的記錄從您的Recordset不可訪問。 其他用戶的數據更改依然可見。
adOpenDynamic2 動態游標。 添加,更改和其他用戶刪除是可見的,並通過記錄所有類型的運動被允許
adOpenStatic3 靜態游標。 一組可以用來查找數據或生成報表的記錄的靜態副本。 添加,更改或由其他用戶刪除是不可見的。

LockTypeEnum值

不變 描述
adLockUnspecified-1 未指定類型的鎖。 克隆繼承從原來的記錄鎖定類型。
adLockReadOnly1 默認。 只讀記錄
adLockPessimistic2 悲觀鎖定,通過記錄記錄。 提供者鎖定記錄編輯後立即
adLockOptimistic3 樂觀鎖,通過記錄記錄。 該供應商鎖定只記錄通話時更新
adLockBatchOptimistic4 樂觀批更新。 需要批量更新模式

CommandTypeEnum之中價值觀

不變 描述
adCmdUnspecified-1 未指定類型的命令
adCmdText1 CommandText作為一個命令的文本定義或存儲過程調用
adCmdTable2 CommandText作為其列由SQL查詢返回的表名
adCmdStoredProc4 CommandText作為存儲過程的名稱
adCmdUnknown8 默認。 未知類型的命令
adCmdFile256 CommandText作為一個永久存儲的Recordset的文件名。 它僅適用Recordset.Open或重新查詢。
adCmdTableDirect512 CommandText作為其列全部返回的表名。 它僅適用Recordset.Open或重新查詢。 要使用Seek方法,那麼Recordset必須以adCmdTableDirect打開。 不能與ExecuteOptionEnum的價值adAsyncExecute結合。

ExecuteOptionEnum的價值觀

不變 描述
adOptionUnspecified-1 未指定命令
adAsyncExecute16 該命令應異步執行。 不能與CommandTypeEnum之中值相結合adCmdTableDirect
adAsyncFetch32 在CacheSize屬性中指定的初始量後的剩餘的行是否應該異步獲取
adAsyncFetchNonBlocking64 主線程不會阻塞在檢索。 如果請求的行尚未提取,當前行自動移動到文件的末尾。 如果從包含永久存儲的Recordset的Stream打開Recordset,那麼adAsyncFetchNonBlocking將不會產生影響; 操作將是同步的和阻塞。 adAsynchFetchNonBlocking將當adCmdTableDirect選項用於打開記錄沒有影響
adExecuteNoRecords128 命令文本是一個命令或者不返回行的存儲過程。 如果任何行被檢索,它們將被放棄,並沒有回來。 adExecuteNoRecords只能作為可選參數到命令或連接Execute方法傳遞
adExecuteStream256 命令執行的結果應被返回作為流。 adExecuteStream只能作為可選參數被傳遞給命令執行方法
adExecuteRecord512 在CommandText是一個命令或存儲過程返回單行應該返回作為記錄對象

<完整記錄對象參考