天天看點

ADO中_RecordsetPtrD對象Open方法原型

 HRESULT 類名::Open ( const _variant_t & Source, const _variant_t & ActiveConnection, enum CursorTypeEnum CursorType, enum LockTypeEnum LockType, long Options ) 

①Source是資料查詢字元串

②ActiveConnection是已經建立好的連接配接(我們需要用Connection對象指針來構造一個_variant_t對象) 

③CursorType光标類型,它可以是以下值之一,請看這個枚舉結構:enum

CursorTypeEnum

{

adOpenUnspecified = -1,///不作特别指定

adOpenForwardOnly = 0,///前滾靜态光标。這種光标隻能向前浏覽記錄集,比如用MoveNext向前滾動,這種方式可以提高浏覽速度。但諸如BookMark, RecordCount, AbsolutePosition, AbsolutePage都不能使用

adOpenKeyset = 1,///采用這種光标的記錄集看不到其它使用者的新增、删除操作,但對于更新原有記錄的操作對你是可見的。

adOpenDynamic = 2,///動态光标。所有資料庫的操作都會立即在各使用者記錄集上反應出來。

adOpenStatic = 3///靜态光标。它為你的記錄集産生一個靜态備份,但其它使用者的新增、删除、更新操作對你的記錄集來說是不可見的。

};

④LockType鎖定類型,它可以是以下值之一,請看如下枚舉結構:enum

LockTypeEnum

adLockUnspecified = -1,///未指定

adLockReadOnly = 1,///隻讀記錄集

adLockPessimistic = 2,悲觀鎖定方式。資料在更新時鎖定其它所有動作,這是最安全的鎖定機制

adLockOptimistic = 3,樂觀鎖定方式。隻有在你調用Update方法時才鎖定記錄。在此之前仍然可以做資料的更新、插入、删除等動作

adLockBatchOptimistic = 4,樂觀分批更新。編輯時記錄不會鎖定,更改、插入及删除是在批處理模式下完成。

5 option可以取以下值 

adCmdText:表明CommandText是文本指令

adCmdTable:表明CommandText是一個表名

adCmdProc:表明CommandText是一個存儲過程

adCmdUnknown:未知

本文轉自 韬光星夜 51CTO部落格,原文連結:http://blog.51cto.com/xfqxj/532701,如需轉載請自行聯系原作者