⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

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

📁 写给JSP初级程序员的书
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0057)http://eps.www85.cn4e.com/java/article/devshow.asp?id=194 -->
<HTML><HEAD><title>csdn_网络数据库的复制和同步(4)</TITLE>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<STYLE type=text/css>TD {
	FONT-FAMILY: "Verdana", "Arial", "宋体"; FONT-SIZE: 9pt
}
A {
	COLOR: #660000; TEXT-DECORATION: underline
}
A:hover {
	COLOR: #660000; TEXT-DECORATION: none
}
.line {
	LINE-HEIGHT: 14pt
}
</STYLE>

<META content="MSHTML 5.00.2920.0" name=GENERATOR></HEAD>
<BODY bgColor=#ffffff text=#000000>

  <table><tbody>
  <TR>
    <TD height=21>
      <DIV align=center><B><FONT size=3>网络数据库的复制和同步(4) <BR><FONT 
      size=2> 
      </FONT></FONT></FONT>
      <HR align=center color=#cccccc noShade SIZE=1>
      </DIV></TD></TR>
  <TR>
    <TD class=line><FONT 
      color=#333300>4.keepLocal属性和Replicable属性<BR><BR>  (1)KeepLocal属性<BR><BR>  KeepLocal属性用来保持对象的本地化,即在复制数据库时,使指定的对象不被复制。性用于Document对象、QueryDef对象和TableDef对象。其设置或返回的值是Text类如果把该属性设置为“T”,则在复制数据库时可使相应的对象保持为本地对象。对象制后,不能使用KeepLocal属性。在获取或设置TableDef或QueryDef的KeepLocal属性之前,必须先用CreateProperty建立,并把它附加到对象的Properties集合中。<BR><BR>  设置了KeepLocal属性后,该属性将出现在Document对象的Properties集合中。KeepLocal通过CreateProperty方法设置。例如:<BR><BR>  Dim&nbsp;dbs&nbsp;As&nbsp;Database<BR><BR>  Dim&nbsp;docTemp&nbsp;As&nbsp;Document<BR><BR>  Dim&nbsp;prpTemp&nbsp;As&nbsp;Property<BR><BR>  Set&nbsp;dbs&nbsp;=&nbsp;OpenDatabase(''dbtemp.m4b``)<BR><BR>  Set&nbsp;docTemp&nbsp;=&nbsp;dbs.Containers(''Modules'').Docu&nbsp;Functions'')<BR><BR>  Set&nbsp;prpTemp&nbsp;=&nbsp;docTemp.Createproperty(''KeepLoc&nbsp;dbText,&nbsp;''T'')<BR><BR>  docTemp.Properties.Append&nbsp;pWTemp<BR><BR>  dbs.Close<BR><BR>上面的程序把KeepLocal属性附加到Documeni对象的properties集合中去。必须在数据库变为可复制之前设置对象(例如表)的属性。再如:<BR><BR>  Sub&nbsp;SetKeepLocal(tdftemp&nbsp;As&nbsp;TableDef)<BR><BR>   On&nbsp;Error&nbsp;GoTo&nbsp;ErrHandler<BR><BR>   tdfTemp.Properties("KeepLOcal")="T"<BR><BR>   On&nbsp;Error&nbsp;GoTo&nbsp;0<BR><BR>   Exit&nbsp;Sub<BR><BR> ErrHandler:<BR><BR>  Dim&nbsp;prpNew&nbsp;As&nbsp;Property<BR><BR>  If&nbsp;Err.Number&nbsp;=&nbsp;3270&nbsp;Then<BR><BR>   Set&nbsp;prpNew&nbsp;=&nbsp;tdfTemp.Createproperty("KeepLocal",&nbsp;dbText,&nbsp;"T")<BR><BR>   tdfTemp.Properties.Append&nbsp;prpNew<BR><BR>  Else<BR><BR>   MsgBox&nbsp;"Error"&nbsp;&amp;&nbsp;Err&nbsp;&amp;&nbsp;"."&nbsp;&amp;&nbsp;Error<BR><BR>  End&nbsp;if<BR><BR>  End&nbsp;Sub<BR><BR>上面的过程把指定对象Tab1eDef的KeepLocal属性设置为“T”。如果keepLocal属性不存在,则先建立之,然后把它附加到表的Properties集合中去,并将其值设置为“T”。<BR><BR>  (2)Replicable属性<BR><BR>  Replicable属性用来设置或返回一个值,这个值决定数据库或数据库中的对象是否可以复制(仅Microsoft&nbsp;Jet&nbsp;工作区)。该属性用于Database对象、Document对象、QueryDef对象和TableDef对象。其设置或返回的值是Text类型。对于Database对象,如果把该属性设置为“T”,则可以复制数据库。设置为“T”后,就不能再改变它,如果把它设置为“F”(或其它非“T”值),则会产生错误。对于数据库中的对象,如果把该属性设置为“T”,则可复制Replicas集合中的所有Replica对象(以及对此对象的更改)。也可以在Microsoft&nbsp;Access的对象属性表中设置该属性。<BR><BR>  在设置一个Database,Tab1eDef或QueryDef对象的Replicable属性前,必须先用<BR><BR>  CreateProperty方法建立它,并把它加入对象的Properties集合中。例如:<BR><BR>  sub&nbsp;CreateReplLocalTableX()<BR><BR>  Dim&nbsp;dbsNorthwind&nbsp;As&nbsp;Database<BR><BR>  Dim&nbsp;tdfNew&nbsp;As&nbsp;TableDef<BR><BR>  Dim&nbsp;fldNew&nbsp;As&nbsp;Field<BR><BR>  Dim&nbsp;prpNew&nbsp;As&nbsp;Property<BR><BR>  Set&nbsp;dbsNorthwind&nbsp;=&nbsp;OpenDatabase("c\dbdir\db3&nbsp;.mdb")<BR><BR>  '建立一个名为“NewTab”的新TableDef<BR><BR>  Set&nbsp;tdfNew&nbsp;=&nbsp;dbsNorthwind.CreateTableDef("NewTab")<BR><BR>  '定义一个名为“NewField”的文本字段<BR><BR>  Set&nbsp;fldNew&nbsp;=&nbsp;tdfNew.CreateField(“NewField”,&nbsp;dbText,&nbsp;3)<BR><BR>  '把新字段附加到TableDef中<BR><BR>  tdfNew.Fields.Append&nbsp;fldNew<BR><BR>  '把新TableDef添加到数据库中<BR><BR>  dbsNorthwind.TableDefs.Append&nbsp;tdfNew<BR><BR>  '为新TableDef建立Replicable属性<BR><BR>  Set&nbsp;prpNew&nbsp;=&nbsp;tdfNew.Createproperty(''Replicab&nbsp;,&nbsp;dbText,&nbsp;''T'')<BR><BR>  '把Replicable&nbsp;属性加到TableDef中<BR><BR>  tdfNew.Properties.Append&nbsp;prpNew<BR><BR>  dbsNorthwind.Close<BR><BR>  End&nbsp;Sub<BR><BR>上述过程建立一个新的TableDef&nbsp;对象,并使其可复制。注意,包含该对象的数据库必是可复制的,才能执行此过程。再如:<BR><BR>  Sub&nbsp;SetReplicable(tdryemp&nbsp;As&nbsp;TableDeD)<BR><BR>  On&nbsp;Error&nbsp;GoTo&nbsp;ErrHandier<BR><BR>  tdryemp.PrOperties(''Replicable'&nbsp;=&nbsp;''T'')<BR><BR>  On&nbsp;Error&nbsp;GoTo&nbsp;0<BR><BR>  Exii&nbsp;Sub<BR><BR>ErrHandler.<BR><BR>  Dim&nbsp;prpNew&nbsp;As&nbsp;Property<BR><BR>  If&nbsp;Err.Number&nbsp;=&nbsp;3270&nbsp;Then<BR><BR>   Set&nbsp;prpNew&nbsp;=&nbsp;tdfTemp.Createproperty(``Replicab&nbsp;,&nbsp;dbText,&nbsp;''T'')<BR><BR>   idfTemp.Properties.Append&nbsp;prpNew<BR><BR>  Else<BR><BR>   MsgBox&nbsp;“Error”&nbsp;&amp;&nbsp;Err&nbsp;&amp;&nbsp;“:”&nbsp;&amp;&nbsp;Error<BR><BR>  End&nbsp;If<BR><BR>  End&nbsp;sub<BR><BR>上述过程将指定TableDef对象的Replicab1e属性设置为“T”。如果属性不存在,则在错误处理子程序中建立之,然后附加到TableDef的Properties集合中,并设置为“T”。<BR><BR>  5.MaKeReplica方法<BR><BR>  MakeReplica方法用来从一个数据库复本中复制一个新的复本(仅用于Microsoft&nbsp;Jet&nbsp;工作区)。该方法用于Database对象,其格式如下:<BR><BR>  对象.MakeReplica&nbsp;replica,description,options<BR><BR>  格式中各参数的含义如下:<BR><BR>  ·对象:&nbsp;Database对象变量。<BR><BR>  ·&nbsp;rep1ica:是一个字符串,指定新复本的路径和文件名,如果该参数是当前文件名,则会发生错误。<BR><BR>  ·description:是一个字符串,用来描述所生成的复本。<BR><BR>  ·opii0n8:可选。是一个符号常量或常量组合,用来指定所生成的复本的特征,可以取以下两种值:<BR><BR>  dbRepMakepartial生成一个部分复本<BR><BR>  dbRepMakeReadoniy防止修改新复本。但是,当将新复本与复本集中的另一个复本同步时,对设计和数据的修改将传送到新复本<BR><BR>  上述两个常量可以单独使用,也可以用“十”号组合在一起,例如:<BR><BR>  dbRepMakePartial&nbsp;+&nbsp;dbRepMakeReadOnly&nbsp; 
      </FONT></TD></TR>
  <TR>
    <TD height=5>
      <HR align=center color=#cccccc noShade SIZE=1>
    </TD></TR></TBODY></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -