C#使用VS 2010在程序加载时创建Access数据库和表

最近在用C#做一个时间管理系统,需要用到数据库。但由于之前都没有接触过C#,以至于走了很多弯路,所以做完之后顺便在这里记录一下。一来可以使自己养成写文档的习惯,二来也可以帮助到后面学习C#的朋友,可谓两全其美。

一.安装AccessDatabaseEngine驱动程序

    为了创建并能够打开Access 2007(2007以上版本的Access文件后缀名为.accdb)以上版本的数据库文件,我们在创建的时候需要用到Microsoft.ACE.OLEDB.12.0,所以这里我们得先安装一下AccessDatabaseEngine.exe这个应用程序。AccessDatabaseEngine可以在它的官网上下载到:

https://www.microsoft.com/zh-cn/download/details.aspx?id=23734


 



二.创建Access数据库文件


    安装完AccessDatabaseEngine驱动程序后,接下来我们可以正式开始创建Access数据库文件了。

    1.在项目引用中增加COM组件:MicrosoftADO Ext.6.0 for DDL and Security






    2. usingADOX;

using System.IO;         //DirectoryInfo需要用到
using ADOX;              //创建数据库需要
using System.Data.OleDb; //连接Access数据库

    3. 在窗体加载方法中创建数据库文件 

ADOX.Catalog catalog = new Catalog();

/* Microsoft.ACE.OLEDB.12.0 可以打开2007以及07以上版本的Access数据库文件 */

/*  Microsoft.ACE.OLEDB.12.0需要安装额外的应用(AccessDatabaseEngine.exe)才能支持 */
string connStr = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filepath);

try{
	catalog.Create(connStr);
}
catch (Exception ex){
	MessageBox.Show(ex.Message);
}


 
 

三.在创建好的数据库文件中添加表

    创建表之前需要先连接数据库,需要添加引用 Microsoft ActiveX Data Object x.x(我用的是6.0) Library。

using System.Data.OleDb; //连接Access数据库


/* 创建表之前需要先连接数据库 */
//需要添加引用 Microsoft ActiveX Data Object x.x(我用的是6.0) Library
ADODB.Connection cn = new ADODB.Connection();
try{
	cn.Open(connStr, null, null, -1);
}
catch (Exception ex){
	MessageBox.Show(ex.Message);
}
catalog.ActiveConnection = cn;

/* 建立新表 */
/* 序号  日期  起始时间  终止时间  时长  时间类别  事项  成就值 */
ADOX.Table table = new ADOX.Table();
table.Name = "DailyRecord";                   //表名

ADOX.Column idColumn = new ADOX.Column();     //创建列
idColumn.ParentCatalog = catalog;
idColumn.Type = ADOX.DataTypeEnum.adInteger;  //整型
idColumn.Name = "序号";                       //列名
idColumn.DefinedSize = 32;
idColumn.Properties["AutoIncrement"].Value = true;  //自动增长

table.Columns.Append(idColumn);               //向表中添加列
table.Keys.Append("FirstTablePrimaryKey", KeyTypeEnum.adKeyPrimary, idColumn, null, null); //设置主键

table.Columns.Append("日期", DataTypeEnum.adDate, 0);
table.Columns.Append("起始时间", DataTypeEnum.adSingle, 0);
table.Columns.Append("终止时间", DataTypeEnum.adSingle, 0);
table.Columns.Append("时长", DataTypeEnum.adInteger, 0);
table.Columns.Append("时间类别", DataTypeEnum.adWChar, 0);
table.Columns.Append("事项", DataTypeEnum.adWChar, 0);
table.Columns.Append("成就值", DataTypeEnum.adInteger, 0);

//将创建的表添加进数据库
try{
	catalog.Tables.Append(table);
}
catch (Exception ex){
	MessageBox.Show(ex.Message);
}
/* 关闭数据库连接 */
cn.Close();
MessageBox.Show("成功创建表 DailyRecord");


四.运行程序,观察结果












已标记关键词 清除标记
相关推荐
<p> Access是office办公套件中的一个极为重要的组成部分,现在它已经成为最流行的桌面数据库管理系统。本课程为Access数据库知识系列课程第1部,课程目标:结合实例讲解,零基础快速学习Access数据库。 </p> <p> <br /></p> <p> <br /></p> <p> 本课程章节计划: </p> <p> 第一章:Access数据库概述 </p> <p> 1、Access数据库概述 </p> <p> 第二章:Access数据库安装文件下载及安装 </p> <p> 1、Access数据库安装文件下载及安装 </p> <p> 第三章:创建数据库 </p> <p> 1、 利用向导创建 </p> <p> 2、 利用设计器创建 </p> <p> 3、 学习技巧 </p> <p> 第四章:字段的基本操作 </p> <p> 1、 添加、删除和更改移动字段 </p> <p> 2、 字段的属性及作用 </p> <p> 3、 主关键字和索引 </p> <p> 第五章:创建之间的关系 </p> <p> 1、 关系类型 </p> <p> 2、 创建使用关系 </p> <p> 第六章:创建子数据 </p> <p> 1、 创建当前的子数据 </p> <p> 2、 数据视图的显示外观 </p> <p> 第七章:为数据库加密 </p> <p> 1、 设置数据库密码 </p> <p> 2、 设置数据库安全机制 </p> <p> 3、 两种加密方式优劣分析 </p> <p> 第八章:创建查询 </p> <p> 1、 查询概述、查询类型 </p> <p> 2、 使用向导创建查询 </p> <p> 3、 使用设计视图创建查询 </p> <p> 4、 查询的基本操作及查询优化的规则 </p> <p> 第九章:查询编程、生成查询语句的捷径 </p> <p> 1、 初步了解中文编程 </p> <p> 2、 生成查询语句的捷径 </p> <p> 第十章:Access数据库总结 </p> <p> 1、 Access数据库总结 </p>
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页