Private Sub Command1_Click()
Dim a As Integer
Dim MvDbs As Database
Dim MvTabs As Recordset
Set MyDbs=OpenDatabase("C:\dbdir\dbl.mdb,true)
a=OpenTableExclusive(MyDbs,MyTabs,"Tabel1")
Select Case a
Case 0:
MsgBox "调用成功"
Case Else:
MsgBox "调用出错"
End Select
End Sub
注意,如果打开一个Recordset对象时没有指定option:参数值,则Microsoft Jet将使用页面锁定。在这种情况下,将以共享模式打开记录集,并且不禁止其他用户访问记录集中的数据,但它确实锁定了当前页中正在编辑的数据。
(2).在打开记录集时检查错误。和以独占模式打开数据库一样,当对Recordset对象设置锁定时,如果锁定失败,则会产生错误。如果某个用户以禁止其它用户获得锁定的方式打开了一个Recordset对象,则当试图锁定该Recordset对象时将会发生最常见的错误,即3262,其出错信息为:“不能锁定表XXX;当前正被用户XXX在机器XXX上使用。”。当试图对不能锁定的对象使用OpenRecordset方法时,也会产生这个错误。
页面锁定
从理想的角度来说,如果能对记录进行锁定,则会给多用户程序带来极大的灵活性。然而遗憾的是,Microsoft Jet引擎不支持真正的记录锁定,而是使用页面锁定。页面锁定只锁定包含当前正在编辑的记录的页,Microsoft Jet进行访问和锁定的页的大小为2K(2048个字节)。在使用页面锁定时,其他用户可以读取锁定页中的数据,但不能对数据进行修改。在这种锁定方案中,每次将锁定多个记录,锁定的记录的个数取决于每个记录的大小。例如,如果每个记录的长度为230个字节,则每次只能锁定9个记录;而如果记录的长度为30个字节,则每次可锁定68个记录。
锁定模式。页面锁定分为两种模式,即保守式锁定和开放式锁定,它确定了Microsoft Jet如何对数据进行锁定。当编写在页面级别上锁定数据的应用程序时,必须确定要使用哪种锁定模式。页面锁定可以通过两种方法来设置,即LockEdits属性和OpenRecordset方法中的lockedit5参数。
1.用LockEdits 属性指定锁定模式。锁定模式可以通过LockEdits属性来指定。该属性可用于各种Recordset对象,包括动态集、快照、表及动态类型的Recordset对象。LockEdits属性是一个布尔值,当把该值设置为True(缺省)时,将对记录集进行保守式锁定,即在执行Edit方法时锁定2K的页面:如果把该属性设置为False,则对记录集进行开放式锁定,即在执行UPdate之前不锁定要更新的记录所在的2K页面。如下面的例子:
相关专题
- (5773篇文章)数据库专栏
- (9880篇文章)数据库处理专题
- (8679篇文章)城域网专题
- (14923篇文章)数据库安全技术专题
- (11613篇文章)数据库安装与卸载
- (9236篇文章)Java编程开发手册
- (15464篇文章)Linux数据库宝典
- (5773篇文章)数据库相关文章
- (243篇文章)VB数据库操作基础
- (0次浏览)用VB实现将脚本的输出复制到剪贴板



