首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

怎么用程序给一个已存在的MDB数据库设置密码

2012-02-14 
如何用程序给一个已存在的MDB数据库设置密码?已经存在一个MDB数据库了,如果设置密码及改变密码呢?谢谢该库

如何用程序给一个已存在的MDB数据库设置密码?
已经存在一个MDB数据库了,如果设置密码及改变密码呢?谢谢
该库不为空,数据表有数据

[解决办法]
参考看看:http://www.programmersheaven.com/mb/delphikylix/259317/259317/ReadMessage.aspx
[解决办法]
http://topic.csdn.net/t/20020425/11/674883.html
[解决办法]
用压缩数据库的方法给它指定密码就可以了

C/C++ code
bool CompactAccessDatabase(WideString MDB, WideString Password){  AnsiString TMP = ExtractFilePath(MDB);  if (TMP == "")    TMP = GetCurrentDir();  TMP = TMP + AnsiString(DY_APPNAME) + "_$$$.MDB";  if (FileExists(TMP))    DeleteFile(TMP);  WideString Provider1 = WideString("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=") + MDB +                         WideString(";Jet OLEDB:Database Password=") + Password;  WideString Provider2 = WideString("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=") + TMP +                         WideString(";Jet OLEDB:Database Password=") + Password;  Variant AdoObj = Variant::CreateObject("JRO.JetEngine");  AdoObj.OleProcedure("CompactDatabase", Provider1, Provider2);  AdoObj.Clear();      // 释放ADO对象  if (DeleteFile(MDB))  {    RenameFile(TMP, MDB);    return true;  }  return false;}
[解决办法]
以独占方式打开access数据库,然后 【工具】->安全->设置数据库密码(必须以独占方式打开才能设置)


带密码方式 ADO连接字符串:

ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+APP_PATH+"dbName.mdb;Persist Security Info=false;Jet OLEDB:Database Password=Admin";

热点排行