龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VB开发 >

复本操作的对象、属性和方法(1)--网络数据库的复制和同步(2)

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
与复本操作有关的对象、属性和方法 为了实现复本燥乍,MicrosoftJet数据库引擎提供了多个对象、属性和方法。在这一节中,将介绍与复本操作有关的对象、属性和方法。 1.Document对象和
与复本操作有关的对象、属性和方法
  
  为了实现复本燥乍,MicrosoftJet数据库引擎提供了多个对象、属性和方法。在这一节中,将介绍与复本操作有关的对象、属性和方法。
  1.Document对象和Documents集合
  Document对象含有关于对象的一个实例的信息,对象可以是一个数据库、表、查询或关系(仅用于MicrosoftJet数据库)。
  每个Container对象有一个包含Document对象的Documents集合(其关系详见VB的帮助文件),这些Document对象描述由Container指定类型的内置对象的实例。表1列出了Document所描述的对象的类型、其Container对象的名称及Document包含信息的类型。
  
  Documentcontainer包含的信息
  数据库数据库保存的数据库
  表或查询表或查询保存的表或查询
  关系关系保存的关系
  
  (表1)
  
  用Document对象可以实现下列操作:
  
  用Name属性返回由用户或MicrosoftJet数据库引擎在建立对象时给对象所取的名字。
  用Container属性返回包含Document对象的Container对象的名称。
  用Owner属性设置或返回对象的拥有者。为了设置owner属性,用户必须有对Document对象的写权限,并且必须把userName属性设置为一个现有的user或Group对象的名称。
  用UserName属性或Permissions属性设置或返回一个用户或组对象的访问权限。为了设置这些属性,用户必须有对Document对象的写权限,并且必须把userName属性设置为一个现有的User或GrOup对象的名称。
  用DateCreated属性和LasUpdated属性分别返回建立Document对象和最后修改Document对象的日期和时间。
  
  由于一个Document对象对应于一个现有的对象,因此用户不能建立新的Document对象或者删除现有的Document对象。一个Documents集合含有多个Document对象。可以通过以下几种格式引用一个Document对象:
  
  Documents(0)
  Documents("Name”)
  Documents![name]
  
  2.container对象和Containers集合
  
  Contalner对象把相似类型的Document对象放在一个组中。每个Database对象含有由内部container对象组成的Containers集合。应用程序可以定自己的文档类型和相应的容器(仅对MicrosoftJet数据库),但这些对象不一定总是通过DAO支持。某些Container对象由MicrosoftJet数据库引擎定义,也可以由其它应用程序定义。由MicrosoftJet数据库引擎定义的Container对象及其所包含的信息见表2
  
  Container对象包含的信息
  数据库保存的数据库
  表保存的表及查询
  关系保存的关系
  
  (表2)
  
  说明:
  
  1.)每个Container对象含有由Document对象组成的Documents集合,通常用Container对象作为到Document对象中信息的直接链接,也可以用container集合为给定类型的Document对象设置安全性。
  
  2.)用Container对象可以实现以下操作:
  
  用Name属性返回Container对象的预定义名称。
  用Permissions和UserName属性来设置container对象的权限;在Container对象的Documents集合中建立Document对象来继承这些访问权限设置。
  用owner属性设置或返回Container对象的所有者。为了设置Ower属性,必须写入Container对象的权限,并把属性设置为现有user或Group对象的名称。
  
  (3)Container对象是由系统预定的,因此不能建立新的container对象,也不能删除现有的Container对象。
  
  (4)可以通过顺序号或Name属性设置或引用集合中的container对象,例如:
  Containers(0)
  Containers(”name”)
  Containers![Name]
  
  【例】编写程序,列出Tables容器中的Documents集合。
  
  在窗体上画一个命令按钮,然后编写如下的事件过程:
  
  PrivateSubCommand1_Click()
  DimdbsnorthwindAsDatabase
  DimdocloopAsDocument
  DimprploopAsProperty
  Setdbsnorthwind=OpenDatabase("e:f.mdb")
  Withdbsnorthwind.Containers!tables
  Debug.Print"documentsin"&.Name&"container"
  '列出Table容器中的Documents集合
  ForEachdocloopIn.Documents
  Debug.Print""&docloop.Name
  Nextdocloop
  Endwith
  dbsnorthwind.close
  Endsub
  
  该过程列出f.mdb数据库Table容器中的Documents集合。程序运行后,单击命令按钮,即可在“立即”窗口中列出该集合。->

精彩图集

赞助商链接