FireDAC 下的 Sqlite [7] - 备份、优化、事务(Transaction)
生活随笔
收集整理的這篇文章主要介紹了
FireDAC 下的 Sqlite [7] - 备份、优化、事务(Transaction)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
用 TFDSQLiteBackup 控件, 兩三行代碼即可完成 Sqlite 數(shù)據庫的備份.
procedure TForm1.Button1Click(Sender: TObject); begin{先初始化目標}FDConnection1.DriverName := 'SQLite';FDConnection1.Params.Add('Database=C:\Temp\FDDemo_Back.sdb'); //如果不指定這個路徑, 就是備份到內存FDConnection1.Open();{備份 C:\Temp\FDDemo.sdb}FDSQLiteBackup1.DriverLink := FDPhysSQLiteDriverLink1;FDSQLiteBackup1.Database := 'C:\Temp\FDDemo.sdb'; //支持 UrlFDSQLiteBackup1.DestDatabaseObj := FDConnection1.CliObj;FDSQLiteBackup1.Backup; end;
經過一些操作后, 數(shù)據庫可能會有碎片, 這時可通過 TFDSQLiteValidate 控件的 Sweep 方法執(zhí)行優(yōu)化.
{常見代碼} beginFDSQLiteValidate1.DriverLink := FDPhysSQLiteDriverLink1;FDSQLiteValidate1.Database := 'C:\Temp\FDDemo.sdb';FDSQLiteValidate1.Sweep; //也可以通過連接參數(shù) auto_vacuum = FULL; (0:NONE, 1:FULL, 2: INCREMENTAL) 指定自動清理 end;
為避免數(shù)據庫操作中的失誤, 可通過事務(Transaction) 來回滾; 它應該是被普遍使用的手段.
{常見代碼} beginFDConnection1.StartTransaction; //開始一個事務try{可能會出錯的代碼}FDConnection1.Commit; //提交exceptFDConnection1.Rollback; //回滾end; end;
轉載于:https://www.cnblogs.com/del/p/3745714.html
總結
以上是生活随笔為你收集整理的FireDAC 下的 Sqlite [7] - 备份、优化、事务(Transaction)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决Win8下使用net use命令磁盘
- 下一篇: SSIS父子维度