C++ Builder修改Access数据库密码
来源:互联网 发布:linux双网卡绑定配置 编辑:程序博客网 时间:2024/05/23 01:18
void __fastcall TForm1::Button1Click(TObject *Sender){ AnsiString f1= "AccoutMe.mdb "; // 源库1 AnsiString psw1= "123456"; // 密码1,若设置错误也会报“意外错误” AnsiString f2= "AccoutMe_new.mdb "; // 源库2 AnsiString psw2= "abc"; // 新密码2 bool flg_Success = false; AnsiString dir = ExtractFilePath(Application-> ExeName); f1=dir+f1; //新数据库绝对路径 f2=dir+f2; if (FileExists( f2 ) ) //若目标文件已存在,先删除 DeleteFileA(f2); char Provider1[512] = { 0 }, Provider2[512] = { 0 }; sprintf(Provider1, "Provider=Microsoft.Jet.OLEDB.4.0;" "Data Source='%s';" "Jet OLEDB:Database Password='%s'" , f1, psw1 );// sprintf(Provider2,// "Provider=Microsoft.Jet.4.0.OLE DB.Provider;"// "Data Source='%s';"// "Jet OLEDB:Database Password='%s'"// , f2, psw2// ); // 注意提供正确的Provider写法,否则提示“意外错误” sprintf(Provider2, "Provider=Microsoft.Jet.OLEDB.4.0;" "Data Source='%s';" "Jet OLEDB:Database Password='%s'" , f2, psw2 ); Variant Adoobj = Variant::CreateObject( "JRO.JetEngine"); try { Adoobj.OleProcedure( "CompactDatabase", WideString(Provider1), WideString(Provider2) ); if (FileExists(f1)) DeleteFileA(f1); RenameFile(f2, f1); flg_Success = true; } __finally { Adoobj.Clear(); Adoobj = Unassigned; } ShowMessage( BoolToStr(flg_Success, true) ) ;}
这是OLE的方法,由于代码较简洁就不多写注释了。
原帖子见:http://topic.csdn.net/u/20120214/17/6bde8f44-3afb-4f8d-afc1-f971c879e3d9.html
特别感谢老妖!
PS:
OLE报错太不友好了。
不论是用独占方式打开ACCESS用SQL语句ALTER DATABASE PASSWORD "旧密码" "新密码",
还是用ADOQuery等控件,设置独占打开方式和 ADO 控件的SQL属性为"alter…………"修改ACCESS密码,都没有成功。
调试中ing...
- C++ Builder修改Access数据库密码
- C#修改ACCESS数据库密码
- C#修改ACCESS数据库密码
- access 修改密码
- 程序: 创建、压缩Access数据库并修改密码演示
- Access数据库密码生成器
- 设置 Access 数据库密码
- c++builder Debugger Debugger Exception Notification Access数据库有空字段错误
- Access 2000 数据库密码格式
- access 2003 取消数据库密码
- ACCESS数据库如何设置密码
- 修改数据库密码提示ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
- 修改mysql数据库密码
- 修改数据库密码全集
- 修改mysql数据库密码
- wamp5数据库密码修改
- 修改数据库的密码
- oracle数据库密码修改
- Yum 完全解析
- Unix 处理当前目录下文件
- 如何看懂ORACLE执行计划
- 基本的安全知识
- 离上次操作 是不是今天
- C++ Builder修改Access数据库密码
- 【perl】使用LWP获取带cookie验证的HTTPS网页
- Linux设备驱动程序第三版学习(1)(2)-字符设备驱动程序源码分析
- windows、linux 下如何查看80端口占用情况?
- 关于PHY、MAC、MII
- Linux之module_param()函数学习
- 新装了win7系统出现的一些软件问题
- 任务栏窗口上的点击问题
- 常见面试笔试题