• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

网络数据库的复制和同步(4)

发布: 2007-7-14 21:19 | 作者: 佚名    | 来源: 网络转载     | 查看: 8次 | 进入软件测试论坛讨论

领测软件测试网 网络数据库的复制和同步(4)

4.keepLocal属性和Replicable属性

   (1)KeepLocal属性

   KeepLocal属性用来保持对象的本地化,即在复制数据库时,使指定的对象不被复制。性用于Document对象、QueryDef对象和TableDef对象。其设置或返回的值是Text类如果把该属性设置为“T”,则在复制数据库时可使相应的对象保持为本地对象。对象制后,不能使用KeepLocal属性。在获取或设置TableDef或QueryDef的KeepLocal属性之前,必须先用CreateProperty建立,并把它附加到对象的Properties集合中。

   设置了KeepLocal属性后,该属性将出现在Document对象的Properties集合中。KeepLocal通过CreateProperty方法设置。例如:

   Dim dbs As Database

   Dim docTemp As Document

   Dim prpTemp As Property

   Set dbs = OpenDatabase(´´dbtemp.m4b``)

   Set docTemp = dbs.Containers(´´Modules´´).Docu Functions´´)

   Set prpTemp = docTemp.Createproperty(´´KeepLoc dbText, ´´T´´)

   docTemp.Properties.Append pWTemp

   dbs.Close

上面的程序把KeepLocal属性附加到Documeni对象的properties集合中去。必须在数据库变为可复制之前设置对象(例如表)的属性。再如:

   Sub SetKeepLocal(tdftemp As TableDef)

    On Error GoTo ErrHandler

    tdfTemp.Properties("KeepLOcal")="T"

    On Error GoTo 0

    Exit Sub

  ErrHandler:

   Dim prpNew As Property

   If Err.Number = 3270 Then

    Set prpNew = tdfTemp.Createproperty("KeepLocal", dbText, "T")

    tdfTemp.Properties.Append prpNew

   Else

    MsgBox "Error" & Err & "." & Error

   End if

   End Sub

上面的过程把指定对象Tab1eDef的KeepLocal属性设置为“T”。如果keepLocal属性不存在,则先建立之,然后把它附加到表的Properties集合中去,并将其值设置为“T”。

   (2)Replicable属性

   Replicable属性用来设置或返回一个值,这个值决定数据库或数据库中的对象是否可以复制(仅Microsoft Jet 工作区)。该属性用于Database对象、Document对象、QueryDef对象和TableDef对象。其设置或返回的值是Text类型。对于Database对象,如果把该属性设置为“T”,则可以复制数据库。设置为“T”后,就不能再改变它,如果把它设置为“F”(或其它非“T”值),则会产生错误。对于数据库中的对象,如果把该属性设置为“T”,则可复制Replicas集合中的所有Replica对象(以及对此对象的更改)。也可以在Microsoft Access的对象属性表中设置该属性。

   在设置一个Database,Tab1eDef或QueryDef对象的Replicable属性前,必须先用

   CreateProperty方法建立它,并把它加入对象的Properties集合中。例如:

   sub CreateReplLocalTableX()

   Dim dbsNorthwind As Database

   Dim tdfNew As TableDef

   Dim fldNew As Field

   Dim prpNew As Property

   Set dbsNorthwind = OpenDatabase("c\dbdir\db3 .mdb")

   ´建立一个名为“NewTab”的新TableDef

   Set tdfNew = dbsNorthwind.CreateTableDef("NewTab")

   ´定义一个名为“NewField”的文本字段

   Set fldNew = tdfNew.CreateField(“NewField”, dbText, 3)

   ´把新字段附加到TableDef中

   tdfNew.Fields.Append fldNew

   ´把新TableDef添加到数据库中

   dbsNorthwind.TableDefs.Append tdfNew

   ´为新TableDef建立Replicable属性

   Set prpNew = tdfNew.Createproperty(´´Replicab , dbText, ´´T´´)

   ´把Replicable 属性加到TableDef中

   tdfNew.Properties.Append prpNew

   dbsNorthwind.Close

   End Sub

上述过程建立一个新的TableDef 对象,并使其可复制。注意,包含该对象的数据库必是可复制的,才能执行此过程。再如:

   Sub SetReplicable(tdryemp As TableDeD)

   On Error GoTo ErrHandier

   tdryemp.PrOperties(´´Replicable´ = ´´T´´)

   On Error GoTo 0

   Exii Sub

ErrHandler.

   Dim prpNew As Property

   If Err.Number = 3270 Then

    Set prpNew = tdfTemp.Createproperty(``Replicab , dbText, ´´T´´)

    idfTemp.Properties.Append prpNew

   Else

    MsgBox “Error” & Err & “:” & Error

   End If

   End sub

上述过程将指定TableDef对象的Replicab1e属性设置为“T”。如果属性不存在,则在错误处理子程序中建立之,然后附加到TableDef的Properties集合中,并设置为“T”。

   5.MaKeReplica方法

   MakeReplica方法用来从一个数据库复本中复制一个新的复本(仅用于Microsoft Jet 工作区)。该方法用于Database对象,其格式如下:

   对象.MakeReplica replica,description,options

   格式中各参数的含义如下:

   · 对象: Database对象变量。

   · rep1ica:是一个字符串,指定新复本的路径和文件名,如果该参数是当前文件名,则会发生错误。

   · description:是一个字符串,用来描述所生成的复本。

   · opii0n8:可选。是一个符号常量或常量组合,用来指定所生成的复本的特征,可以取以下两种值:

   dbRepMakepartial生成一个部分复本

   dbRepMakeReadoniy防止修改新复本。但是,当将新复本与复本集中的另一个复本同步时,对设计和数据的修改将传送到新复本

   上述两个常量可以单独使用,也可以用“十”号组合在一起,例如:

   dbRepMakePartial + dbRepMakeReadOnly

(未完待续)

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网