All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
PHP,存取,MySQL,数据库的一个例子_php资料_编程技术
SQL,Server,2008-新位置感知数据类型_mssql学习_编程技术
二十 控制表格 Mastering Tables _[Html教程]
Asp.net生成静态网页的实现代码_[Asp.Net教程]
RSS制作
ASP.NET程序中常用的三十三种代码1_[Asp.Net教程]
用CommandBehavior自动关闭与之相关联的conn_[Asp.Net教程]
C、C++输入、输出流[二]
基于标准的web项目开发模式探索_JavaScript技术_编程技术
轻量级的Ajax解决方案——DynAjax的JQuery版_[AJAX教程]
Reading number is top 10 pictures
9.3阅兵全景图4-陸海空现代化兵种方阵梯队
看如何给单纯的少女洗脑
壮丽的云彩1
西方气质的东方美女1
Small QiShu -- ShuangShuangPan1
Discharge accidentally Actresses by the breast4
A man's favorite things7
关于提肛的健身效果
玩手机对身体不好
Summer is most suitable for young people to travel in China2
Download software ranking
Unix video tutorial20
Unix video tutorial15
小黑猫大战两米大花蛇
Boxer's Top ten classic battle7
Sora aoi‘s film--Lust fan wall
jdk1.6 for windows
Professional killers2 data package
双旗镇刀客B
Prostitutes diary
c#程序设计案例教程
aaa published in(发表于) 2013/12/13 9:44:09 Edit(编辑)
用C#动态创建Access数据库_.net资料_编程技术

用C#动态创建Access数据库_.net资料_编程技术

用C#动态创建Access数据库_.net资料_编程技术-你的首页-uuhomepage.com

记得以前要动态的创建Access数据库的mdb文件都是采用DAO,用VC开发,一大堆的API,很是麻烦。现在好像也鲜有人提起DAO。其实动态的创建mdb数据的最简单的方法还是ADOX。
用ADOX创建access数据库方法很简单,只需要new一个Catalog对象,然后调用它的Create方法就可以了,如下:
ADOX.Catalog catalog = new Catalog();
catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\test.mdb;Jet OLEDB:Engine Type=5");


仅仅两行代码就搞定了。下来我主要介绍一下在c#中的实现细节。首先你要添加引用,在“Add reference”对话框里切换到Com页面,选择“Microsoft ADO Ext. 2.8 for DDL and Security”,然后点击OK。在文件的开头using ADOX名字空间。然后添加如上面所示的代码就可以成功的创建Access 数据库了,代码如下:
using System;
using System.Collections.Generic;
using System.Text;
using ADOX;


namespace testADOX
{
class Program
{
static void Main(string[] args)
{
ADOX.Catalog catalog = new Catalog();
catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\test.mdb;Jet OLEDB:Engine Type=5");
}
}
}


创建了数据库文件是没有实际用处的,我们还要创建表。在创建表之前,我们必须连接目标数据库,用来连接数据的桥梁居然是ADO的Connection对象,所以我们不得不再次添加对ADO的应用,在添加引用对话框中切换到Com页面,选择“Microsoft ActiveX Data Objects 2.8 Library”,然后点击OK。下边是创建表的完整代码:
using System;
using System.Collections.Generic;
using System.Text;
using ADOX;


namespace testADOX
{
class Program
{
static void Main(string[] args)
{
ADOX.Catalog catalog = new Catalog();
catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\test.mdb;Jet OLEDB:Engine Type=5");


ADODB.Connection cn = new ADODB.Connection();

cn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\test.mdb", null, null, -1);
catalog.ActiveConnection = cn;


ADOX.Table table = new ADOX.Table();
table.Name = "FirstTable";


ADOX.Column column = new ADOX.Column();
column.ParentCatalog = catalog;
column.Name = "RecordId";
column.Type = DataTypeEnum.adInteger;
column.DefinedSize = 9;
column.Properties["AutoIncrement"].Value = true;
table.Columns.Append(column, DataTypeEnum.adInteger, 9);
table.Keys.Append("FirstTablePrimaryKey", KeyTypeEnum.adKeyPrimary, column, null, null);
table.Columns.Append("CustomerName", DataTypeEnum.adVarWChar, 50);
table.Columns.Append("Age", DataTypeEnum.adInteger, 9);
table.Columns.Append("Birthday", DataTypeEnum.adDate, 0);
catalog.Tables.Append(table);

cn.Close();
}
}
}
上面的代码中,创建了一个名为FirstTable的表,在表里加入了4个字段,并设置了一个主键。表里的字段分别输入4中不同的常用类型,第一个字段是一个自动增长的整数类型,这个类型比较特殊,你必须为这个字段设置ParentCatalog属性,并将“AutoIncrement”的属性值设为true.。Access里的Text类型对应的就是adVarWchar,而日期类型对应的是adDate。
键的设置如table.Keys.Append("FirstTablePrimaryKey", KeyTypeEnum.adKeyPrimary, column, null, null)所示,如果是外键的话,你还必须要设置关联的表和关联的字段,也就是Append方法的后两个字段。
你也可以参照上边的代码创建索引和视图。






添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.