国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

記錄集鎖定--多客戶環境下VB數據庫編程之(4)

2019-11-18 17:45:37
字體:
來源:轉載
供稿:網友
用記錄集鎖定可以鎖定Recordset對象基本表,也可以指定只讀或(和)只寫訪問。記錄集鎖定只能應用于表類型和動態集類型的Recordset對象,頁面鎖定(見下一節)不能應用于快照類型和僅向前類型的Recordset對象,因為它們本來就是只讀對象。盡管如此,MicrosoftJet仍提供了共享表讀鎖定和共享表寫鎖定。

(1).打開記錄集。以共享模式打開數據庫之后,可以通過在OpenRecordset方法的oPtions參數中指定不同的選項來實現記錄集鎖定。為了用鎖定打開一個記錄集,可按如下步驟操作:1.)以共享模式打開Recordset對象的數據庫。2.)用OpenRecordset方法打開記錄集,并把Options參數設置為所需要的鎖定方式。3.)當Recordset對象的使用結束時,關閉該對象以釋放所有記錄集級的鎖定。編寫一個Function過程,以獨占方式打開一個表。

FunctionOpenTableExclusive(dbsAsDatabase,rstAsRecordset,strTableAsString)AsInteger
Setrst=dbs.OpenRecordset(strTable,dbOpenTable,dbDenyRead dbDenyWrite)
SelectCaseErr
CaSe0:
OpenTableExclusive=0
CaSeElse:
OpenTableExclusive=-1
EndSelect
Err=0
EndFunction

該過程通過dbDenyWrite和dbDenyRead選項常數的組合,以獨占模式打開一個表。如果過程調用成功(返回0),則在Recordset變量被顯式或隱式地關閉之前,其它用戶將不能訪問該表。如果其它用戶已經以獨占模式打開該表,或者發生了一個非預期的錯誤,則該過程返回-1。為了調用上述過程,可以在窗體上畫一個命令按鈕,然后編寫如下的事件過程:

EndSelect
EndSub

注意,如果打開一個Recordset對象時沒有指定option:參數值,則MicrosoftJet將使用頁面鎖定。在這種情況下,將以共享模式打開記錄集,并且不禁止其他用戶訪問記錄集中的數據,但它確實鎖定了當前頁中正在編輯的數據。

(2).在打開記錄集時檢查錯誤。和以獨占模式打開數據庫一樣,當對Recordset對象設置鎖定時,如果鎖定失敗,則會產生錯誤。如果某個用戶以禁止其它用戶獲得鎖定的方式打開了一個Recordset對象,則當試圖鎖定該Recordset對象時將會發生最常見的錯誤,即3262,其出錯信息為:“不能鎖定表XXX;當前正被用戶XXX在機器XXX上使用。”。當試圖對不能鎖定的對象使用OpenRecordset方法時,也會產生這個錯誤。->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新乡县| 潞城市| 公主岭市| 平阴县| 大冶市| 西和县| 潼南县| 陕西省| 兴义市| 大兴区| 越西县| 西乡县| 马尔康县| 正安县| 江西省| 婺源县| 新巴尔虎左旗| 娱乐| 旺苍县| 兰西县| 高台县| 平南县| 丹东市| 桦南县| 大港区| 九江县| 盐城市| 忻城县| 乐安县| 松阳县| 山东省| 汉沽区| 钦州市| 天津市| 汨罗市| 饶阳县| 东平县| 普格县| 防城港市| 华阴市| 册亨县|