以前工作中需要全新的Access数据库,可以复制数据库,也可以把新的数据库放到资源里面,用新数据库的时候释放出来,都感觉不爽,还是动态生成心理舒服。
生成数据库要使用ADO,首先添加引用。
using System.IO;
using System.Data.OleDb;
//连接Access数据库
using ADOX;
//引用COM:Microsoft ADO Ext. 2.8 for DDL and Security
//添加引用:Microsoft ActioveX Data Objects 2.8 Library
创建数据库:
然后使用ADODB创建数据库,直接看代码:
1: string conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileName;
2:
3: //创建数据库
4: ADOX.Catalog catalog = new Catalog();
5: try
6: {
7: catalog.Create(conn);
8: }
9: catch
10: {}
11:
12:
13: //连接数据库
14: ADODB.Connection cn = new ADODB.Connection();
15: cn.Open(conn, null, null, -1);
16: catalog.ActiveConnection = cn;
17:
18: //新建表
19: ADOX.Table table = new ADOX.Table();
20: table.Name = "AdPlayList";
21:
22: ADOX.Column column = new ADOX.Column();
23: column.ParentCatalog = catalog;
24: column.Type = ADOX.DataTypeEnum.adInteger; // 必须先设置字段类型
25: column.Name = "ID";
26: column.DefinedSize = 9;
27: column.Properties["AutoIncrement"].Value = true;
28: table.Columns.Append(column, DataTypeEnum.adInteger, 0);
29: //设置主键
30: table.Keys.Append("PrimaryKey", ADOX.KeyTypeEnum.adKeyPrimary, "ID", "", "");
31:
32: table.Columns.Append("FileName", DataTypeEnum.adVarWChar, 50);
33: table.Columns.Append("FileDate", DataTypeEnum.adDate, 0);
34: table.Columns.Append("FileSize", DataTypeEnum.adInteger, 9);
35: table.Columns.Append("OrderID", DataTypeEnum.adInteger, 9);
36: table.Columns.Append("Sha1", DataTypeEnum.adVarWChar, 50);
37:
38: try
39: {
40: catalog.Tables.Append(table);
41: }
42: catch (Exception ex)
43: {
44: MessageBox.Show(ex.Message);
45: }
46: //此处一定要关闭连接,否则添加数据时候会出错
47:
48: table = null;
49: catalog = null;
50: Application.DoEvents();
51: cn.Close();
创建加密码数据库:
创建加密数据库的时候可把我难住了,因为在Access中加密码的时候是以独占方式打开,然后加密码。所以总是想创建完数据库以后再加密,试了试没有成功,最后转变一下思想,在生成的时候加密码怎么样,一试果然成功了。
1: //创建不带密码的连接语句
2: string conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileName;
3: //创建加密码的连接语句,pwd是密码
4: string conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileName + ";
Jet OLEDB:Database Password=" + Pwd + ";Jet OLEDB:Engine Type=5";
更改数据库密码:
SQL更改数据库密码的语句是:
ALTER DATABASE PASSWORD [NewPassword] [OldPassword]
用OleDbConnection打开数据库执行此SQL语句根本不行,所以我就用ADODB打开数据库执行,但是报以下错误:
给Access添加密码的时候会要求以“是以独占方式打开”,所以要设置打开的模式,详细说明如下:
ADO ConnectModeEnum含义 设置或返回以下某个 ConnectModeEnum 的值。
常量 说明
AdModeUnknown 默认值。表明权限尚未设置或无法确定。
AdModeRead 表明权限为只读。
AdModeWrite 表明权限为只写。
AdModeReadWrite 表明权限为读/写。
AdModeShareDenyRead 防止其他用户使用读权限打开连接。
AdModeShareDenyWrite 防止其他用户使用写权限打开连接。
AdModeShareExclusive 防止其他用户打开连接。
AdModeShareDenyNone 防止其他用户使用任何权限打开连接。
更改数据库代码如下:
1: string conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileName + ";
Jet OLEDB:Database password=" + openpwd;
2: string sql = "ALTER DATABASE PASSWORD " + newpwd + " " + openpwd;
3: ADODB.Connection cn = new ADODB.Connection();
4: cn.Mode = ADODB.ConnectModeEnum.adModeShareExclusive;
5: cn.Open(conn, null, null, -1);
6: // 执行 SQL 语句以更改密码。
7: object num;
8: cn.Execute(sql, out num, -1);
9: cn.Close();
如果你要忘了加的密码,可以使用使用密码查看工具“破解密码unaccess”,在代码里面文件夹里呢。
http://cid-4b517bbe6c0b58a0.office.live.com/self.aspx/.Public/cnblogsCsharp/CreateAccess.rar
0 0 标签: Access数据库密码 上一篇:数据库备份过程中经常遇到的九种情况下一篇:NoSQL内战:MongoDB与CouchDB查询方式对比
-
SQLServer2019 数据库的基本使用之图形化界面操作的实现
这篇文章主要介绍了SQLServer2019 数据库的基本使用之图形化界面操作的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习
-
颜值与实用性并存的数据库建模工具Chiner教程
这篇文章主要为大家介绍了一款颜值与实用性并存的数据库建模工具Chiner,推荐大家使用,有需要的朋友可以共同学习参考下,希望能够有所帮助,祝大家多多进步
-
sqlserver数据库加密后无法使用MDF,LDF,log文件名称被修改的数据恢复
这篇文章主要给大家分享的是sqlserver数据库加密后无法使用MDF,LDF,log文件名称被修改的数据恢复案例,如果工作中你也遇到这样的问题,可以参考一下
-
MSSQL附加数据库提示“错误823”数据恢复实操
这篇文章主要介绍了MSSQL?2000?附加数据库提示“错误?823”数据恢复实操,报错823一般数据库的物理页面出现了损坏或者校验值损坏导致数据库页面无法被识别还有异常断电导致的文件系统损坏,数据库
-
MS SQL数据库的备份与磁盘空间检查
介绍 最近我叫上实现对MS SQL备份程序,这是必须从应用程序中手动触发。 问题是,在备用驱动器是在虚拟机上,并且该组织只产生了一定量的分配的系统驱动器空间。 如果驱动器是出于无论什么原因空间,备份将失败。 我们需要把一个系统,这将告诉用户没有留下
- 电脑登录界面
- 个人网站模板下载
- web源码
- 网站 模板
- 网页 模板
- 源码中国
- 后台管理系统模板
- 帝国cms模板
- 免费个人网站模板
- 网站源代码
- 源码分享
- 网站下载
- 网页制作模板下载
- asp技术
- 免费源码
- 即时通讯
- 后台管理模板
- 企业网页设计模板
- html源代码
- asp网站
- 网站源文件
- 软件源码
- 苹果cms10模板
- 免费下载
- 开源网店
- 编程电子书
- 站长下载
- 网页设计模板
- 电影网站程序
- 网页制作模板
- 模板下载
- php网页源码
- 商城小程序源码下载
- 网页下载
- 源码天空
- html模板
- 源码网站
- php网站源码
- php 源码
- 手机源码
- asp文件
- 商城系统源码
- asp代码
- 网页代码
- 登录界面代码
- 超级群
- 免费论坛
- 网站模板免费下载
- 企业网站程序
- 代码网