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才能對資料進行增、刪、改的操作 |
以上就是這方面的相關資料,需要的朋友可以參考一下