首页 > 解决方案 > 如何使用 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 驱动程序。

标签: c++ms-accessodbcchange-passwordcdatabase

解决方案


推荐阅读