如何用C# 动态创建Access数据库和表?
记得以前要动态的创建Access数据库的mdb文件都是采用DAO,用VC开发,一大堆的API,很是麻烦。而且以前工作中需要全新的access数据库,可以复制数据库,也可以把新的数据库放到资源里面,用新数据库的时候释放出来,都感觉不爽,还是动态生成心理舒服。现在好像也鲜有人提起DAO。其实动态的创建mdb数据的最简单的方法还是ADOX。下面我们就来看一下如何使用ADOX创建Access数据库的mdb文件!
1.C#动态创建Access库需要在项目的解决方案中添加MicrosoftActiveXDataObjects2.8Library和MicrosoftADOExt.2.8forDDLandSecurity这二个引用

2.需要加入的USING代码

3.下来我主要介绍一下在c#中的实现细节。首先你要添加引用,在“Addreference”对话框里切换到Com页面,选择“MicrosoftADOExt.2.8forDDLandSecurity”,然后点击OK。在文件的开头usingADOX名字空间。然后添加如上面所示的代码就可以成功的创建Access数据库了,代码如下:


备注:
创建加密码数据库
创建加密数据库的时候难住了很多人,因为在Access中加密码的时候是以独占方式打开,然后加密码。所以总是想创建完数据库以后再加密,试了试没有成功,最后转变一下思想,在生成的时候加密码怎么样,一试果然成功了。(见上面代码的备注)

更改数据库密码:
SQL更改数据库密码的语句是:

用OleDbConnection打开数据库执行此SQL语句根本不行,所以我就用ADODB打开数据库执行,但是报以下错
给Access添加密码的时候会要求以“是以独占方式打开”,所以要设置打开的模式,详细说明如下:
ADOConnectModeEnum含义设置或返回以下某个ConnectModeEnum的值。

更改数据库代码如下:

如果你要忘了加的密码,可以使用使用密码查看工具“破解密码unaccess”,在代码里面文件夹里呢。
如何用C# 动态创建Access数据库和表?的更多相关文章
- c#创建access数据库和数据表
		
由于在程序中使用了ADOX,所以先要在解决方案中引用之,方法如下: 解决方案资源管理器(项目名称)-->(右键)添加引用-->COM--> Microsoft ADO Ext. ...
 - 创建ACCESS数据库,并且创建表和数据。重点:关闭ACCESS数据库引用
		
/// <summary> /// 创建ACCESS数据库,并且创建表和数据 /// </summary> /// <param name="dictTable ...
 - ASP入门(二)-创建Access数据库
		
通常来说,ASP程序是搭配Access数据库来使用的,因此在安装完ASP环境后,为了方便建立和管理数据库,我们还需要安装Access数据库. Access是Microsoft Office家族中的一员 ...
 - C# 动态创建SQL数据库(二)  在.net core web项目中生成二维码  后台Post/Get 请求接口 方式  WebForm 页面ajax 请求后台页面 方法  实现输入框小数多 自动进位展示,编辑时实际值不变  快速掌握Gif动态图实现代码  C#处理和对接HTTP接口请求
		
C# 动态创建SQL数据库(二) 使用Entity Framework 创建数据库与表 前面文章有说到使用SQL语句动态创建数据库与数据表,这次直接使用Entriy Framwork 的ORM对象关 ...
 - MySQL基础知识:创建MySQL数据库和表
		
虚构一个微型在线书店的数据库和数据,作为后续MySQL脚本的执行源,方便后续MySQL和SQL的练习. 在虚构这个库的过程中,主要涉及的是如何使用命令行管理 MySQL数据库对象:数据库.表.索引.外 ...
 - C# 动态创建SQL数据库(二)
		
使用Entity Framework 创建数据库与表 前面文章有说到使用SQL语句动态创建数据库与数据表,这次直接使用Entriy Framwork 的ORM对象关系映射来创建数据库与表 一 新建项 ...
 - ADOX创建ACCESS数据库列名的数据类型
		
Type 属性 指示 Parameter.Field 或 Property 对象的操作类型或数据类型. 设置和返回值 设置或返回下列 DataTypeE ...
 - 动态创建MySQL数据库
		
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sq ...
 - Access数据库多表连接查询
		
第一次在Access中写多表查询,就按照MS数据库中的写法,结果报语法错,原来Access的多表连接查询是不一样的 表A.B.C,A关联B,B关联C,均用ID键关联 一般写法:select * fro ...
 
随机推荐
- 爬取猫眼电影top100的代码
			
废话不说,代码附上: #encoding:utf-8 import requests import re import json from multiprocessing import Pool #多 ...
 - Codeforces - 151C 质因子分解
			
显然只需要能跑到第二个因子就赢了 需要特判非平凡因子 常数优化:不用求出所有因子,跑完第二个素数就行了 #include<bits/stdc++.h> using namespace st ...
 - CentOS快速搭建FTP(初级-四步)
			
部署FTP,如果之前没有搭建过,刚开始找资料的时候网上各种各样的复杂参数配置,看的头晕,这里就把最核心的部分展示出来. 1.安装 vsftpd yum install -y vsftpd 2.如果是默 ...
 - SqlServer自动备份作业
			
/*********完整备份作业*********/ –完整备份,每周一次 USE Master GO declare @str varchar(100) set @str='D:\DBtext\jg ...
 - spring  AOP注解
			
此段小代码演示了spring aop中@Around @Before @After三个注解的区别@Before是在所拦截方法执行之前执行一段逻辑.@After 是在所拦截方法执行之后执行一段逻辑.@A ...
 - Linux文件操作常用选项
			
常用选项 选项 功能 -a 查看隐藏文件 -l 列表方式查看 -h 人性化显示 * 通配符,忽略多个字符匹配 ? 通配符,忽略一个字符匹配 [Num1-Num2] 通配符,查看从Num1到Num2的匹 ...
 - java多线程(二)
			
线程的阻塞状态: 参考java多线程(一)多线程的生命周期图解,多线程的五种状态. 1.1 join(),如果在A线程体里面执行了B线程的join()方法,那么A线程阻塞,直到B线程生命周期结 ...
 - oracle命令查看表结构及表索引
			
--查看oracle数据库的单个表结构 select dbms_metadata.get_ddl('TABLE','TABLE_NAME') from dual; 括号里面有两个参数,第一个参数是我们 ...
 - MongoDB + express + node + bootstrap 搭建多人博客
			
这篇博客讲述如何搭建一个多人博客,需要一定的基础知识,用于思路整理和备忘. 第一步: 新建文件夹 blog ,结构如下: bin --- 可执行二进制文件,最终的启动接口. models --- 存储 ...
 - Git常用配置
			
Git设置默认用户名和密码 1.进入C:\users\Administrator目录下,通过git bash终端输入touch .git-credentials后回车2.打开生成的.git-crede ...