用 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;
更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/Delphi/
經過一些操作後, 資料庫可能會有片段, 這時可通過 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; //提交 exceptFDConnection1.Rollback; //復原 end;end;
Author:cnblogs 萬一