关于ADOX

ado

1、ADOX 概述
Microsoft ActiveX Data Objects Extensions for Data Definition Language and Security (ADOX) 是对 ADO 对象和编程模型的扩展。ADOX 包括用于模式创建和修改的对象,以及安全性。由于它是基于对象实现模式操作,所以用户可以编写对各种数据源都能有效运行的代码,而与它们原始语法中的差异无关。

ADOX 是核心 ADO 对象的扩展库。它显露的其他对象可用于创建、修改和删除模式对象,如表格和过程。它还包括安全对象,可用于维护用户和组,以及授予和撤消对象的权限。

要通过开发工具使用 ADOX,需要建立对 ADOX 类型库的引用。对 ADOX 库的说明为“Microsoft ADO Ext. for DDL and Security.”。ADOX 库文件名为“Msadox.dll”,程序 ID (ProgID) 为“ADOX”。有关建立库引用的详细信息,请参阅开发工具的文档。
2、ADOX 对象
Catalog   包含描述数据源模式目录的集合。
Column    表示表、索引或关键字的列。
Group     表示在安全数据库内有访问权限的组帐号。
Index     表示数据库表中的索引。
Key       表示数据库表中的主关键字、外部关键字或唯一关键字。
Procedure  表示存储的过程。
Table    表示数据库表,包括列、索引和关键字。
User     表示在安全数据库内具有访问权限的用户帐号。
View     表示记录或虚拟表的过滤集。
3、ADOX 方法
Append(Columns) 将新的 Column 对象添加到 Columns 集合。
Append(Groups) 将新的 Group 对象添加到 Groups 集合。
Append(Indexes) 将新的 Index 对象添加到 Indexes 集合。
Append(Keys) 将新的 Key 对象添加到 Keys 集合。
Append(Procedures) 将新的 Procedure 对象添加到 Procedures 集合。
Append(Tables) 将新的 Table 对象添加到 Tables 集合。
Append(Users) 将新的 User 对象添加到 Users 集合。
Append(Views) 将新的 View 对象添加到 Views 集合。
ChangePassword 更改用户帐号的密码。
Create 创建新的目录。
Delete 删除集合中的对象。
GetObjectOwner 返回目录中对象的拥有者。
GetPermissions 获得对象上组或用户的权限。
Item 按名称或序号返回集合的指定成员。
Refresh 更新集合中的对象,以反映针对提供者可用的和指定的对象。
SetObjectOwner 指定目录中对象的拥有者。
SetPermissions 设置对象上组或用户的权限。
4、ADOX 属性
ActiveConnection 指示目录所属的 ADO Connection 对象。
Attributes 描述列特性。
Clustered 指示索引是否被分簇。
Command 指定可用于创建或执行过程的 ADO Command 对象。
Count 指示集合中的对象数量。
DateCreated 指示创建对象的日期。
DateModified 指示上一次更改对象的日期。
DefinedSize 指示列的规定最大大小。
DeleteRule 指示主关键字被删除时将执行的操作。
IndexNulls 指示在索引字段中有 Null 值的记录是否有索引项。
Name 指示对象的名称。
NumericScale 指示列中数值的范围。
ParentCatalog 指定表或列的父目录以便访问特定提供者的属性。
Precision 指示列中数据值的最高精度。
PrimaryKey 指示索引是否代表表的主关键字。
RelatedColumn 指示相关表中相关列的名称(仅关键字列)。
RelatedTable 指示相关表的名称。
SortOrder 指示列的排序顺序(仅索引列)。
Type(列) 指示列的数据类型。
Type(关键字) 指示关键字的数据类型。
Type(表) 指示表的类型。
Unique 指示索引关键字是否必须是唯一的。
UpdateRule 指示主关键字被更新时会执行的操作。

5、范例
一、创建数据库范例
如下代码显示如何通过 Create 方法创建新的 Jet 数据库。

Sub CreateDatabase()

   Dim cat As New ADOX.Catalog
   cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\new.mdb"

End Sub
二、创建表范例
Sub CreateTable()

   Dim tbl As New Table
   Dim cat As New ADOX.Catalog

'打开目录。
   ' 打开目录。
   cat.ActiveConnection = _
      "Provider=Microsoft.Jet.OLEDB.4.0;" & _
      "Data Source=c:\Program Files\Microsoft Office\" & _
      "Office\Samples\Northwind.mdb;"

   tbl.Name = "MyTable"
   tbl.Columns.Append "Column1", adInteger
   tbl.Columns.Append "Column2", adInteger
   tbl.Columns.Append "Column3", adVarWChar, 50
   cat.Tables.Append tbl

End Sub
三、创建索引范例
如下代码演示如何创建新的索引。索引针对表的两个列建立。

Sub CreateIndex()

   Dim tbl As New Table
   Dim idx As New ADOX.Index
   Dim cat As New ADOX.Catalog

' 打开目录。
   ' 打开目录。
   cat.ActiveConnection = _
      "Provider=Microsoft.Jet.OLEDB.4.0;" & _
      "Data Source=c:\Program Files\Microsoft Office\" & _
      "Office\Samples\Northwind.mdb;"

   ' 定义表并将其追加到目录
   tbl.Name = "MyTable"
   tbl.Columns.Append "Column1", adInteger
   tbl.Columns.Append "Column2", adInteger
   tbl.Columns.Append "Column3", adVarWChar, 50
   cat.Tables.Append tbl

   ' 定义多列索引
   idx.Name = "multicolidx"
   idx.Columns.Append "Column1"
   idx.Columns.Append "Column2"

时间: 2024-10-25 21:57:52

关于ADOX的相关文章

不用ADOX也可以判断access表是否存在

access|ado|是否存在 哈哈,不用ADOX也可以!! <% Dim cn ,strCnn,rstSchema set cn = server.createobject("ADODB.Connection") set strCnn = server.createobject("ADODB.Recordset")set rstSchema = server.createobject("ADODB.Recordset") strCnn =

用ADox获得表的唯一索引

ado|索引 adox的功能据说很强大,但是我没感觉出来,因为我在asp下编写了很多程序,都运行不了.不知道什么原因,这里有一个程序可以获得唯一索引.可能有的朋友会做一些通用程序,也就是无论数据结构如何变化,程序不变,从数据录入,修改,删除,到数据检索.所有模块都是完全独立于数据库表的结构的.这样就需要获得该表的唯一索引.因为要通过唯一索引来标示当前要删改的是那条记录.如果一个表是正规的表的话,应该至少有一个唯一索引,因为表应该有主键,而主键就是唯一索引.我尝试用adox.key获得表的主键,出

ASP操作Access及ADOX类的使用

一般操作Access数据库,有Alter语句,和MsSQL2k的基本语法差别不是太打,例如,在某表创建新列语句: Dim sqlstr sqlstr="alter table l_info add column info_file varchar(200)default NULL" conn.execute(sqlstr) 以上语句在l_info创建列info_file,为文本类型,长度是200,如果没有其他的设置,这时候,默认的: 必填字段:否 允许空字符创:否 这个空字符串一般可以

vbs adox提取数据库表名和列名的类_vbs

<!--#include virtual="/include/conn.inc"--> <% '********************************* '* classname: ADOXDBOPR '* 制作人: 刘晓逸 '* 作用: 用adox进行数据库的操作 '* 版本: 1.0 '*www.jb51.net '********************************** Class ADOXDBOPR dim objADOX Private

ADOX.Catalog中文帮助详细说明chm文档第1/3页_vbs

首先给个完全版的地址,如果您机器上装过OFFICE应该可以打开的:ADOX 对象模型, 地址是:"C:\Program Files\Common Files\Microsoft Shared\OFFICE11\2052\ADO210.CHM", 您可以在运行里输入:"hh.exe C:\Program%20Files\Common%20Files\Microsoft%20Shared\OFFICE11\2052\ADO210.CHM::/htm/admscobjectmode

关于ADOX的相关知识_数据库其它

转自:http://blog.junstudio.org/article.asp?id=262 一.ADOX 概述 Microsoft? ActiveX? Data Objects Extensions for Data Definition Language and Security (ADOX) 是对 ADO 对象和编程模型的扩展.ADOX 包括用于模式创建和修改的对象,以及安全性.由于它是基于对象实现模式操作,所以用户可以编写对各种数据源都能有效运行的代码,而与它们原始语法中的差异无关.

MDB数据库压缩方法

数据|数据库|压缩   MDB数据库压缩方法 jimzj@21cn.com   虽然说MDB数据库功能不是很强大,但时由于在WIN x系统中已有缺省的驱动程序,所以不用另外像SQL,SYBASE一样安装一个管理驱动,而且携带方便,很多的小应用程序或网站还是采用MDB数据库.经常操作MDB数据时,就会经常碰到要对数据进行压缩,下面的我在网上找到和自己使用的经验写一下关于在各种环境中压缩MDB数据库的方法,提供大家参考:   一.ASP或VB中压缩 以前使用 DAO 时,Microsoft 有提供

如何使用c#操作ACCESS数据库

  如何使用c#操作ACCESS数据库: 手头没有Microsoft Access,如何建立数据库,一切依然简单. 首先引用C:Program FilesCommon FilesSystemadomsadox.dll,该DLL包含ADOX命名空间; 接着引用C:Program FilesCommon FilesSystemadomsjro.dll,该DLL包含JRO命名空间 SxS好问提示:如,导入dll不成功,手动把com组件导入为 .net组件,在用vs.net工具导入 using Syst

使用c#操作ACCESS数据库

  手头没有Microsoft Access,如何建立数据库,一切依然简单. 首先引用C:Program FilesCommon FilesSystemadomsadox.dll,该DLL包含ADOX命名空间; 接着引用C:Program FilesCommon FilesSystemadomsjro.dll,该DLL包含JRO命名空间 SxS好问提示:如,导入dll不成功,手动把com组件导入为 .net组件,在用vs.net工具导入 using System; using System.IO