VB:使ACCESS数据库在网络使用中保持同步>>教育资源库
同步(Synchronization)是数据库在网络环境中应用所要涉及到的一个重要概念。其基本过程大致分以下几个步骤:首先把一个数据库设为可复制副本属性,使其成为设计正本(VB中称设计原版,ACCESS中称设计母版);然后根据应用程序的实现需要从设计正本复制出多个副本(VB中称复本),这些副本组成一个副本集合(设计正本也被看做是第一个的、初始的副本);最后在集中任何复本的数据或结构被更改会时启用同步机制把改变发送并且应用于此复本集中的其他成员,使得副本集中的成员在数据或结构上保持一致性。实现同步的这一过程被称为同步化。VB6.0为实现同步,在数据库对象中提供了多个属性与方法来实现这一过程,以下介绍主要的几个属性与方法,分别对应同步化的几个步骤:
---- 1.Replicable属性:
---- Replicable属性用来使一个数据库对象或数据库中的表对象、查询对象等对象成为可复制副本的,即成为设计正本。但数据库对象并不提供Replicable这一属性,因此首先要用CreatePropety方法来创建它,然后把它添加到对象的属性集中,最后再给它赋值,使数据库成为设计正本。对于数据库对象而言,把Replicable属性设置为T将使数据库对象成为可复制的。以下代码将使VB6.0安装目录下附带的Ndb数据库成为一个设计正本(为确保安全建议在操作前备份这一库文件):
Private Sub mand1_Click()
Dim dbN prpNedb, True)
akeAdditionalReplica(strReplicableDB As
String, strNe dbsTemp As Database
On Error GoTo ErrorHandler
Set dbsTemp=OpenDatabase(strReplicableDB)
' 如果在调用此函数时,intOptions处末给出参数,
则忽略该参数项,默认建立一个完全
'的、可读/写的副本,否则就利用提供的参数按要求建立副本
If intOptions=0 Then
dbsTemp.MakeReplica strNep; strReplicableDB
Else
dbsTemp.MakeReplica strNep; strReplicableDB, intOptions
End If
dbsTemp.Close
ErrorHandler:
Select Case Err
Case 0:
MakeAdditionalReplica=0
Exit Function
Case Else:
MsgBox Error Err : Error
MakeAdditionalReplica=Err
Exit Function
End Select
End Function
---- 3.Synchronize方法:
---- Synchronize方法使两个完全副本(包括设计正本)同步化。其语法为:database.Synchronize pathname, exchange。其中pathname为要同步的目标副本的路径名称字符串(串中的 .mdb扩展名可省略);exchange用来标识两个数据库之间的同步方向(如表一),这是一个可选项,默认为表中的第三个选项,即双向交换。利用表中第四个dbRepSyncInter常量选项,还可对通过Inter互联的数据库进行同步化,这时要将代表本地
12下一页 >>>>这篇文章来自..,。网络路径选项pathname用URL地址来代替。
常量 同步化方向
DbRepExportChanges 从数据库到副本路径名称
DbRepImportChanges 从副本路径名称到数据库
DbRepImpExpChanges 双向交换改变(默认)
DbRepSyncInter 在通过Inter路径连接的数据库之间传递改变
---- 表一、同步化方向常量
---- 在同步化操作之前,要确保已经利用 Replicable属性使一个数据库初始出设计正本,并且利用MakeReplica方法复制出了一个以上的副本。
---- 以下通过在第一个例子添加的副本复制语句之后,加入如下语句:.Synchronize Ndb, dbRepExportChanges,实现把数据库 Ndb库中改变一些数据内容,然后再运行这一例子,我们会发现Ndb库的改变已经反映在Ndb这一副本中了。
---- 以上语句实现从数据库到副本路径名称的同步(把设计正本的数据或结构改变传递给副本),把db