天天看点

获取Access数据库字段的所有属性(转)

< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>

由于操作Access数据库,需要用增加字段,但又不知道字段的属性怎么设置,好不容易找到了一些资料,接凑着把字段属性找到了。

然后又找了一些资料,用一个最笨的办法把字段的所有属性加上。当然,我一直不明白,为什么微软不把这些属性写出来,而是用了一个集合,非常不明白。

首先自己建立一个access数据库,建表,建字段,你想设置字段的什么属性,自己设置好。

然后用代码读这个数据库,然后列举它的属性,需要引用ado 和 adox

目前列举的属性有:

0 Autoincrement

1 Default

2 Description

3 Nullable

4 Fixed Length

5 Seed

6 Increment

7 Jet OLEDB:Column Validation Text

8 Jet OLEDB:Column Validation Rule

9 Jet OLEDB:IISAM Not Last Column

10 Jet OLEDB:AutoGenerate

11 Jet OLEDB:One BLOB per Page

12 Jet OLEDB:Compressed UNICODE Strings

13 Jet OLEDB:Allow Zero Length

14 Jet OLEDB:Hyperlink

代码如下:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using ADOX;

using ADODB;

namespace EnumColumnProperties

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

        private void button1_Click(object sender, EventArgs e)

            ADODB.ConnectionClass conn = new ADODB.ConnectionClass ();

            string ConnectionString = @"Provider=Microsoft.Jet.Oledb.4.0;Data Source=D:\FirstCatalog.mdb;Persist Security Info=False";

            conn.Open(ConnectionString,"","",0);

            ADOX.CatalogClass catalog = new ADOX.CatalogClass();

            catalog.ActiveConnection = conn;

            foreach (Column co in catalog.Tables[0].Columns )

            {

                foreach (ADODB.Property pr in co.Properties)

                {

                    Console.WriteLine(pr.Name);

                }

                Console.WriteLine(co.Name + "==================");

            }

    }

}

本文转自 netcorner 博客园博客,原文链接: http://www.cnblogs.com/netcorner/archive/2009/06/01/2912066.html  ,如需转载请自行联系原作者