Type   属性             
指示   Parameter、Field   或   Property   对象的操作类型或数据类型。
设置和返回值
设置或返回下列   DataTypeEnum   值之一。相应的   OLE   DB   类型标识符在下表的说明栏的括号中给出。有关   OLE   DB   数据类型的详细信息,请参阅第   10   章和《OLE   DB   程序员参考》的附录   A。
常量   说明   AdArray   与其他类型一起加入逻辑   OR   以指示该数据是那种类型的安全数组   (DBTYPE_ARRAY)。   AdBigInt   8   字节带符号的整数   (DBTYPE_I8)。   AdBinary   二进制值   (DBTYPE_BYTES)。   AdBoolean   布尔型值   (DBTYPE_BOOL)。   adByRef   与其他类型一起加入逻辑   OR   以指示该数据是其他类型数据的指针   (DBTYPE_BYREF)。   adBSTR   以空结尾的字符串   (Unicode)   (DBTYPE_BSTR)。   adChar   字符串值   (DBTYPE_STR)。   adCurrency   货币值   (DBTYPE_CY)。货币数字的小数点位置固定、小数点右侧有四位数字。该值保存为   8   字节范围为   10,000   的带符号整型值。   adDate   日期值   (DBTYPE_DATE)。日期按双精度型数值来保存,数字全部表示从   1899   年   12   月   30   开始的日期数。小数部分是一天当中的片段时间。   adDBDate   日期值   (yyyymmdd)   (DBTYPE_DBDATE)。   adDBTime   时间值   (hhmmss)   (DBTYPE_DBTIME)。   adDBTimeStamp   时间戳(yyyymmddhhmmss   加   10   亿分之一的小数)(DBTYPE_DBTIMESTAMP).   adDecimal   具有固定精度和范围的精确数字值   (DBTYPE_DECIMAL)。   adDouble   双精度浮点值   (DBTYPE_R8)。   adEmpty   未指定值   (DBTYPE_EMPTY)。   adError   32   -   位错误代码   (DBTYPE_ERROR)。   adGUID   全局唯一的标识符   (GUID)   (DBTYPE_GUID)。   adIDispatch   OLE   对象上   Idispatch   接口的指针   (DBTYPE_IDISPATCH)。   adInteger   4   字节的带符号整型   (DBTYPE_I4)。   adIUnknown   OLE   对象上   IUnknown   接口的指针   (DBTYPE_IUNKNOWN)。   adLongVarBinary   长二进制值(仅用于   Parameter   对象)。   adLongVarChar   长字符串值(仅用于   Parameter   对象)。   adLongVarWChar   以空结尾的长字符串值(仅用于   Parameter   对象)。   adNumeric   具有固定精度和范围的精确数字值   (DBTYPE_NUMERIC)。   adSingle   单精度浮点值   (DBTYPE_R4)。   adSmallInt   2   字节带符号整型   (DBTYPE_I2)。   adTinyInt   1   字节带符号整型   (DBTYPE_I1)。   adUnsignedBigInt   8   字节不带符号整型   (DBTYPE_UI8)。   adUnsignedInt   4   字节不带符号整型   (DBTYPE_UI4)。   adUnsignedSmallInt   2   字节不带符号整型   (DBTYPE_UI2)。   adUnsignedTinyInt   1   字节不带符号整型   (DBTYPE_UI1)。   adUserDefined   用户定义的变量   (DBTYPE_UDT)。   adVarBinary   二进制值(仅   Parameter   对象)。   adVarChar   字符串值(仅   Parameter   对象)。   adVariant   自动变体型   (DBTYPE_VARIANT)。   adVector   与其他类型一起加入逻辑   OR   中,指示数据是   DBVECTOR   结构(由   OLE   DB   定义)。该结构含有元素的计数和其他类型   (DBTYPE_VECTOR)   数据的指针。   adVarWChar   以空结尾的   Unicode   字符串(仅   Parameter   对象)。   adWChar   以空结尾的   Unicode   字符串   (DBTYPE_WSTR)。  
说明
对   Parameter   对象,Type   属性是读/写。对其他所有对象,Type   属性是只读。 
注:创建“备注”类型, 如下 col.Type = ADOX.DataTypeEnum.adLongVarWChar; //这句不能少,并且位置必须在其它属性前面,否则会报错。
tbl.Columns.Append(c, ADOX.DataTypeEnum.adLongVarWChar, 16);
附:

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名字空 间。

ADOX对象模型的解释:

1、ADOX 对象 Catalog 包含描述数据源模式目录的集合。 Column 表示表、索引或关键字的列。 Group 表示在安全数据库内有访问权限的组帐号。 Index 表示数据库表中的索引。 Key 表示数据库表中的主关键字、外部关键字或唯一关键字。 Procedure 表示存储的过程。 Table 表示数据库表,包括列、索引和关键字。 User 表示在安全数据库内具有访问权限的用户帐号。 View 表示记录或虚拟表的过滤集。 2、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 设置对象上组或用户的权限。 3、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 指示主关键字被更新时会执行的操作。

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

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

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

我们可以如下创建表:

 ADOX.TableClass tbl = new ADOX.TableClass(); // 或者 ADOX.Table  tbl = new ADOX.Table();      tbl.ParentCatalog = catlog; //数据库名     tbl.Name = "MyTable";

Table的属性:

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

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

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

    3.完整的示例:

  • using System; using System.Collections.Generic; using System.Text; using ADOX; namespace ADOXCreateTable {     class Program     {         static void Main(string[] args)         {                string dbName = "D:DataBaseFirstCatalog.mdb";     ADOX.CatalogClass catlog = new ADOX.CatalogClass();     catlog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbName + ";"+"Jet OLEDB:Engine Type=5");
        ADOX.TableClass table = new ADOX.TableClass();     table.ParentCatalog = catlog;     table.Name = "FirstTable";
        //StuId Column(AutoIncrement )     ADOX.ColumnClass col1 = new ADOX.ColumnClass();     col1.ParentCatalog = catlog;     col1.Type = ADOX.DataTypeEnum.adInteger;      col1.Name = "StuId";     col1.Properties["Jet OLEDB:Allow Zero Length"].Value = false;     col1.Properties["AutoIncrement"].Value = true;             //Name Column     ADOX.ColumnClass col2 = new ADOX.ColumnClass();     col2.ParentCatalog = catlog;     col2.Name = "StuName";     col2.Properties["Jet OLEDB:Allow Zero Length"].Value = false;           //Age Column     ADOX.ColumnClass col3 = new ADOX.ColumnClass();     col3.ParentCatalog = catlog;     col3.Name = "Stuage";     col3.Type = DataTypeEnum.adDouble;     col3.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
        // Primary     table.Keys.Append("PrimaryKey", ADOX.KeyTypeEnum.adKeyPrimary, "StuId", "", "");     table.Columns.Append(col1, ADOX.DataTypeEnum.adInteger, 0);     table.Columns.Append(col3, ADOX.DataTypeEnum.adDouble, 666);     table.Columns.Append(col2, ADOX.DataTypeEnum.adVarChar, 25);     catlog.Tables.Append(table);
        System.Runtime.InteropServices.Marshal.ReleaseComObject(table);     System.Runtime.InteropServices.Marshal.ReleaseComObject(catlog);     table = null;     catlog = null;     GC.WaitForPendingFinalizers();     GC.Collect();         }     } }
  • 4. 结束语

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

ADOX创建ACCESS数据库列名的数据类型的更多相关文章

  1. 如何用C# 动态创建Access数据库和表?

    记得以前要动态的创建Access数据库的mdb文件都是采用DAO,用VC开发,一大堆的API,很是麻烦.而且以前工作中需要全新的access数据库,可以复制数据库,也可以把新的数据库放到资源里面,用新 ...

  2. c#创建access数据库和数据表

      由于在程序中使用了ADOX,所以先要在解决方案中引用之,方法如下: 解决方案资源管理器(项目名称)-->(右键)添加引用-->COM--> Microsoft ADO Ext. ...

  3. 创建ACCESS数据库,并且创建表和数据。重点:关闭ACCESS数据库引用

    /// <summary> /// 创建ACCESS数据库,并且创建表和数据 /// </summary> /// <param name="dictTable ...

  4. ASP入门(二)-创建Access数据库

    通常来说,ASP程序是搭配Access数据库来使用的,因此在安装完ASP环境后,为了方便建立和管理数据库,我们还需要安装Access数据库. Access是Microsoft Office家族中的一员 ...

  5. 创建access数据库表demo的封装

    1.创建类 public void CreateBiao(ADOX.Catalog catlog,ADOX.Table table) { //StuId Column(AutoIncrement ) ...

  6. 在.net中创建Access数据库

    static void Main(string[] args) { //环境要求 //安装 access 2003, //引用com组件:Microsoft ADO Ext. 2.8 for DDL ...

  7. ADOX创建ACCESS 表时,几个附加属性

     中文  英文 允许空字符串 Jet OLEDB:Allow Zero Length Unicode压缩 Jet OLEDB:Compressed UNICODE Strings 有效性规则 Jet ...

  8. 如何在Asp.net中备份Access数据库?

    public   void   Create(   string   mdbPath   ) { if(   File.Exists(mdbPath)   )   //检查数据库是否已存在 { thr ...

  9. Access数据库创建、使用

    1.创建Access数据库表 1)在office中打开Microsoft Access2010,选择空数据库创建数据库StudentInfo. 2)创建新表,在表格第一列选择数据类型,并输入列名. 3 ...

随机推荐

  1. ThreadPoolExecutor源码解析

    LZ目前正在做一个批量生成报表的系统,需要定时批量生成多张报表,便考虑使用线程池来完成.JDK自带的Executors工具类只提供创建固定线程和可伸展但无上限的两个静态方法,并不能满足LZ想自定制线程 ...

  2. PHP面向对象 封装与继承

    知识点: PHP封装三个关键词: 一.public 公有的,被public修饰的属性和方法,对象可以任意访问和调用 二.private 私有的,被private修饰的属性和方法,只能在类内部的方法可以 ...

  3. Axios & fetch api & Promise & POST

    Axios & fetch api & Promise & POST https://github.com/axios/axios https://appdividend.co ...

  4. Scala 基础(6)—— 控制结构

    1. Scala 的内建控制结构 Scala 有几个内建的控制结构,包括: if 表达式 while 循环和 do-while 循环 for 表达式 try 表达式 match 表达式 Scala 的 ...

  5. 【NOI 2015网络同步赛】

    今年没法去.. 分数160+181+100(假设我有去考笔试)=441 分数线:金548 银459 铜331 并没有到银牌线.... 以后题目啊数据啊出来的话继续更新 2015.7.19

  6. 用CSS模拟魔兽世界技能冷却的效果

    效果演示   上面的效果看起来还不错吧.在网页里,除了用Flash,我们还是有不少方法可以实现它. 显然这种效果不复杂,一张背景图片,加上前面带有透明度的多边形图层,在脚本控制下就可以转起来了.但问题 ...

  7. jstl标签forEach的用法--遍历java的集合

    再讲<c:forEach>之前,现讲一下让EL表达式生效的语句 <% @ page isELIgnored="false"%>这句语句在你想让EL表达式生效 ...

  8. VMware Fault Tolerance 概述及功能

    VMware Fault Tolerance - 为您的应用程序提供全天候可用性 通过为虚拟机启用 VMware Fault Tolerance,最大限度地延长数据中心的正常运行时间,减少停机管理成本 ...

  9. nutch 2.1安装问题集锦

    参照官方文档http://nlp.solutions.asia/?p=180 中间碰到的问题,解决方法参考 http://blog.javachen.com/2014/05/20/nutch-intr ...

  10. 云服务器基本环境配置(php5.6+mysql+nginx)

    1.安装nginx sudo apt-get install nginx nginx 基本配置 server{ listen ; server_name www.xxxxxx.cn; root /va ...