C++ Builder修改Access数据库密码
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 bo
void __fastcall TForm1::Button1Click(TObject *Sender) { AnsiString f1= "AccoutMe.mdb "; // 源库1 AnsiString psw1= "123456"; // <strong>密码</strong>1,若设置错误也会报“意外错误” AnsiString f2= "AccoutMe_new.mdb "; // 源库2 AnsiString psw2= "abc"; // 新<strong>密码</strong>2 bool flg_Success = false; AnsiString dir = ExtractFilePath(Application-> ExeName); f1=dir+f1; //新<strong>数据库</strong>绝对路径 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...

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

在Windows10系统中,密码策略是一套安全规则,确保用户设置的密码符合一定的强度和复杂性要求,而系统提示您的密码不满足密码策略要求则通常意味着您的密码没有达到微软设定的复杂度、长度或字符种类的标准,那么这种情况要如何避免呢?用户们可以直接的找到本地计算机策略下的密码策略来进行操作就可以了,下面就一起来看看吧。不符合密码策略规范的解决方法修改密码长度:根据密码策略要求,我们可以尝试增加密码的长度,比如将原来的6位密码改为8位或更长。添加特殊字符:密码策略通常要求包含特殊字符,如@、#、$等。我

DeepSeek 无法直接将文件转换为 PDF。根据文件类型,可以使用不同方法:常见文档(Word、Excel、PowerPoint):使用微软 Office、LibreOffice 等软件导出为 PDF。图片:使用图片查看器或图像处理软件保存为 PDF。网页:使用浏览器“打印成 PDF”功能或专用的网页转 PDF 工具。不常见格式:找到合适的转换器,将其转换为 PDF。选择合适的工具并根据实际情况制定方案至关重要。

策略模式在C++中的实现步骤如下:定义策略接口,声明需要执行的方法。创建具体策略类,分别实现该接口并提供不同的算法。使用上下文类持有具体策略类的引用,并通过它执行操作。

苹果公司最新发布的iOS18、iPadOS18以及macOSSequoia系统为Photos应用增添了一项重要功能,旨在帮助用户轻松恢复因各种原因丢失或损坏的照片和视频。这项新功能在Photos应用的"工具"部分引入了一个名为"已恢复"的相册,当用户设备中存在未纳入其照片库的图片或视频时,该相册将自动显示。"已恢复"相册的出现为因数据库损坏、相机应用未正确保存至照片库或第三方应用管理照片库时照片和视频丢失提供了解决方案。用户只需简单几步

在Docker环境中使用PECL安装扩展时报错的原因及解决方法在使用Docker环境时,我们常常会遇到一些令人头疼的问�...

在Node.js环境中解决第三方接口返回403的问题当我们在使用Node.js调用第三方接口时,有时会遇到接口返回403错误�...

在 C 语言中,char 类型在字符串中用于:1. 存储单个字符;2. 使用数组表示字符串并以 null 终止符结束;3. 通过字符串操作函数进行操作;4. 从键盘读取或输出字符串。

Laravel框架中Redis连接的共享与select方法的影响在使用Laravel框架和Redis时,开发者可能会遇到一个问题:通过配置...
