• FireDAC 下的 Sqlite [7]



    用 TFDSQLiteBackup 控件, 两三行代码即可完成 Sqlite 数据库的备份.
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      {先初始化目标}
      FDConnection1.DriverName := 'SQLite';
      FDConnection1.Params.Add('Database=C:TempFDDemo_Back.sdb'); //如果不指定这个路径, 就是备份到内存
      FDConnection1.Open();
    
      {备份 C:TempFDDemo.sdb}
      FDSQLiteBackup1.DriverLink := FDPhysSQLiteDriverLink1;
      FDSQLiteBackup1.Database := 'C:TempFDDemo.sdb';        //支持 Url
      FDSQLiteBackup1.DestDatabaseObj := FDConnection1.CliObj;
      FDSQLiteBackup1.Backup;
    end;
    


    经过一些操作后, 数据库可能会有碎片, 这时可通过 TFDSQLiteValidate 控件的 Sweep 方法执行优化.
    {常见代码}
    begin
      FDSQLiteValidate1.DriverLink := FDPhysSQLiteDriverLink1;
      FDSQLiteValidate1.Database := 'C:TempFDDemo.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;
    


  • 相关阅读:
    注意安全 保重身体
    抽象和接口的区别
    哪些设计模式最值得学习
    超级扫盲什么是设计模式?
    简单工厂、工厂方法和抽象工厂模式
    通过领域模型设计物流系统
    json过滤特殊字符
    数据库性能优化JOIN方法说明[转]
    策略模式
    观察者模式
  • 原文地址:https://www.cnblogs.com/del/p/3745714.html
Copyright © 2020-2023  润新知