首先给个完全版的地址,如果您机器上装过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/admscobjectmodel.htm" 定位。
ADOX对象模型图:

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 数据库。
ASP代码:
-----------------------------------------------------------
set cat=server.createobject("ADOX.Catalog")
    cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\new.mdb"

VB代码
--------------------------------
Sub CreateDatabase()
              'Dim cat As New ADOX.Catalog
       ' cat.Create ""Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\new.mdb""

End Sub
二、创建表范例ASP代码:
-------------<%
    set cat=server.createobject("ADOX.Catalog")
    dbpath=server.mappath("/shit/date/new.mdb")    cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&dbpath
    set    tbl=Server.createobject("ADOX.Table")
          tbl.Name     =     "MyTable"
    tbl.Columns.Append     "Column1",     3           'adInteger
          tbl.Columns.Append     "Column2",     3           'adInteger
          tbl.Columns.Append     "Column3",     202       ,50     'adVarWChar
          cat.Tables.Append     tbl
    %>
VB代码:---------------
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""

        ' 将索引追加到表上
        tbl.Indexes.Append idx

End Sub
四、创建关键字范例
如下代码演示如何创建新的外部关键字。假定已存在两个表(Customers 和 Orders)。

Sub CreateKey()

        Dim kyForeign As New ADOX.Key
        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;""

        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.Append kyForeign
End Sub
       [/code]

 

Type   属性(列)

指示列的数据类型

设置和返回值

设置或返回长整型值,该值是如下常量之一:

常量   说明
adTinyInt   精确的数字值,精度为小数点后   3   位。关于该类型的详细资料,请参阅“OLE   DB   程序员参考”。
AdSmallInt   精确数字值,精度为小数点后   5   位。关于该类型的详细资料,请参阅“OLE   DB   程序员参考”。
AdInteger   精确数字值,精度为小数点后   10   位。关于该类型的详细资料,请参阅“OLE   DB   程序员参考”。
AdBigInt   精确数字值,精度为小数点后   19   位。关于该类型的详细资料,请参阅“OLE   DB   程序员参考”。
AdUnsignedTinyInt   无符号的   adTinyInt。
AdUnsignedSmallInt   无符号的   adSmallInt。
AdUnsignedInt   无符号的   adInteger。
AdUnsignedBigInt   无符号的   adBigInt。
AdSingle   单精度浮点数。
AdDouble   双精度浮点数。
AdCurrency   货币类型。关于该类型的详细资料,请参阅“OLE   DB   程序员参考”。
AdDecimal   变体型十进制类型。关于该类型的详细资料,请参阅“OLE   DB   程序员参考”。
AdNumeric   数值类型。关于该类型的详细资料,请参阅“OLE   DB   程序员参考”。
AdBoolean   变体布尔类型。0   为假而   ~0   为真。
AdUserDefined   用户定义的变量长度数据类型。关于该类型的详细资料,请参阅“OLE   DB   程序员参考”。
AdVariant   自动变体型。关于该类型的详细资料,请参阅“OLE   DB   程序员参考”。
AdGuid   全域唯一标识符。关于该类型的详细资料,请参阅“OLE   DB   程序员参考”。
AdDate   自动日期。关于该类型的详细资料,请参阅“OLE   DB   程序员参考”。
AdDBDate   数据库日期数据结构。关于该类型的详细资料,请参阅“OLE   DB   程序员参考”。
AdDBTime   数据库时间数据结构。关于该类型的详细资料,请参阅“OLE   DB   程序员参考”。
AdDBTimestamp   数据库时间戳结构。关于该类型的详细资料,请参阅“OLE   DB   程序员参考”。
AdBSTR   BSTR   的指针。关于该类型的详细资料,请参阅“OLE   DB   程序员参考”。
AdChar   定长字符串。
AdVarChar   变长字符串。
AdLongVarChar   长变长字符串。
AdWChar   宽定长字符串。
AdVarWChar   宽变长字符串。
AdLongVarWChar   长、宽变长字符串。
AdBinary   定长二进制数据。
AdVarBinary   变长二进制数据。
AdLongVarBinary   长变长二进制数据。

说明

默认值是   adVarWChar。

在   Column   对象追加到集合或
* ================================================================================================

ADO:
cDefPath = ADDBS(JUSTPATH(SYS(16)))
#define adSchemaTables 20
xlsFile = cDefPath + "Book1.xls"
conn = CREATEOBJECT("ADODB.Connection")
conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='Excel 8.0';Data Source="+xlsFile)
rs = conn.OpenSchema(adSchemaTables)
DO WHILE !rs.EOF
? RTRIM(rs.Fields(2).Value,"$")
rs.MoveNext
ENDDO
conn.Close

ADOX:

cDefPath = ADDBS(JUSTPATH(SYS(16)))
SET DEFAULT TO (cDefPath)
xlsFile = cDefPath + "Book1.xls"
cat = CREATEOBJECT("ADOX.Catalog")
cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='Excel 8.0';Data Source="+xlsFile
FOR EACH table IN cat.Tables
IF RIGHT(table.name,1)=="$"
? table.name
ENDIF
ENDFOR

 

【转载】ADOX.Catalog中文帮助详细说明chm文档的更多相关文章

  1. 最简单,最实用的数据库CHM文档生成工具——DBCHM

    DBCHM支持SqlServer/MySql/Oracle/PostgreSQL等数据库的表列批注维护管理. DBCHM有以下几个功能 表,列的批注可以编辑保存到数据库. 表,列的批注支持通过pdm文 ...

  2. 作为一个程序猿,是不是经常会用到.chm文档,但是我们可能会遇到这样那样的问题,比如.chm文档打不开

    .chm文档不能正常打开,一般有两种情形下会造成文档打不开, 1.系统语言栏的语言和文档的语言类别不一同,也就是说比如你的文档是中文版的,但是系统设置的语言是其他国家的.不过一般这种情况很少出现 ,谁 ...

  3. 制作Aspose CHM文档的过程记录

    欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...

  4. 生成chm文档工具- Sandcastle -摘自网络

    Sandcastle是微软官方的文档生成工具,NDoc开发停止后,这个貌似也是唯一的一个这方面的工具.它从dll文件及其xml注释文件能够 生成完整的帮助文档,支持多种生成格式(Helpe1x:chm ...

  5. Emacs阅读chm文档

    .title { text-align: center; margin-bottom: .2em } .subtitle { text-align: center; font-size: medium ...

  6. QuickChm 制作chm文档 chm文档脚本错误,乱码

    最近学习bootstrap,到网上找了一些chm格式的文档,发现有些老旧,于是决定自己制作一个 用过以下这些chm制造器,包括easychm,chm精灵,chmeditor,chmfactory等等, ...

  7. 【原】中文Ubuntu主目录下的文档文件夹改回英文

    想把中文Ubuntu主目录下的文档文件夹改回英文,在Terminal下面操作的时候要输入中文特别不方便,于是便用了更改名字的想法 方法一: 首先把那几个中文名称修改成相应的英文,比如 Desktop. ...

  8. 在Firefox中发现一个在Linux下查看chm文档的插件

    在Firefox浏览器插件中搜索插件chmfox插件,安装后就可以在linux下通过Firefox浏览器阅读chm文档了.

  9. 如何生成项目的chm文档

    如何生成项目的chm文档 2014-11-30 Generate .chm based documentation of your project using SandCastle  tool

  10. IDEA生成doc文档-生成chm文档

    首先,打开IDEA,并找到Tools -> Generate JavaDoc- 可供查询的chm比那些HTML页面好看多了. 如果您用过JDK API的chm文档,那么您一定不会拒绝接受其它第三 ...

随机推荐

  1. 关于docker创建容器报错-docker: Error response from daemon: runtime "io.containerd.runc.v2" binary not installed

    今天在对一台服务器(docker相关的业务服务器)进行OS补丁时,默认使用的 yum update -y 对所有的安装包进行了升级 升级完成后,让应用方检查确认应用及功能是否一切正常,如果不正常,严重 ...

  2. VideoPipe可视化视频结构化框架开源了!

    完成多路视频并行接入.解码.多级推理.结构化数据分析.上报.编码推流等过程,插件式/pipe式编程风格,功能上类似英伟达的deepstream和华为的mxvision,但底层核心不依赖复杂难懂的gst ...

  3. 使用MVC的实现登录注册功能

    文章目录 1.视图层(View)页面的编写: 1.1.登录页面 1.2.注册页面 2.控制层(Controller)的编写 2.1. 注册 2.2 .登录 2.3 .实体类 3.Model层(Mode ...

  4. python基础之open函数和路径处理

    前言 本次内容主要介绍文件处理open函数以及路径处理. 一.open函数 根据前面介绍的函数调用方式,调用open函数. #open函数调用 open() TypeError: open() mis ...

  5. 17.ViewSet和Router

    REST框架为我们提高了一个更加抽象的ViewSet视图集,ViewSet提供一套自动的urlconf路由 ViewSet与View类几乎相同,不同之处在于它们提供诸如read或update之类的操作 ...

  6. iOS- 最全的真机测试教程

      想要上架的同学请看:<iOS-最全的App上架教程> 因为最近更新了Xcode 8 ,证书的创建都大同小异,只是在Xcode 8中的设置有一些变化,我就在下面补充,如有什么疑问,请联系 ...

  7. 洛谷 P6573 [BalticOI 2017] Toll 题解

    Link 算是回归OI后第一道自己写的题(考CSP的时候可没回归) 写篇题解纪念一下 题目大意: \(n\) 个点,\(m\) 条单向边,每条边的两端点 \(x\),\(y\)必定满足 \(\left ...

  8. docker常用配置以及命令

    1. Docker基本概念 1.1 什么是 docker hub DockHub是一个仓库 https://hub.docker.com/ 仓库是集中存放镜像文件的场所 仓库分为公开仓库(Public ...

  9. 设计模式学习(二十四):Spring 中使用到的设计模式

    设计模式学习(二十四):Spring 中使用到的设计模式 作者:Grey 原文地址: 博客园:设计模式学习(二十四):Spring 中使用到的设计模式 CSDN:设计模式学习(二十四):Spring ...

  10. 读书笔记《A Philosophy of Software Design - John Ousterhout 软件设计哲学》

    软件设计哲学这本书很薄,值得一读.这本书将大家平时碰到的很多软件问题从更深刻的层面进行了抽象分析,同时又给出了具体的解决方案.可以说既有理论高度,又能贴近实践. 但针对软件问题,这本书并没有提出太多与 ...