用Delphi采用ADO连接数据库用以下方法可以实现:
以下为引用的内容: //还原数据,以便自已使用数据库 copyfile(pchar(APP_path+'dataaccount.db'),pchar(app_path+'datatemp.db'),false); //app_path表示程序的当前目录,account.db是个更改了扩展名的MDB文件 uncrypMDB(App_path+'datatemp.db'); copyfile(pchar(App_path+'datatemp.db'),pchar(APP_path+'dataaccount.db'),false); adoconn.connectionstring:='provider=Microsoft.Jet.OLEDB.4.0;Data Source='+App_path+'dataaccount.db;Persist Security Info=false'; //adocon是个TADOConnection组件 try adoconn.connected:=true; except MessageBox(handle,'打开数据库出现致命的错误!!!','错误',MB_OK+MB_ICONERROR); end; //打开后马上对其加密 copyfile(pchar(APP_path+'dataaccount.db'),pchar(app_path+'datatemp.db'),false); //app_path表示程序的当前目录,account.db是个更改了扩展名的MDB文件 EncrypMDB(App_path+'datatemp.db'); copyfile(pchar(App_path+'datatemp.db'),pchar(APP_path+'dataaccount.db'),false); deletefile(App_path+'datatemp.db'); |
上面使用了两次临时文件,是因为数据库打开后再对MDB进行直接的写入会出现问题,而且你无法去确定多少个用户打开了程序。
整个程序共用一个TADOConnection,只在打开数据库连接的时候还原MDB文件,其它时间MDB文件一直都处于加密状态!用户复制了MDB文件一般很难知道它是什么!
打开数据库后会有一个.ldb文件,类型会出现ACCESS等字样,如果你不想让人看出是什么的话就修改注册表吧,如:
以下为引用的内容: reg:=TRegistry.Create; |
这样用户看到的文件类型是tempfile。
ASP编码教程:如何实现/使用缓存
[ASP]2015年4月15日ASP编码教程:asp缓存的分类
[ASP]2015年4月15日ASP编码教程:何谓ASP缓存/为什么要缓存
[ASP]2015年4月15日ASP编码教程:asp实现的sha1加密解密代码
[ASP]2015年4月15日ASP编码教程:asp执行带参数的sql语句实例
[ASP]2015年4月14日