c++ - 如何使用 C++ 从 afxdb.h 更改 CDatabase 对象的密码?
问题描述
我可以使用以下方法成功打开受密码保护的 mdb 数据库:
CDatabase::Open(NULL, FALSE, FALSE, lpszConnect, FALSE);
在哪里lpszConnect = "ODBC;DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DSN='';DBQ=PathToDatabase;PWD=CurrentPassword"
现在,我需要将该密码更改为新密码。我试过了:
CDatabase::ExecuteSQL("ALTER DATABASE PASSWORD [NewPassword] [CurrentPassword]");
但这会引发以下异常: 无效的 SQL 语句;预期为“DELETE”、“INSERT”、“PROCEDURE”、“SELECT”或“UPDATE”。
有没有办法使用这个库(afxdb.h)或另一个使用 C++ 的类似库将旧密码更改为新密码?
编辑:我的应用程序只支持 64 位系统,所以我不能使用 JET OLEDB 驱动程序。
解决方案
推荐阅读
- javascript - brower.acceptAlert 不是 webdriverIO 中的函数
- ruby-on-rails - Rails 6 Active Storage:找不到或构建 blob:预期可附加...((重新)设置附件时的问题)
- java - JSP 页面如何找到正确的参数设置器
- c# - 如何在 Treeview 中更改 Focused TreeNode 背景颜色
- python - Seaborn 热图中的按行颜色比例
- c# - 为什么我在 Unity 中收到 NullReferenceException?
- java - 如何找到已签名Jar 文件的发布者?
- javascript - FormioJS:如何从 data.custom 返回值到 Select?
- git - 无法在 Mac 上使用 Git 运行 Jenkins
- jquery - 使用 jQuery 级联下拉的 3 级嵌套对象 - 第 3 级不起作用