C#创建Access
C#创建Access
创建Access
通过Acccess软件创建Acccess表
1:新建一个空白数据库文件,并命名为"Database"。
2:右击"表一"的"设计试图",并命名表名为"Administrator",点击"确认"后,从创建"ID"、"用户名称"、"用户密码",并分别设置器数据类型。
3:点击"保存"后,就可添加数据。
4:如需创建密码,则可点击"工具\安全性",即可添加密码。
二、动态创建数据库及表名。
1:先添加两个COM组件引用,右击方案选择"引入参考",加入Microsoft ActiveX Data Objects 2.8 Library和Microsoft ADO Ext. 2.8 for DDL and Security。
2:声明"using ADOX;"和"using System.IO;"
3:创建Access文件,代码如下:
/// <summary>
///创建Access数据库
/// </summary>
/// <param name="strFilePath">数据库文件的路径</param>
public static bool CreateAccess(string strFilePath)
{
ADOX.Catalog clg = new Catalog();
if (!File.Exists(strFilePath))
{
try
{
//创建clg后,其数据库的锁定文件laccdb就一直存在(用以锁定此数据库文件)
clg.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strFilePath + ";Jet OLEDB:Engine Type=5");
}
catch (System.Exception ex)
{
MessageBox.Show("数据库创建失败", "提示");
return false;
}
}
return true;
}
4:创建数据表。只创建一个数据库文件是没有意义的,创建表的本质是把创建的字段添加到数据表中。其具体代码如下:
/// <summary>
///在Access数据库中创建数据库表文件
/// </summary>
/// <param name="FilePath">数据库表文件全路径 </param>
/// <param name="tableName">表名</param>
/// <param name="colums">ADOX.Column对象数组</param>
public bool CreateAccessTable(string FilePath, string tableName, params ADOX.Column[] colums)
{
bool bolReturn = false;
ADOX.Catalog clg = new Catalog();
//数据库文件存在
try
{
if (CreateAccess(FilePath) == true)
{
ADODB.Connection cn = new ADODB.Connection();//连接已创建的数据库文件
cn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FilePath, null, null, -1);
clg.ActiveConnection = cn;//打开已创建的数据库文件
ADOX.Table table1 = new ADOX.Table();
table1.Name = tableName;//命名一张表Administrator
/*设置类型
//table1.Keys.Append("FirstTablePrimaryKey", KeyTypeEnum.adKeyPrimary, column, null, null);//定义主键
*/
foreach (var column in colums)
{
if (column.Name != null)
{
table1.Columns.Append(column);//添加字段到表
}
}
clg.Tables.Append(table1);//添加表到数据库文件
cn.Close();
bolReturn = true;
}
}
catch (Exception ex)
{
MessageBox .Show ("创建失败\r\n " + ex .ToString (),"提示");
}
return bolReturn;
}
5:创建按钮的代码如下:
//创建按钮
private void btnCreat_Click(object sender, EventArgs e)
{
Access ac = new Access();
string FilePath = @"C:\Users\dwa1124\Desktop\自动创建的Access数据表.mdb";
ADOX.Column column1 = new Column();
ADOX.Column column2 = new Column();
ADOX.Column column3= new Column();
//设置字段名:名字
column1.Type = ADOX.DataTypeEnum.adVarWChar;//设置类型为
column1.DefinedSize = 255;//设置长度
column1.Name = "名字";//设置字段名
//设置字段名:性别
column2.Type = ADOX.DataTypeEnum.adVarWChar;//设置类型为
column2.DefinedSize = 255;//设置长度
column2.Name = "性别";//设置字段名
//设置字段名:年龄
column3.Type = ADOX.DataTypeEnum.adInteger;//设置类型为
column3.DefinedSize = 9;//设置长度
column3.Name = "年龄";//设置字段名
//column.Properties["AutoIncrement"].Value = true;//设置自动增长
if (ac.CreateAccessTable(FilePath, "Administrator", column1,column2,column3))
{
MessageBox.Show("创建成功", "提示");
}
6:效果如图所示:
C#创建Access相关推荐
- 创建ACCESS数据库,并且创建表和数据。重点:关闭ACCESS数据库引用
/// <summary>/// 创建ACCESS数据库,并且创建表和数据/// </summary>/// <param name="dictTable&qu ...
- 【转】C#调用ADOX创建Access数据文件后关闭连接
因为公司要做一个导库的功能,需要用ADOX创建Access将Oracle中的数据倒出来. 事情倒是挺简单的,但是生成之后才发现,除非关掉服务,否则Access进程一直关闭!纠结了一晚上.最后终于在以为 ...
- 用C#动态创建Access数据库
以前要动态的创建Access数据库的mdb文件都是采用DAO,用VC开发,一大堆的API,很是麻烦.现在好像也鲜有人提起DAO.其实动态的创建mdb数据的最简单的方法还是ADOX. 用AD ...
- 阿里云OSS创建Access,并连接到cloudreve
1.创建Access 首先进入对象存储,创建Bucket(一块空间) 然后配置空间的权限: 记下访问域名,设置读写权限为私有,添加跨越规则, 最后到RAM访问控制台中创建用户并添加Access Key ...
- 关闭ADOX.Catalog创建Access的链接,避免ldb锁定
我们在动态创建ACCESS数据库的时候,往往知道如何去创建,但是对于创建后的销毁资源做的不太好,会出现.ldb锁定文件.有时候会影响到我们对数据库的操作. 首先加两个COM组件引用: 1) Micro ...
- C#使用VS 2010在程序加载时创建Access数据库和表
最近在用C#做一个时间管理系统,需要用到数据库.但由于之前都没有接触过C#,以至于走了很多弯路,所以做完之后顺便在这里记录一下.一来可以使自己养成写文档的习惯,二来也可以帮助到后面学习C#的朋友,可谓 ...
- C# 创建Access数据库
这是一个创建Access数据库的方法,引入ADOX,就可以直接使用的. public static void CreateDate(string createDatabasePath){ADOX.Ca ...
- .net编程创建 Access 文件和 Excel 文件
[转]:http://blog.joycode.com/ghj/archive/2005/01/12/42861.aspx 一些系统可能需求把数据导出到Access或者Excel文件格式,以方便的传递 ...
- C# 动态创建Access数据库时的错误:“不可识别的数据库格式”
需要用C#动态创建Access数据库,于是有了下文. 使用的是Office 2007,数据库文件的格式为.accdb 刚开始的时候,以为去检测文件是否存在,如果不存在的话直接创建数据库文件就好了. 代 ...
最新文章
- java中事务的介绍
- 开发日记-20190509
- 15个超实用的php正则表达式
- 基于布隆过滤器实现敏感词识别和过滤
- 寄语2013应届实习生
- 用 C# 做组件设计时的事件实现方法讨论
- 移动端(手机端)页面自适应解决方案—rem布局篇
- 图像处理基本概念——卷积,滤波,平滑
- PicPick手册:绿色小巧功能多的截屏软件
- IMAP与POP3的比较
- rand()和srand()GetTickCount函数用法
- 三方四方聚合支付PHP网站源码-对接支付宝微信接口
- 联想a30微型计算机,TEP-I-G W13030123 监控模块,监控单元泰坦TEP-I系列微机监控装置...
- 【北亚数据恢复】DELL EqualLogic PS6100服务器raid5磁盘阵列中硬盘出现坏道离线的数据恢复
- android双屏不同apk,双屏可折叠 通吃.exe和.apk 微软终于发大招了!
- 51单片机常用功能及相关内容
- 动态规划-背包问题(1)
- vue ie浏览器兼容
- 基于极限学习机的预测、图像降噪和回归
- 字符串函数---atof()函数详解及实现(完整版)
热门文章
- php网站搭建致命错误203终止,PHP致命错误:无法重新分配$this
- Hadoop集群环境搭建之伪分布式搭建流程
- php爬去百度图片,python爬虫:随心所欲地爬取百度图片
- python的栈在哪个库_Python实现栈的方法
- 什么是空中下载技术?学嵌入式必看!
- 华为 鸿蒙 操作系统关键特性解读
- c语言各种变量的优缺点,C语言优缺点
- vue 声明周期函数_Vue_生命周期函数
- 为指定c 语言源程序添加行号,给自己的程序加上行号
- HH的项链 HYSBZ - 1878 (莫队/ 树状数组)