RecordSet中的open完全的文法是
複製代碼 代碼如下:
SecordSet.Open Source,ActiveConnection,CursorType,LockType,Options
例如: rs.open sql,conn,1,3
CursorType是
adOpenForwardOnly 0 預設遊標類型, 為開啟向前遊標, 只能在記錄集中向前移動.
adOpenKeyset 1 開啟鍵集類型的遊標, 可以在記錄集中向前或向後移動. 如果其他使用者修改或刪除了一條記錄, 記錄集中將反映這個變化. 但是, 如果其他使用者添加了一條新記錄, 新記錄不會出現在記錄集中.
AdOpenDynamic 2 開啟動態資料指標, 可以在記錄集中向前或向後移動. 其他用記造成的記錄的任何變化都將在記錄集中有所反映.
adOpenStatic 3 開啟靜態資料指標, 可以在記錄集中向前或向後移動. 但是, 靜態資料指標不會對其他使用者造成的記錄變化有所反映.
LockType是
adLockReadOnly 1 唯讀鎖定, 指定不能修改記錄集中的記錄.
adLockPrssimistic 2 保護式鎖定, 指在編輯一個記錄時, 立即鎖定它.
adLockOptimistic 3 開放式鎖定, 指定只有調用記錄集的 Update() 方法時才能鎖定記錄.
adLockBatchOptimistic 4 開放式批鎖定, 指定記錄只能成批地更新.
最常用的兩種方法:
rs.open sql,conn,1,1 '讀取顯示資料時用,唯讀
rs.open sql,conn,1,3 '更新或插入資料時用,讀寫
以下是其它網友的補充
recordset.Open Source,ActiveConnection,CursorType,LockType,Options
可以寫成:
rs.open SQL語句,conn對象,3(遊標類型),2(鎖定方法)
Source
Recordset對象可以通過Source屬性來串連Command對象。Source參數可以是一個Command對象名稱、一段SQL命令、一個指定的資料表名稱或是一個Stored Procedure。假如省略這個參數,系統則採用Recordset對象的Source屬性。
ActiveConnection
Recordset對象可以通過ActiveConnection屬性來串連Connection對象。這裡的ActiveConnection可以是一個Connection對象或是一串包含資料庫連接資訊(ConnectionString)的字串參數。
CursorType
Recordset對象Open方法的CursorType參數表示將以什麼樣的遊標類型啟動資料,包括adOpenForwardOnly、adOpenKeyset、adOpenDynamic及adOpenStatic,分述如下:
常數 |
常數值 |
說明 |
adOpenForwardOnly |
0預設值 |
啟動一個只能向前移動的遊標(Forward Only) |
adOpenKeyset |
1 |
啟動一個Keyset類型的遊標 |
adOpenDynamic |
2 |
啟動一個Dynamic類型的遊標 |
adOpenStatic |
3 |
啟動一個Static類型的遊標 |
以上幾個遊標類型將直接影響到Recordset對象所有的屬性和方法,以下列表說明他們之間的區別。
Recordset屬性 |
adOpenForwardOnly |
adOpenKeyset |
adOpenDynamic |
adOpenStatic |
AbsolutePage |
不支援 |
不支援 |
可讀寫 |
可讀寫 |
AbsolutePosition |
不支援 |
不支援 |
可讀寫 |
可讀寫 |
ActiveConnection |
可讀寫 |
可讀寫 |
可讀寫 |
可讀寫 |
BOF |
唯讀 |
唯讀 |
唯讀 |
唯讀 |
Bookmark |
不支援 |
不支援 |
可讀寫 |
可讀寫 |
CacheSize |
可讀寫 |
可讀寫 |
可讀寫 |
可讀寫 |
CursorLocation |
可讀寫 |
可讀寫 |
可讀寫 |
可讀寫 |
CursorType |
可讀寫 |
可讀寫 |
可讀寫 |
可讀寫 |
EditMode |
唯讀 |
唯讀 |
唯讀 |
唯讀 |
EOF |
唯讀 |
唯讀 |
唯讀 |
唯讀 |
Filter |
可讀寫 |
可讀寫 |
可讀寫 |
可讀寫 |
LockType |
可讀寫 |
可讀寫 |
可讀寫 |
可讀寫 |
MarshalOptions |
可讀寫 |
可讀寫 |
可讀寫 |
可讀寫 |
MaxRecords |
可讀寫 |
可讀寫 |
可讀寫 |
可讀寫 |
PageCount |
不支援 |
不支援 |
唯讀 |
唯讀 |
PageSize |
可讀寫 |
可讀寫 |
可讀寫 |
可讀寫 |
RecordCount |
不支援 |
不支援 |
唯讀 |
唯讀 |
Source |
可讀寫 |
可讀寫 |
可讀寫 |
可讀寫 |
State |
唯讀 |
唯讀 |
唯讀 |
唯讀 |
Status |
唯讀 |
唯讀 |
唯讀 |
唯讀 |
AddNew |
支援 |
支援 |
支援 |
支援 |
CancelBatch |
支援 |
支援 |
支援 |
支援 |
CancelUpdate |
支援 |
支援 |
支援 |
支援 |
Clone |
不支援 |
不支援 |
不支援 |
不支援 |
Close |
支援 |
支援 |
支援 |
支援 |
Delete |
支援 |
支援 |
支援 |
支援 |
GetRows |
支援 |
支援 |
支援 |
支援 |
Move |
不支援 |
支援 |
支援 |
支援 |
MoveFirst |
支援 |
支援 |
支援 |
支援 |
MoveLast |
不支援 |
支援 |
支援 |
支援 |
MoveNext |
支援 |
支援 |
支援 |
支援 |
MovePrevious |
不支援 |
支援 |
支援 |
支援 |
NextRecordset |
支援 |
支援 |
支援 |
支援 |
Open |
支援 |
支援 |
支援 |
支援 |
Requery |
支援 |
支援 |
支援 |
支援 |
Resync |
不支援 |
不支援 |
支援 |
支援 |
Supports |
支援 |
支援 |
支援 |
支援 |
Update |
支援 |
支援 |
支援 |
支援 |
UpdateBatch |
支援 |
支援 |
支援 |
支援 |
其中NextRecordset方法並不適用於Microsoft Access資料庫。
LockType
Recordset對象Open方法的LockType參數表示要採用的Lock類型,如果忽略這個參數,那麼系統會以Recordset對象的LockType屬性為預設值。LockType參數包含adLockReadOnly、adLockPrssimistic、adLockOptimistic及adLockBatchOptimistic等,分述如下:
常數 |
常數值 |
說明 |
adLockReadOnly |
1預設值 |
Recordset對象以唯讀方式啟動,無法運行AddNew、Update及Delete等方法 |
adLockPrssimistic |
2 |
當資料來源正在更新時,系統會暫時鎖住其他使用者的動作,以保持資料一致性 |
adLockOptimistic |
3 |
當資料來源正在更新時,系統並不會鎖住其他使用者的動作,其他使用者可以對資料進行增、刪、改的操作 |
adLockBatchOptimistic |
4 |
當資料來源正在更新時,其他使用者必須將CursorLocation屬性改為adUdeClientBatch才能對資料進行增、刪、改的操作 |
以上就是這方面的相關資料,需要的朋友可以參考一下