凤冠霞帔 發表於 2023-11-24 00:00:00

关于ADOX的相关知识

<p>
        一、ADOX 概述<br>
        Microsoft? ActiveX? Data Objects Extensions for Data Definition Language and Security (ADOX) 是对 ADO 对象和编程模型的扩展。ADOX 包括用于模式创建和修改的对象,以及安全性。由于它是基于对象实现模式操作,所以用户可以编写对各种数据源都能有效运行的代码,而与它们原始语法中的差异无关。<br><br>
        ADOX 是核心 ADO 对象的扩展库。它显露的其他对象可用于创建、修改和删除模式对象,如表格和过程。它还包括安全对象,可用于维护用户和组,以及授予和撤消对象的权限。<br><br>
        要通过开发工具使用 ADOX,需要建立对 ADOX 类型库的引用。对 ADOX 库的说明为“Microsoft ADO Ext. for DDL and Security.”。ADOX 库文件名为“Msadox.dll”,程序 ID (ProgID) 为“ADOX”。有关建立库引用的详细信息,请参阅开发工具的文档。<br>
        二、ADOX 对象<br>
        Catalog 包含描述数据源模式目录的集合。<br>
        Column 表示表、索引或关键字的列。<br>
        Group 表示在安全数据库内有访问权限的组帐号。<br>
        Index 表示数据库表中的索引。<br>
        Key 表示数据库表中的主关键字、外部关键字或唯一关键字。<br>
        Procedure 表示存储的过程。<br>
        Table 表示数据库表,包括列、索引和关键字。<br>
        User 表示在安全数据库内具有访问权限的用户帐号。<br>
        View 表示记录或虚拟表的过滤集。<br>
        三、ADOX 方法<br>
        Append(Columns) 将新的 Column 对象添加到 Columns 集合。 <br>
        Append(Groups) 将新的 Group 对象添加到 Groups 集合。 <br>
        Append(Indexes) 将新的 Index 对象添加到 Indexes 集合。 <br>
        Append(Keys) 将新的 Key 对象添加到 Keys 集合。 <br>
        Append(Procedures) 将新的 Procedure 对象添加到 Procedures 集合。 <br>
        Append(Tables) 将新的 Table 对象添加到 Tables 集合。 <br>
        Append(Users) 将新的 User 对象添加到 Users 集合。 <br>
        Append(Views) 将新的 View 对象添加到 Views 集合。 <br>
        ChangePassword 更改用户帐号的密码。 <br>
        Create 创建新的目录。 <br>
        Delete 删除集合中的对象。 <br>
        GetObjectOwner 返回目录中对象的拥有者。 <br>
        GetPermissions 获得对象上组或用户的权限。 <br>
        Item 按名称或序号返回集合的指定成员。 <br>
        Refresh 更新集合中的对象,以反映针对提供者可用的和指定的对象。 <br>
        SetObjectOwner 指定目录中对象的拥有者。 <br>
        SetPermissions 设置对象上组或用户的权限。 <br>
        四、ADOX 属性<br>
        ActiveConnection 指示目录所属的 ADO Connection 对象。 <br>
        Attributes 描述列特性。 <br>
        Clustered 指示索引是否被分簇。 <br>
        Command 指定可用于创建或执行过程的 ADO Command 对象。 <br>
        Count 指示集合中的对象数量。 <br>
        DateCreated 指示创建对象的日期。 <br>
        DateModified 指示上一次更改对象的日期。 <br>
        DefinedSize 指示列的规定最大大小。 <br>
        DeleteRule 指示主关键字被删除时将执行的操作。 <br>
        IndexNulls 指示在索引字段中有 Null 值的记录是否有索引项。 <br>
        Name 指示对象的名称。 <br>
        NumericScale 指示列中数值的范围。 <br>
        ParentCatalog 指定表或列的父目录以便访问特定提供者的属性。 <br>
        Precision 指示列中数据值的最高精度。 <br>
        PrimaryKey 指示索引是否代表表的主关键字。 <br>
        RelatedColumn 指示相关表中相关列的名称(仅关键字列)。 <br>
        RelatedTable 指示相关表的名称。 <br>
        SortOrder 指示列的排序顺序(仅索引列)。 <br>
        Type(列) 指示列的数据类型。 <br>
        Type(关键字) 指示关键字的数据类型。 <br>
        Type(表) 指示表的类型。 <br>
        Unique 指示索引关键字是否必须是唯一的。 <br>
        UpdateRule 指示主关键字被更新时会执行的操作。 <br><br>
        五、范例<br>
        5.1 创建数据库范例<br>
        如下代码显示如何通过 Create 方法创建新的 Jet 数据库。<br>
        Sub CreateDatabase()<br><br>
         Dim cat As New ADOX.Catalog<br>
         cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\new.mdb"<br><br>
        End Sub<br>
        5.2 创建表范例<br>
        Sub CreateTable()<br><br>
         Dim tbl As New Table<br>
         Dim cat As New ADOX.Catalog<br><br>
        '打开目录。<br>
         ' 打开目录。<br>
         cat.ActiveConnection = _ <br>
         "Provider=Microsoft.Jet.OLEDB.4.0;" &amp; _<br>
         "Data Source=c:\Program Files\Microsoft Office\" &amp; _<br>
         "Office\Samples\Northwind.mdb;"<br><br>
         tbl.Name = "MyTable"<br>
         tbl.Columns.Append "Column1", adInteger<br>
         tbl.Columns.Append "Column2", adInteger<br>
         tbl.Columns.Append "Column3", adVarWChar, 50<br>
         cat.Tables.Append tbl<br><br>
        End Sub<br>
        5.3 创建索引范例<br>
        如下代码演示如何创建新的索引。索引针对表的两个列建立。<br>
        Sub CreateIndex()<br><br>
         Dim tbl As New Table<br>
         Dim idx As New ADOX.Index<br>
         Dim cat As New ADOX.Catalog<br><br>
        ' 打开目录。<br>
         ' 打开目录。<br>
         cat.ActiveConnection = _ <br>
         "Provider=Microsoft.Jet.OLEDB.4.0;" &amp; _<br>
         "Data Source=c:\Program Files\Microsoft Office\" &amp; _<br>
         "Office\Samples\Northwind.mdb;"<br><br>
         ' 定义表并将其追加到目录<br>
         tbl.Name = "MyTable"<br>
         tbl.Columns.Append "Column1", adInteger<br>
         tbl.Columns.Append "Column2", adInteger<br>
         tbl.Columns.Append "Column3", adVarWChar, 50<br>
         cat.Tables.Append tbl<br><br>
         ' 定义多列索引<br>
         idx.Name = "multicolidx"<br>
         idx.Columns.Append "Column1"<br>
         idx.Columns.Append "Column2"<br><br>
         ' 将索引追加到表上<br>
         tbl.Indexes.Append idx<br><br>
        End Sub<br>
        5.4 创建关键字范例<br>
        如下代码演示如何创建新的外部关键字。假定已存在两个表(Customers 和 orders)。<br>
        Sub CreateKey()<br><br>
         Dim kyForeign As New ADOX.Key<br>
         Dim cat As New ADOX.Catalog<br><br>
         cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" &amp; _<br>
         "Data Source=c:\Program Files\Microsoft Office\" &amp; _<br>
         "Office\Samples\Northwind.mdb;"<br><br>
         kyForeign.Name = "CustOrder"<br>
         kyForeign.Type = adKeyForeign<br>
         kyForeign.RelatedTable = "Customers"<br>
         kyForeign.Columns.Append "CustomerId"<br>
         kyForeign.Columns("CustomerId").RelatedColumn = "CustomerId"<br>
         kyForeign.UpdateRule = adRICascade<br>
         cat.Tables("Orders").Keys.Append kyForeign<br>
        End Sub</p>
頁: [1]
查看完整版本: 关于ADOX的相关知识