手机
当前位置:查字典教程网 >编程开发 >数据库其他 >关于ADOX的相关知识
关于ADOX的相关知识
摘要:转自:http://blog.junstudio.org/article.asp?id=262一、ADOX概述Microsoft?Activ...

转自:http://blog.junstudio.org/article.asp?id=262

一、ADOX概述

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

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

要通过开发工具使用ADOX,需要建立对ADOX类型库的引用。对ADOX库的说明为“MicrosoftADOExt.forDDLandSecurity.”。ADOX库文件名为“Msadox.dll”,程序ID(ProgID)为“ADOX”。有关建立库引用的详细信息,请参阅开发工具的文档。

二、ADOX对象

Catalog包含描述数据源模式目录的集合。

Column表示表、索引或关键字的列。

Group表示在安全数据库内有访问权限的组帐号。

Index表示数据库表中的索引。

Key表示数据库表中的主关键字、外部关键字或唯一关键字。

Procedure表示存储的过程。

Table表示数据库表,包括列、索引和关键字。

User表示在安全数据库内具有访问权限的用户帐号。

View表示记录或虚拟表的过滤集。

三、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设置对象上组或用户的权限。

四、ADOX属性

ActiveConnection指示目录所属的ADOConnection对象。

Attributes描述列特性。

Clustered指示索引是否被分簇。

Command指定可用于创建或执行过程的ADOCommand对象。

Count指示集合中的对象数量。

DateCreated指示创建对象的日期。

DateModified指示上一次更改对象的日期。

DefinedSize指示列的规定最大大小。

DeleteRule指示主关键字被删除时将执行的操作。

IndexNulls指示在索引字段中有Null值的记录是否有索引项。

Name指示对象的名称。

NumericScale指示列中数值的范围。

ParentCatalog指定表或列的父目录以便访问特定提供者的属性。

Precision指示列中数据值的最高精度。

PrimaryKey指示索引是否代表表的主关键字。

RelatedColumn指示相关表中相关列的名称(仅关键字列)。

RelatedTable指示相关表的名称。

SortOrder指示列的排序顺序(仅索引列)。

Type(列)指示列的数据类型。

Type(关键字)指示关键字的数据类型。

Type(表)指示表的类型。

Unique指示索引关键字是否必须是唯一的。

UpdateRule指示主关键字被更新时会执行的操作。

五、范例

5.1创建数据库范例

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

SubCreateDatabase()

DimcatAsNewADOX.Catalog

cat.Create"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=c:new.mdb"

EndSub

5.2创建表范例

SubCreateTable()

DimtblAsNewTable

DimcatAsNewADOX.Catalog

'打开目录。

'打开目录。

cat.ActiveConnection=_

"Provider=Microsoft.Jet.OLEDB.4.0;"&_

"DataSource=c:ProgramFilesMicrosoftOffice"&_

"OfficeSamplesNorthwind.mdb;"

tbl.Name="MyTable"

tbl.Columns.Append"Column1",adInteger

tbl.Columns.Append"Column2",adInteger

tbl.Columns.Append"Column3",adVarWChar,50

cat.Tables.Appendtbl

EndSub

5.3创建索引范例

如下代码演示如何创建新的索引。索引针对表的两个列建立。

SubCreateIndex()

DimtblAsNewTable

DimidxAsNewADOX.Index

DimcatAsNewADOX.Catalog

'打开目录。

'打开目录。

cat.ActiveConnection=_

"Provider=Microsoft.Jet.OLEDB.4.0;"&_

"DataSource=c:ProgramFilesMicrosoftOffice"&_

"OfficeSamplesNorthwind.mdb;"

'定义表并将其追加到目录

tbl.Name="MyTable"

tbl.Columns.Append"Column1",adInteger

tbl.Columns.Append"Column2",adInteger

tbl.Columns.Append"Column3",adVarWChar,50

cat.Tables.Appendtbl

'定义多列索引

idx.Name="multicolidx"

idx.Columns.Append"Column1"

idx.Columns.Append"Column2"

'将索引追加到表上

tbl.Indexes.Appendidx

EndSub

5.4创建关键字范例

如下代码演示如何创建新的外部关键字。假定已存在两个表(Customers和orders)。

SubCreateKey()

DimkyForeignAsNewADOX.Key

DimcatAsNewADOX.Catalog

cat.ActiveConnection="Provider=Microsoft.Jet.OLEDB.4.0;"&_

"DataSource=c:ProgramFilesMicrosoftOffice"&_

"OfficeSamplesNorthwind.mdb;"

kyForeign.Name="CustOrder"

kyForeign.Type=adKeyForeign

kyForeign.RelatedTable="Customers"

kyForeign.Columns.Append"CustomerId"

kyForeign.Columns("CustomerId").RelatedColumn="CustomerId"

kyForeign.UpdateRule=adRICascade

cat.Tables("Orders").Keys.AppendkyForeign

EndSub

【关于ADOX的相关知识】相关文章:

数据库学习建议之提高数据库速度的十条建议

如何取得一个表的所有字段名用逗号分割

数据库查询中遭遇特殊字符导致问题的解决方法

postgres 数据库中的数据转换

SQLite快速入门指南

SQL 注入式攻击的本质

mssql 区分大小写的详细说明

mysql、mssql及oracle分页查询方法详解

where 子句的执行顺序

由拖库攻击谈口令字段的加密策略(数据库加密)

精品推荐
分类导航