1.ADOX概述:

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

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

要通过VS使用 ADOX,需要建立对 ADOX 类型库的引用。在“Add reference”对话框里切换到Com页面,选择“Microsoft ADO Ext. 2.8 for DDL and Security”,然后点击OK。在文件的开头using ADOX名字空间。

2.ADOX的对象模型:

Catalog:

.NET2.0下用ADOX动态创建ACCESS数据库(C#)
.NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#)
.NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#)
.NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#)
.NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#)
.NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#)
.NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#)

.NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#)
.NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#)
.NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#)
.NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#)

使用如下语句可以创建数据库:

.NET2.0下用ADOX动态创建ACCESS数据库(C#)   // 创建数据库字符串 
.NET2.0下用ADOX动态创建ACCESS数据库(C#)
   string dbName = "D:\DataBase\FirstTable.mdb";
.NET2.0下用ADOX动态创建ACCESS数据库(C#)    ADOX.CatalogClass catlog 
= new ADOX.CatalogClass();
.NET2.0下用ADOX动态创建ACCESS数据库(C#)    
//或者  ADOX.Catalog  catlog = new ADOX.Catalog();  CatalogClass 是类 ,Catalog是接口 。
.NET2.0下用ADOX动态创建ACCESS数据库(C#)
    catlog .Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbName + ";"+"Jet OLEDB:Engine Type=5");

Table对象包括列、索引和关键字的数据库表:

.NET2.0下用ADOX动态创建ACCESS数据库(C#)
.NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#)
.NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#)
.NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#)
.NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#)
.NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#)

我们可以如下创建表:

.NET2.0下用ADOX动态创建ACCESS数据库(C#) ADOX.TableClass tbl = new ADOX.TableClass(); // 或者 ADOX.Table  tbl = new ADOX.Table(); 
.NET2.0下用ADOX动态创建ACCESS数据库(C#)
    tbl.ParentCatalog = catlog; //数据库名
.NET2.0下用ADOX动态创建ACCESS数据库(C#)
    tbl.Name = "MyTable";

Table的属性:

  • 使用 Name 属性标识表。
  • 使用 Type 属性确定表的类型。
  • 使用 Columns 集合访问表的数据库列。
  • 使用 Indexes 集合访问表的索引。
  • 使用 Keys 集合访问表的关键字。
  • 使用 ParentCatalog 属性指定拥有表的 Catalog
    Columns 对象 :

    .NET2.0下用ADOX动态创建ACCESS数据库(C#)
    .NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#)
    .NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#)
    .NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#)
    .NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#) .NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#).NET2.0下用ADOX动态创建ACCESS数据库(C#)

    我们可以用以下语句创建列:

  • .NET2.0下用ADOX动态创建ACCESS数据库(C#)   ADOX.ColumnClass FirstCol = new ADOX.ColumnClass();
    .NET2.0下用ADOX动态创建ACCESS数据库(C#)    FirstCol.ParentCatalog 
    = catlog;
    .NET2.0下用ADOX动态创建ACCESS数据库(C#)    FirstCol.Type 
    = ADOX.DataTypeEnum.adInteger;  
    .NET2.0下用ADOX动态创建ACCESS数据库(C#)    FirstCol.Name 
    = "StuID";
    .NET2.0下用ADOX动态创建ACCESS数据库(C#)    FirstCol.Properties[
    "Jet OLEDB:Allow Zero Length"].Value = false;
    .NET2.0下用ADOX动态创建ACCESS数据库(C#)    FirstCol.Properties[
    "AutoIncrement"].Value = true;
    .NET2.0下用ADOX动态创建ACCESS数据库(C#)    tbl.Columns.Append(FirstCol, ADOX.DataTypeEnum.adInteger, 
    0);
    Columns 属性: 
  • 使用 Name 属性标识列。
  • 使用 Type 属性指定列的数据类型。
  • 使用 Attributes 属性确定是否列是固定长度或包含空值。
  • 使用 DefinedSize 属性指定列的最大大小。
  • 对于数字数据值,使用 NumericScale 方法指定范围。
  • 对于数字数据值,使用 Precision 属性指定最大精度。
  • 使用 ParentCatalog 属性指定拥有列的 Catalog



    3.完整的示例:

    .NET2.0下用ADOX动态创建ACCESS数据库(C#)using System;
    .NET2.0下用ADOX动态创建ACCESS数据库(C#)
    using System.Collections.Generic;
    .NET2.0下用ADOX动态创建ACCESS数据库(C#)
    using System.Text;
    .NET2.0下用ADOX动态创建ACCESS数据库(C#)
    using ADOX;
    .NET2.0下用ADOX动态创建ACCESS数据库(C#)
    namespace ADOXCreateTable
      

    4. 结束语

       到次一个完整的Access 数据库创建完成了,当然你还可以用ADOX创建SQL数据库 ,创建存储过程。原代码:Source

  • 相关文章: