# DataSetDelta **Repository Path**: shock_hack_admin/DataSetDelta ## Basic Information - **Project Name**: DataSetDelta - **Description**: 该控件支持delphi lazarus;适用于所有TDataSet 为delphi(firedac/unidac)/FPC(zeos) 增加类似TClientDataSet的Delta功能 根据TDataSet的变化直接生成对应的SQL - **Primary Language**: Pascal - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2024-08-05 - **Last Updated**: 2024-08-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 2024-0705 1.增加编译参数:DataSetDac.inc 默认UniDAC 2.支持FireDAC (若要使用FireDac,注释DataSetDac.inc中的配置,或改名) 2024-0704 1.支持UniDAC 2.支持lazarus/Delphi 修改秋风大神的作品:DataSetDelta 为delphi unidac 增加类似TClientDataSet的Delta功能 至此:该控件支持delphi lazarus 可按此方法修改内存表为friedac modify by ccc(QQ1650680975) git地址: https://gitee.com/cityboat888/DataSetDelta ![Alt text](demo.png) 秋风github: https://github.com/szlbz/DataSetDelta 以下为秋风的原话: lazarus自带的bufDataSet和MemDataSet缺少类似TClientDataSet的Delta功能,这个单元从TDataSet扩展了Delta,适用于所有TDataSet。 使用方法: 1、在unit的uses添加DataSetDelta 2、ActivateMonitoring(true)//true--启动Delta功能 false--停止Delta 3、GetActionSQL(const ATableName: String; const AKeyFields: String = '');//根据Delta生成SQL 注意: 使用GetActionSQL后会清空Delta的记录。 BufDataset使用Delta的方法: dcm1:TDataSetChangesMonitor; dcm2:TDataSetChangesMonitor; dcm1:=TDataSetChangesMonitor.Create(self); dcm2:=TDataSetChangesMonitor.Create(self); dcm1.DataSet:=BufDataset1; //监控BufDataset1的数据变化 dcm2.DataSet:=BufDataset2; //监控BufDataset2的数据变化 dcm1.ActivateMonitoring(true); dcm2.ActivateMonitoring; sql:=dcm1.GetActionSQL('test');//读取Delta生成的SQL sql:=dcm2.GetActionSQL('demo');