程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> FireDAC 下的 Sqlite [7]

FireDAC 下的 Sqlite [7]

編輯:Delphi


用 TFDSQLiteBackup 控件, 兩三行代碼即可完成 Sqlite 數據庫的備份.


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';        //支持 Url
  FDSQLiteBackup1.DestDatabaseObj := FDConnection1.CliObj;
  FDSQLiteBackup1.Backup;
end;


經過一些操作後, 數據庫可能會有碎片, 這時可通過 TFDSQLiteValidate 控件的 Sweep 方法執行優化.
{常見代碼}
begin
  FDSQLiteValidate1.DriverLink := FDPhysSQLiteDriverLink1;
  FDSQLiteValidate1.Database := 'C:\Temp\FDDemo.sdb';
  FDSQLiteValidate1.Sweep; //也可以通過連接參數 auto_vacuum = FULL; (0:NONE, 1:FULL, 2: INCREMENTAL) 指定自動清理 
end;


為避免數據庫操作中的失誤, 可通過事務(Transaction) 來回滾; 它應該是被普遍使用的手段.
{常見代碼}
begin
  FDConnection1.StartTransaction; //開始一個事務
  try
    {可能會出錯的代碼}
    FDConnection1.Commit;   //提交
  except
    FDConnection1.Rollback; //回滾
  end;
end;


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved