📄 网络数据库的复制和同步(3).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=193 -->
<HTML><HEAD><title>csdn_网络数据库的复制和同步(3)</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>网络数据库的复制和同步(3) <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>3.property对象与Properties集合<BR><BR> Property对象用来描述一个DAO对象的内部属性或用户定义属性,与DAO对象及Properties集合的关系为DAO对象包含Properties集合,Properties集合包含property对象。(其关系详见VB帮助文件)<BR><BR> 除Connection和Error对象外,每个DAO对象都含有一个property集合,在该集合中有与相应的DAO对象的内部属性一致的Property对象。同时,用户可以定义Property对象并将其加入某些下列DAO对象的Properties集合:<BR><BR> ·Database, Index, QueryDef和TableDef对象<BR><BR> ·TableDef对象和QueryDef对象的Fields集合中的Field对象<BR><BR> Property有4个预定义的属性:<BR><BR> ·Name属性:是一个字符串,属性的唯一标识。<BR><BR> ·Type属性:是一个整型数(Integer),用来指定属性的数据类型。<BR><BR> ·Value属性:是一个包含属性设置的Variant类型的值。<BR><BR> ·Inherited属性:是一个Boolean值,用来指示属性是否从另一个对象继承而来。<BR><BR> Property对象既有预定义的属性,也有用户定义的属性,在引用时,其格式是不一样的。顶定义属性的引用格式为:<BR><BR> 对象.属性<BR><BR> 而用户定义的属性必须采用下面的引用格式:<BR><BR> 对象.Properties.(“属性”)<BR><BR> 【例】编写程序,列出Tables容器中的Documents集合,然后列出集合中的第一个Document对象的Properties集合。<BR><BR> 在窗体上画一个命令按钮,然后编写如下事件过程:<BR><BR> Private Sub Command1_Click()<BR><BR> Dim dbsnorthwind As Database<BR><BR> Dim docloop As Document<BR><BR> Dim prploop As Property<BR><BR> Set dbsnorthwind = OpenDatabase("e:\f.mdb")<BR><BR> With dbsnorthwind.Containers!tables<BR><BR> Debug.Print "documents in " & .Name & "container"<BR><BR> For Each docloop In .Documents<BR><BR> Debug.Print " " & docloop.Name<BR><BR> Next docloop<BR><BR> With .Documents(0)<BR><BR> Debug.Print "properties of" & .Name & "document"<BR><BR> On Error Resume Next<BR><BR> For Each prploop In .Properties<BR><BR> Debug.Print " " & prploop.Name & "=" & prploop<BR><BR> Next prploop<BR><BR> On Error GoTo 0<BR><BR> End With<BR><BR> End With<BR><BR> dbsnorthwind.Close<BR><BR> End Sub<BR><BR>程序的前半部分与前面的例子相同,后半部分列出第一个Document对象(即Documents(0) 的 Properties集合。运行程序,单击命令按钮,即可在“立即”窗口中列出上述内容。<BR><BR> 用户定义的属性通过CreateProperty方法来定义,用该方法可以建立由用户定义的Property对象(仅Microsoft Jet 工作区),用于Database,Document,Field,Index,QueryDef和TableDef对象。其格式为:<BR><BR> set property=对象.CreateProperty(name,type,value,DDL)<BR><BR> 各参数的含义如下:<BR><BR> ·property:对象变量,要建立的Property对象。<BR><BR> ·Object:对象变量,可以是Database,Field,Index,QueryDef和TableDef对象,可以对这些对象建立Property对象。<BR><BR> ·name: 可选。 variant类型(字符串子型),唯一地命名新的Property对象。<BR><BR> ·type: 可选。 常数,定义新Property对象的类型。<BR><BR> ·value:可选。 variant类型,指定属性的初值。<BR><BR> ·DDL: 可选。 Variant类型(Boolean子型),用来指示该属性是否是一个DDl对象,缺省值为False。如果DDL为True,则不能删除这个property 对象(除非得到 dbsecWriteDef的允许)。<BR><BR> 说明:<BR><BR> 1.)只能在一个永久对象的Property集合中建立用户定义的Property对象。在用CreateProperty 方法建立Property对象时,如果省略了一个或多个可选参数,则可在向一个集合追加新的对象之前,用赋值语句设置或重新设置相应的属性。在向集合中追加新的对象之后,可以改变其属性设置的一部分(不是全部)。<BR><BR> 2.)如果name参数指的是该集合中已经存在的对象成员,则当用Append方法追加时,将会出现错误。<BR><BR> 3.)为了从集合中删除一个由用户定义的属性对象,可以用集合的Delete方法来实现。该方法只能删除用户定义的对象,不能删除预定义属性。<BR><BR> 4.)如果省略了DDL参数,则缺省为False (即非DDL)。在这种情况下,没有出现相应的DDL属性,如果需要将一个Property对象由DDL变为DDL,则必须先删除,然后再重新建立。<BR><BR> 5.)CreateProperty方法中的type参数是一个符号常量,它是Property对象的设置值或返回值,其可能的取值见表3<BR><BR> type参数的取值<BR><BR> 常数 类型 常数 类型<BR><BR> dbBigInt Big整型数 dbGUID GUID<BR><BR> dbBinary 二进制 dbInteger 整型数<BR><BR> dbBoolean 布尔值 dbLong 长整型数<BR><BR> dbByte 字节 dbLongBinary 长二进制(OEL对象)<BR><BR> dbChar 字符 dbMemo Memo<BR><BR> dbCurrency 货币 dbNumeric 数值<BR><BR> dbDate 日期/时间 dbsingle 单精度<BR><BR> dbDecimal 十进制 dbText 文本<BR><BR> dbDouble 双精度 dbTime 时间<BR><BR> dbFloat 浮点数 dbTimeStamp TimeStamp<BR><BR> dbVarBinary VarBinary<BR><BR>设MyDB是一个Database对象变量,MyPro是一个Property对象变量,则可以用下面的程序建立Property对象:<BR><BR> set MyPro=MyDB.createProperty()<BR><BR> MyPro.Name="NewDefined"<BR><BR> MyPro.Type=dbText<BR><BR> MyPro.Value="这是一个用户定义的属性"<BR><BR>可以用下面的语句把新建立的属性加到Properties集合中:<BR><BR> MyDB.Properties.Append prpNew<BR><BR> 【例】编写程序,建立用户定义的Property对象,并把它加到Properties集合中。在窗体上画一个命令按钮,然后编写如下的事件过程。<BR><BR> Private Sub Command1_Click()<BR><BR> Dim dbsnorthwind As Database<BR><BR> Dim prpnew As Property<BR><BR> Dim prploop As Property<BR><BR> Set dbsnorthwind = OpenDatabase("e:\f.mdb")<BR><BR> With dbsnorthwind<BR><BR> '建立并添加用户定义的属性<BR><BR> Set prpnew = .CreateProperty()<BR><BR> prpnew.Name = "userdefinednew"<BR><BR> prpnew.Type = dbText<BR><BR> prpnew.Value = "this is a user_definednew property."<BR><BR> .Properties.Append prpnew<BR><BR> '列出当前数据库的所有属性<BR><BR> Debug.Print "properties of " & .Name<BR><BR> For Each prploop In .Properties<BR><BR> With prploop<BR><BR> Debug.Print " " & Name<BR><BR> Debug.Print " type:" & .Type<BR><BR> Debug.Print " inherited:" & .Inherited<BR><BR> End With<BR><BR> Next prploop<BR><BR> End With<BR><BR> End Sub<BR><BR>上述程序建立了一个名为userdefinednew的属性,其类型为dbText,初值为“this is a user_definednew property。”运行程序,单击按钮,将建立该属性,并在立即窗口中显示当前数据库的所有属性。(包括新建立的属性)
</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 + -