电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 网页制作
在vb6.0中使access数据库在网络使用中保持同步_visualbasic教程
作者:网友供稿 点击:0
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
同步(Synchronization)是数据库在网络环境中应用所要涉及到的一个重要概念。其基本过程大致分以下几个步骤:首先把一个数据库设为可复制副本属性,使其成为设计正本(VB中称设计原版,ACCESS中称设计母版);然后根据应用程序的实现需要从设计正本复制出多个副本(VB中称复本),这些副本组成一个副本集合(设计正本也被看做是第一个的、初始的副本);最后在集中任何复本的数据或结构被更改会时启用同步机制把改变发送并且应用于此复本集中的其他成员,使得副本集中的成员在数据或结构上保持一致性。实现同步的这一过程被称为同步化。VB6.0为实现同步,在数据库对象中提供了多个属性与方法来实现这一过程,以下介绍主要的几个属性与方法,分别对应同步化的几个步骤:

----1.Replicable属性:

----Replicable属性用来使一个数据库对象或数据库中的表对象、查询对象等对象成为可复制副本的,即成为设计正本。但数据库对象并不提供Replicable这一属性,因此首先要用CreatePropety方法来创建它,然后把它添加到对象的属性集中,最后再给它赋值,使数据库成为设计正本。对于数据库对象而言,把Replicable属性设置为“T”将使数据库对象成为可复制的。以下代码将使VB6.0安装目录下附带的Nwind.mdb数据库成为一个设计正本(为确保安全建议在操作前备份这一库文件):

PrivateSubCommand1_Click()
DimdbNwindAsDatabase
如果末引用DAO则一定要先引用
DimprpNewAsProperty
SetdbNwind=OpenDatabase("Nwind.mdb",True)
WithdbNwind
建立Replicable属性,
如果已经存在该属性则程序略过这一步
OnErrorResumeNext
SetprpNew=.CreateProperty
("Replicable",dbText,"T")
.Properties.AppendprpNew
设置数据库的Replicable属性为True
.Properties("Replicable")="T"
.Close
EndWith
EndSub

----2.MakeReplica方法:

----MakeReplica方法从设计正本复制出一个新的完全副本。其语法为:database.MakeReplicareplica,description,options,其中replica是代表一个新副本路径名称的字符串;description是对正在创建的新副本的一个描述字符串;options是一个可选项,可以是dbRepMakePartial常量(创建一个部分副本)或dbRepMakeReadOnly常量(防止用户修改新副本中的可复制对象),如果要建立的是一个只读式的部分副本,则要加入参数常量dbRepMakeReadOnly dbRepMakePartial。

----在第一个例子中,在关闭数据库之前加入代码:.MakeReplica"NwReplica","replicaofnwind.mdb",则从Nwind.mdb设计正本复制出一个名为NwReplica.mdb的副本,位置在Nwind.mdb同一目录中。以下是一个通过传递参数的形式,在实际应用中可供灵活调用的函数,每调用该函数一次即可实现新建一个副本:

FunctionMakeAdditionalReplica(strReplicableDBAs
String,strNewReplicaAsString,intOptionsAs
Integer)AsInteger
DimdbsTempAsDatabase
OnErrorGoToErrorHandler
SetdbsTemp=OpenDatabase(strReplicableDB)
如果在调用此函数时,intOptions处末给出参数,
则忽略该参数项,默认建立一个完全
的、可读/写的副本,否则就利用提供的参数按要求建立副本
IfintOptions=0Then
dbsTemp.MakeReplicastrNewReplica,
"Replicaof"&strReplicableDB
Else
dbsTemp.MakeReplicastrNewReplica,
"Replicaof"&strReplicableDB,intOptions
EndIf
dbsTemp.Close
ErrorHandler:
SelectCaseErr
Case0:
MakeAdditionalReplica=0
ExitFunction
CaseElse:
MsgBox"Error"&Err&":"&Error
MakeAdditionalReplica=Err
ExitFunction
EndSelect
EndFunction

----3.Synchronize方法:

----Synchronize方法使两个完全副本(包括设计正本)同步化。其语法为:database.Synchronizepathname,exchange。其中pathname为要同步的目标副本的路径名称字符串(串中的.mdb扩展名可省略);exchange用来标识两个数据库之间的同步方向(如表一),这是一个可选项,默认为表中的第三个选项,即双向交换。利用表中第四个dbRepSyncInternet常量选项,还可对通过Internet互联的数据库进行同步化,这时要将代表本地网络路径选项pathname用URL地址来代替。

常量同步化方向
DbRepExportChanges从数据库到副本路径名称
DbRepImportChanges从副本路径名称到数据库
DbRepImpExpChanges双向交换改变(默认)
DbRepSyncInternet在通过Internet路径连接的数据库之间传递改变

----表一、同步化方向常量

----在同步化操作之前,要确保已经利用Replicable属性使一个数据库初始出设计正本,并且利用MakeReplica方法复制出了一个以上的副本。

----以下通过在第一个例子添加的副本复制语句之后,加入如下语句:.Synchronize"NwReplica.mdb",dbRepExportChanges,实现把数据库Nwind的设计正本的任何改变传递给副本NwReplica。我们可以在Nwind.mdb库中改变一些数据内容,然后再运行这一例子,我们会发现Nwind.mdb库的改变已经反映在NwReplica.mdb这一副本中了。

----以上语句实现从数据库到副本路径名称的同步(把设计正本的数据或结构改变传递给副本),把dbRepExportChanges常量改为dbRepImportChanges和dbRepImpExpChanges可分别实现从副本路径名称到数据库(数据库接收副本上的改变)以及双向交换(两者间的双向数据传递)同步。

----Synchronize方法还可对通过Internet互联的数据库进行同步化,以下语句实现本地数据库正本与位于Internet服务器上的一个副本同步化:

dbNwind.Synchronize
"www.mycompany.myserver.com"
&"/files/NwReplica.mdb",_
dbRepImpExpChanges dbRepSyncInternet

----4.PopulatePartial方法:

----上面介绍利用Synchronize方法使两个完全副本同步化,不会出现问题,但如果用一个完全副本来同步一个部分副本,因为部分副本是由副本过滤器来从完全副本来过滤重新生成的,因此可能在部分副本中产生所谓的“孤立”记录,即这些记录不能再与其他副本保持同步。要解决这一问题引入了另一个称为PopulatePartial的方法,该方法与Synchronize方法类似,只不过它是实现部分副本与完全副本的同步,在同步时,首先清除部分副本中的所有记录,然后根据当前副本的过滤器来重新生成部分副本,这样就解决了“孤立”记录的问题。其语法为:database.PopulatePartialdbname。Dbname是完全副本的路径名称。由于篇幅所限以及其与Synchronize方法的相似性,因此在此不再累述,更详细的描述请参阅相关的联机帮助。

->


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·vb中调用word拼写检查_visualbasic教程
·宽带cable modem业务的技术平台(三)_视频通信
·在vb6.0中使access数据库在网络使用中保持同步_visualbasic教程
·如何将整个画面暗下来,如同关机前一般_visualbasic教程
·用filesystemwatcher监控作业_visualbasic教程
·vb技巧-工具栏使用技巧_visualbasic教程
·如何自动移动mouse_visualbasic教程
·vb程序实现xp效果的界面_visualbasic教程
·让visualbasic程序在windows启动时自动执行_visualbasic教程
·用vb建立access数据库结构_visualbasic教程

最新文章
·photoshop让花卉照片更加清晰嫩绿_photoshop教程
·photoshop滤镜绘制耀眼日晕特效图_photoshop教程
·关闭xp自动更新后该做什么_windows xp
·photoshop打造精美3d效果墙纸_photoshop教程
·photoshop技巧十三-利用不同图层素材进行创意合成_photoshop教程
·photoshop另类抠图—笔刷辅助抠动物毛皮_photoshop教程
·通过缓存数据库结果提高php性能_php技巧
·photoshop为美女肖像照片绘个性化脸谱_photoshop教程
·photoshop实例教程用cd打造绚丽彩虹_photoshop教程
·photoshop实例教程 打造爆炸效果_photoshop教程


 
 


版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号