rs.Open SQL,Conn,adOpenStatic,adLockOptimistic
第二個數:conn 即數據庫的連接
第三個參數:
0 創建只能向前滾動的只讀記錄集
1 游標允許你添加,刪除和修改記錄,但是看不到當你的記錄集打開是其他用戶所做的修改
2 游標允許你添加,刪除和修改記錄,并且可以看到其他用戶所做的修改
3 創建一個具有所有定位功能的只讀記錄集,即:可以向前,向后,并且可以標記書簽
第四個:
1 記錄是只讀的,并且不能改變
2 記錄在你可以對其進行編輯時是被鎖定的
3 在你調用Update方法提交你所做的改變時記錄是被鎖定的
4 如果你在對一系列記錄進行批量更新,在需要它
?
記錄集rs.open?參數說明RS.OPEN?SQL,CONN,A,B
A:?
ADOPENFORWARDONLY(=0)?
只讀,且當前數據記錄只能向下移動
ADOPENKEYSET(=1)?
只讀,當前數據記錄可自由移動
ADOPENDYNAMIC(=2)?
可讀寫,當前數據記錄可自由移動
ADOPENSTATIC(=3)?
可讀寫,當前數據記錄可自由移動,可看到新增記錄
B:
ADLOCKREADONLY(=1)?
缺省鎖定類型,記錄集是只讀的,不能修改記錄
ADLOCKPESSIMISTIC(=2)?
悲觀鎖定,當修改記錄時,數據提供者將嘗試鎖定記錄以確保成功地編輯記錄。只要編輯一開始,則立即鎖住記錄。
ADLOCKOPTIMISTIC(=3)?
樂觀鎖定?,直到用Update方法提交更新記錄時才鎖定記錄。
ADLOCKBATCHOPTIMISTIC(=4)?
批量樂觀鎖定,允許修改多個記錄,只有調用UpdateBatch方法后才鎖定記錄。
當不需要改動任何記錄時,應該使用只讀的記錄集,這樣提供者不用做任何檢測。
對于一般的使用,樂觀的鎖定可能是最好的選擇,因為記錄只被鎖定一小段時間,
數據在這段時間被更新。這減少了資源的使用。
DISTINCT?參數用來選取一列中所有的不同的值。例如:表中城區記錄中有3000條數據,但是城區只有5個,
從中提取出城區的名稱:?SELECT?DISTINCT?城區?FROM?Table。
對于類似城區,街道從數據庫中數據進行關聯,可以使用以下語句:
Dim?cnn?As?ADODB.Connection
Dim?rs?As?ADODB.Recordset
Dim?strSQL?As?String
Private?Sub?DataCombo1_Change()
Set?rs?=?New?ADODB.Recordset
strSQL?=?"SELECT?DISTINCT?街道?FROM?shuju?WHERE?城區='"?&?DataCombo1.Text?&?"'"
rs.Open?strSQL,?cnn,?adOpenKeyset,?adLockReadOnly
????Set?DataCombo2.DataSource?=?rs
????Set?DataCombo2.RowSource?=?rs
????DataCombo2.ListField?=?rs.Fields("街道").Name
End?Sub
Private?Sub?Form_Load()??'load?城區?to?DataCombo1
Set?cnn?=?New?ADODB.Connection
????cnn.Provider?=?"Microsoft.Jet.OLEDB.4.0"
????cnn.ConnectionString?=?"Data?Source="?&?App.Path?&?"\data.mdb;Persist?Security?Info=False"
????cnn.Open
Set?rs?=?New?ADODB.Recordset
strSQL?=?"SELECT?DISTINCT?城區?FROM?shuju"
rs.Open?strSQL,?cnn,?adOpenKeyset,?adLockReadOnly
????Set?DataCombo1.DataSource?=?rs
????Set?DataCombo1.RowSource?=?rs
????DataCombo1.ListField?=?rs.Fields("城區").Name
End?Sub
轉載于:https://www.cnblogs.com/min10/archive/2009/03/26/1422275.html
總結
以上是生活随笔為你收集整理的rs.Open SQL,Conn,adOpenStatic,adLockOptimistic的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转】构造函数的执行序列
- 下一篇: WinDBG工具简介(.net大会中张银