讀取數據都是用rs.open sql,conn,1,1
修改數據:rs.open sql,conn,1,3
刪除數據:直接要conn.execute("delete * from new where id=1")這樣的。
rs.open語法如下:rs.open source,activeconnection,cursortype,locktype
source為sql語句,activeconnection為數據庫教程連接,cursortype是游標,locktype是數據鎖定類型.
cursortype
常量 說明
adopenforwardonly(值為0) (默認值)打開僅向前類型游標。
adopenkeyset(值為1) 打開鍵集類型游標。
adopendynamic(值為2) 打開動態類型游標。
adopenstatic(值為3) 打開靜態類型游標。
locktype
常量 說明
adlockreadonly (值為1) (默認值)只讀 — 不能改變數據。
adlockpessimistic(值為2) 保守式鎖定(逐個) — 提供者完成確保成功編輯記錄所需的工作,通常通過在編輯時立即鎖定數據源的記錄來完成。
adlockoptimistic(值為3) 開放式鎖定(逐個) — 提供者使用開放式鎖定,只在調用 update 方法時才鎖定記錄。
adlockbatchoptimistic(值為4) 開放式批更新 — 用於批更新模式(與立即更新模式相對)。
cursortype
0 僅向前游標,只能向前浏覽記錄,不支持分頁、recordset、bookmark
1 鍵集游標,其他用戶對記錄說做的修改將反映到記錄集中,但其他用戶增加或刪除記錄不會反映到記錄集中。支持分頁、recordset、bookmark
2 動態游標功能最強,但耗資源也最多。用戶對記錄說做的修改,增加或刪除記錄都將反映到記錄集中。支持全功能浏覽。
3 靜態游標,只是數據的一個快照,用戶對記錄說做的修改,增加或刪除記錄都不會反映到記錄集中。支持向前或向後移動
locktype
locktype為記錄集的鎖定類型,其取值為:
1 鎖定類型,默認的,只讀,不能作任何修改
2 當編輯時立即鎖定記錄,最安全的方式
3 只有在調用update方法時才鎖定記錄集,而在此前的其他操作仍可對當前記錄進行更改、插入和刪除等
4 當編輯時記錄不會被鎖定,而更改、插入和刪
rs.open sql,conn,3,2
這兩個是游標,具體的作用是:
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方法後才鎖定記錄。
當不需要改動任何記錄時,應該使用只讀的記錄集,這樣提供者不用做任何檢測。
對於一般的使用,樂觀的鎖定可能是最好的選擇,因為記錄只被鎖定一小段時間,
數據在這段時間被更新。這減少了資源的使用。
總結一下:
sql,conn,1,1 代表不允許更新,一般用於查詢操作。
sql,conn,1,3 代表允許更新,一般用於插入,更新和刪除操作。