数据访问控制--多客户环境下VB数据库编程之(2)
2018-06-17 17:15:40来源:未知 阅读 ()
1.互斥地使用数据库。以互斥方式打开数据库是对数据访问施加的最大限制,它实际上是以“独占”方式使用数据库。这种限制可以阻止任何用户或程序访问正在使用的数据库中的信息。由于这种方式的限制太大,因而只用于那些影响整个数据库的操作,包括:
·压缩数据库。
·更新整个表(例如用UPDATE查询)。
·通过添加表、字段或者索引来修改数据库的结构。
·处理特殊的用户需求(例如传送审计信息)。
在程序代码中,为了以独占方式打开一个数据库,必须把OpenDatabase方法的第二个参数设置为True,例如:
DimoldDbAsDatabase
DimoldwsAsworkSpace
SetoldDb=oldWs.OpenDatabase("Members.mdb",True,False)
用上面的代码打开数据库时,如果该数据库未被其它用户使用,则打开数据库,这样直到关闭之前,该数据库不会被其它用户或程序访问;如果数据库正在被其它用户使用,则返回一个错误。
2.拒绝其它用户或程序访问指定的表。以独占方式打开数据库后,可以拒绝其它用户或程序访问整个数据库(包括数据库中的每个表)。而对数据访问的一种较轻的限制则是拒绝其它用户或程序访问由本人程序正在使用的表(即记录集),它实际上是对记录集进行锁定。锁定记录集的操作通过OpenRecordset方法中的Options参数来实现。我们知道,OpenRecordset方法的格式如下:
对象.OpenRecordset(type,OPtlons,lockedits)
其中的options参数用来设置对记录集的锁定,该参数可以取多种值,以下两种值用来禁止其它用户对记录集进行读写操作:
1..禁止读(dbDenyRead)
OpenRecordset方法中的dbDenyRead常量用来禁止其它用户查看表中的数据,直到关闭该表为止。当需要更新整个表中的信息时,可以使用这个常量。例如:
DimrstasRecordset
Setrst=dbs.OpenRecordset(strTable,dbOpenTable,dbDenyRead)
2.禁止写(dbDenywrite)
OpenRecordset方法中的dbDenyWrite常量用来禁止其它用户更新表中的数据,直到关闭该表为止。在这种情况下,其它用户可以查看表中的信息,也可以添加新记录,但不能对其进行修改。当需要向表中插入新记录而又不想修改现有的记录时,可以使用这个常量,它对表和动态集都有效。例如:
DimrstasRecordset
Setrst=dbs.OPenRecordset(strTable,dbOpenTable,dbDenyWrite)
用dbDenyRead和dbDenyWrite可以分别禁止对记录集进行读和写,如果既想禁止读,又想禁止写,则可同时使用这两个常量(用“十”号连接)。例如:
DimrstasRecordset
Setrst=dbs.OpenRecordset(strTable,dbOpenTable,dbDenyRead dbDenyWrite)->
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:调用API函数设计ABOUT窗口
下一篇:去掉窗体的关闭按钮
- 设置对VisualBasic数据库连接的动态路径 2018-06-17
- HierarchicalFlexGrid控件 2018-06-17
- 复制数据库(1)--网络数据库的复制和同步(5) 2018-06-17
- 为常量定义合适的类型 2018-06-17
- MoveMethod速度较快 2018-06-17
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash