一个项目,有一部分数据需要单独存放并且对数据进行加密,而且该部分数据
还需要供主程序进行调用,这部分数据的处理方式目前有两种方式选择:
1。用自己建立的文件存放数据
2。用access来存放数据问题:
1。如果用文件存放数据,格式如何定义(包含主从表结构),有那些地方需要注意呢?
从文件中读取回的数据怎么能够以数据集的方式体现出来,除了采用临时表还有其他方法吗?
【大家有没有做过,可以给我发一些相关的文档资料和Demo】
2。如果采用Access来存放数据的话,我知道可以通过修改Access的文件头数据进行加密,
但是这样处理有个问题:程序运行的时候,需要把文件头的数据还原才可以建立连接,
用户就可以在程序运行状态从后台打开access数据库。有没有一种好的方法对access进行加密呢?
3。还是采用access做数据库,有朋友提意见说是不对文件加密,对存入的数据进行加密,
我想知道,通过什么方式加密呢,在用query读取数据的时候如何把加密的数据还原,
并且以数据集的方式体现呢?如果进行查询或者筛选数据的时候又该如何处理呢?以上三个问题,知道300分有点少,不够可以加。
邮箱:[email protected]
QQ: 153993049(请注明DFW)
先谢谢大家!
还需要供主程序进行调用,这部分数据的处理方式目前有两种方式选择:
1。用自己建立的文件存放数据
2。用access来存放数据问题:
1。如果用文件存放数据,格式如何定义(包含主从表结构),有那些地方需要注意呢?
从文件中读取回的数据怎么能够以数据集的方式体现出来,除了采用临时表还有其他方法吗?
【大家有没有做过,可以给我发一些相关的文档资料和Demo】
2。如果采用Access来存放数据的话,我知道可以通过修改Access的文件头数据进行加密,
但是这样处理有个问题:程序运行的时候,需要把文件头的数据还原才可以建立连接,
用户就可以在程序运行状态从后台打开access数据库。有没有一种好的方法对access进行加密呢?
3。还是采用access做数据库,有朋友提意见说是不对文件加密,对存入的数据进行加密,
我想知道,通过什么方式加密呢,在用query读取数据的时候如何把加密的数据还原,
并且以数据集的方式体现呢?如果进行查询或者筛选数据的时候又该如何处理呢?以上三个问题,知道300分有点少,不够可以加。
邮箱:[email protected]
QQ: 153993049(请注明DFW)
先谢谢大家!
有很多現在的自定義數據庫格式, 別人打開讀取, 比較難,
如:
http://www.tinydb.com/
http://borland.mblogger.cn/aiirii/posts/3559.aspx以上兩個都帶有加密功能!
這種沒什麼意思, 建議不用
>>3。还是采用access做数据库,有朋友提意见说是不对文件加密,对存入的数据进行加密,
在對應的字段的OnGetText 中解密數據, OnSetText 中加密數據, 這樣的保存方法也很好!
而且簡單!! 可考慮!個人認為 3 種比較正規的做法!!
其實與數據庫驅動無關, 只要選擇合適的算法, 效果也不錯!
當然, 第三種方法 , 你在讀字段的時候, 每個都要解密, 會影響性能, 緩慢顯示!
var
myDataSet:TClientDataSet;
begin
myDataSet := TClientDataSet.Create(application);//建立
myDataSet.FieldDefs.Add('name',ftstring,10);
myDataSet.FieldDefs.add('age',ftinteger);
myDataSet.CreateDataSet;
myDataSet.Active;
myDataSet.AppendRecord(['張三',10]);
myDataSet.AppendRecord(['李四',40]); DataSource1.DataSet := myDataSet; //再接TDBGrid控件、直接可看
myDataSet.SaveToFile( ExtractFilePath (Application.ExeName) + 'ClientDataSet1.txt', dfBinary ); //二進制形式
end;procedure TForm1.Button2Click(Sender: TObject);
var
myDataSet:TClientDataSet;
begin
myDataSet := TClientDataSet.Create(application);
myDataSet.LoadFromFile(ExtractFilePath (Application.ExeName) + 'ClientDataSet1.txt'); //読出
myDataSet.Active;
DataSource1.DataSet := myDataSet;
end;
為什麼不考慮我提的
第3種解決方法??? 比你用計算字段肯定快很多!!!
著名的MyBase就是用的它
不过还是想看看大家还有什么好的思路,
再次谢谢大家
為什麼不考慮我提的
第3種解決方法??? 比你用計算字段肯定快很多!!!
----------->应为看你的字太费 眼睛 ,,哈哈