FireDAC 下的 Sqlite [6] - 加密

FireDAC 下的 Sqlite [6] - 加密,第1张

概述主要就是设置 TFDConnection 的两个链接参数: Password, NewPassword, 非常简单. const  dbPath = 'C:\Temp\SQLiteTest.sdb';{建立加密数据库, 密码是 mm123}procedure TForm1.FormCreate(Sender: TObject);const  strTable = 'CREATE TAB 主要就是设置 TFDConnection 的两个链接参数: Password,NewPassword,非常简单.

const dbPath = 'C:\Temp\sqliteTest.sdb';{建立加密数据库,密码是 mm123}procedure TForm1.FormCreate(Sender: TObject);const strtable = 'CREATE table Mytable(ID integer,name string(10),Age byte)'; //ID,name,Age 三个字段begin if fileExists(dbPath) then Deletefile(dbPath); FDConnection1.Params.Add('DriverID=sqlite'); FDConnection1.Params.Add('Database=' + dbPath); FDConnection1.Params.Add('Password=mm123'); //相同与 Password=aes-256:mm123; aes-256 是默认的加密算法;                       //还有: aes-128,aes-192,aes-256,aes-ctr-128,aes-ctr-192,aes-ctr-256,aes-ecb-128,aes-ecb-192,aes-ecb-256 //建表并输入测试数据 FDConnection1.Execsql(strtable); FDConnection1.Execsql('INSERT INTO Mytable(ID,Age) VALUES(:1,:2,:3)',[1,'abc',23]);end;{打开有密码的数据库}procedure TForm1.button1Click(Sender: TObject);begin FDConnection1.Params.Clear; FDConnection1.Connected := False; FDConnection1.Params.Add('DriverID=sqlite'); FDConnection1.Params.Add('Database=' + dbPath); FDConnection1.Params.Add('Password=mm123'); FDConnection1.Connected := True; FDquery1.Open('SELECT * FROM Mytable');end;{修改密码}procedure TForm1.button2Click(Sender: TObject);begin FDConnection1.Params.Clear; FDConnection1.Connected := False; FDConnection1.Params.Add('DriverID=sqlite'); FDConnection1.Params.Add('Database=' + dbPath); FDConnection1.Params.Add('Password=mm123'); FDConnection1.Params.Add('NewPassword=mm12345'); //新密码,密码为空表示取消密码 FDConnection1.Connected := True; FDConnection1.Connected := False;end;

FireDAC 还提供了一个专用的加密控件 TFDsqliteSecurity,因为上面的方法足够方便了,所以用处不大.
FDsqliteSecurity1.Driverlink := FDPhyssqliteDriverlink1; //TFDsqliteSecurity 和 FireDAC.Phys.sqlite 里的其他四个控件,使用前都要先指定这个属性FDsqliteSecurity1.Database := dbPath; //指定数据库路径FDsqliteSecurity1.Password := 'mm111'; //密码FDsqliteSecurity1.topassword := 'mm222'; //新密码FDsqliteSecurity1.SetPassword; //设置密码FDsqliteSecurity1.ChangePassword; //修改密码FDsqliteSecurity1.RemovePassword; //移除密码
帮助里面说: 通过 FireDAC 加密的 sqlite 与其它并不兼容. 总结

以上是内存溢出为你收集整理的FireDAC 下的 Sqlite [6] - 加密全部内容,希望文章能够帮你解决FireDAC 下的 Sqlite [6] - 加密所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/1170189.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存