解读安全的ACCESS加密方法(2)_Access数据库教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:浅析Excel和Access之间的数据交换
在Microsoft OfficeAccess和 Microsoft OfficeExcel之间存在多种交换数据的方法。 若要将Access中的数据装入 Excel,可以从Access数据表中复制数据并粘贴到Excel工作表中,从Excel

用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;
try
 reg.RootKey:=HKEY_CLASSES_ROOT;
 reg.OpenKey('.ldb');
 reg.WriteString('','tempfile');
finally
 reg.closekey;
 reg.free;
end;

这样用户看到的文件类型是tempfile。

分享:解读access处理重复记录的方法
在一个表中有重复的记录,重复的次数可能是一条或多条,如何在重复记录中只留下一条,删除其他多余的记录,使数据集的每条记录都是唯一的?本文运用了一种比较笨拙不过逻辑比较清楚的

共2页上一页12下一页
来源:模板无忧//所属分类:Access数据库教程/更新时间:2009-08-02
相关Access数据库教程