Delphi
FireDAC DataSet의 변경된 Record 확인
Revers Tuna
2018. 9. 10. 16:17
TFDDataSet의 변경 이력은 ChangeLog를 통해 기록에 남게 된다.
2. 두번째로는 TFDDatSUpdatesJournal를 이용하는 방법이다.
변경된 Record만 검색 하는 방법으로는
1. FilterChange를 이용.
FDDataSet.FilterChange := [rtModified, rtInserted, rtDeleted];를 하게 되면 변경된 데이터만 남게 된다.
단점으로는 변경된 Record는 알수 있지만 변경 순서까지는 확인이 되지 않는다.
(Sorting이 안됨....)
var oJournal: TFDDatSUpdatesJournal; oRow: TFDDatSRow; begin oJournal := FDDataSet.Delta.DataView.Manager.Updates; if oJournal = nil then Exit; oRow := oJournal.FirstChange; while oRow <> nil then begin // To Do oRow := oJournal.NextChange(oRow); end; end;
- Data는 GetValue, GetData를 사용
oRow.GetData("Column Name or Column Index", TFDDatSRowVersion)
[TFDDatSRowVersion]
rvOriginal: 원본 (OldValue)
rvDefault: 현재값(NewValue)