多用户应用程序中应注意的其它问题(1)--多客户环…
2008-02-23 06:57:57来源:互联网 阅读 ()
问题一 数据访问对象集合的刷新
在多用户环境中,当用户添加新表、查询数据库或删除现有对象时,都可能对集合进行修改。在这种情况下,DAO.不能自动跟踪集合的变更。
下面的过程可用来显示当前数据库中的所有TableDef对象:
SUb ShowAllTables(dbs As Database)
Dim tdfremp As TableDef
For Each tdfremPIndbs.TableDefs
Debug.Pnnttdfremp.Name
Next tdfremp
End Sub
为了调用上面的过程,可以在窗体上画一个命令按钮,然后编写下面的事件过程:
Private Sub Commandl_Click()
Dim Mvdbs As Database
Set Mydbs=OpenDatabase("cz\VB50\biblio.mdb")
ShowAllTables Mvdbs
End Sub
运行程序,单击命令按钮,将在立即窗口中显示数据库biblio.mdb中的所有TableDef对象。
在执行上面的过程时,程序将记下TableDefs集合时快照,它遍历每个TableDef对象,并显示出它的名字。假定需要两次运行上面的过程,第一次运行时,显示了10个表的名字。但在再次运行之前,网络上的另一个用户打开了这个数据库,并在数据库中添加了一个新的表。如果再次运行该过程,则将仍然显示10个表的名字,因为DAO不能自动地更新其它用户对集合所作的变更。为此,可以用Refresh方法强制DAO用最新的变更来更新集合。如果在前面的过程中添加Refresh方法,则可使它返回的总是TableDef对象的最新列表修改后的过程如下:
SUb BetterShowAllTables(dbs As Database)
Dim tdfremp As TableDef
dbs.TableDefs.Refresh
For Each tdfremp ln dbs.TableDefs
Debug.Print tdfremP.Name
Next tdfremp
End Sub
注意,只有在需要时才使用Refresh方法。如果集合包含大量的对象,则刷新集合可能需要较长的时间。
上一篇: 页面锁定的锁定方案--多客户环境下VB数据库编程之(7)
下一篇: 实现页面锁定的一个具体例子--多客户环境下VB数据库编程之(6)
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 多用户应用程序中应注意的其它问题(2)--多客户环境下VB数据 2018-06-17
- 多用户应用程序中应注意的其它问题(2)--多客户环境下VB数据 2008-02-23
- 多用户应用程序中应注意的其它问题(3)--多客户环境下VB数据 2008-02-23
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