获取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  ,如需转载请自行联系原作者



相关文章
|
3月前
|
关系型数据库 MySQL 数据库
往数据库的字段varchar 或datetime里存时间值
往数据库的字段varchar 或datetime里存时间值
118 0
|
2月前
|
NoSQL 数据库
Google Earth Engine(GEE)——美国大陆(CONUS)30米土壤属性概率图数据库
Google Earth Engine(GEE)——美国大陆(CONUS)30米土壤属性概率图数据库
32 0
|
5月前
|
数据库
如何在web.config文件中配置连接Access数据库?
如何在web.config文件中配置连接Access数据库?
34 0
|
20天前
|
存储 关系型数据库 MySQL
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
|
4天前
|
SQL 关系型数据库 MySQL
mysql 数据库查询 查询字段用逗号隔开 关联另一个表并显示
mysql 数据库查询 查询字段用逗号隔开 关联另一个表并显示
17 2
|
27天前
|
SQL 关系型数据库 MySQL
Mysql数据库一个表字段中存了id,并以逗号分隔,id对应的详细信息在另一个表中
Mysql数据库一个表字段中存了id,并以逗号分隔,id对应的详细信息在另一个表中
10 0
|
1月前
|
SQL 存储 数据可视化
access sql 数据库,Access SQL
access sql 数据库,Access SQL
|
2月前
|
Java 数据库连接 数据库
Windows7 64位 连接Access数据库“未发现数据源名称并且未指定默认驱动程序“的解决办法
Windows7 64位 连接Access数据库“未发现数据源名称并且未指定默认驱动程序“的解决办法
|
2月前
|
开发框架 安全 .NET
某教程学习笔记(一):07、数据库漏洞(access注入)
某教程学习笔记(一):07、数据库漏洞(access注入)
18 0
|
2月前
|
SQL 数据库管理
sqlite语句order by两个字段同时排序处理
sqlite语句order by两个字段同时排序处理
21 0

热门文章

最新文章