FDQuery
FDQuery1->ChangeCount;也有UpdatesPending属性
FDQuery1->ApplyUpdates()
ExecSQL('select * from t where id=:?',[100]);
FDQuery1->Table->Rows[2].Free();
FDQuery1->UpdateCursorPos();
FDQuery1->Resync(TResyncMode());
FDQuery1->FetchAll();
FDQuery1->Open("select * from t")
FDQuery1->Open("select * from t where id=?",[100]);
FDQuery1->OpenOrExecute()
FDQuery.Constraints.Add.CustomConstraint := 'FIELD_NAME > 1';
FDQuery.UpdateConstraints;
FDQuery.Table.Constraints.Check(FDQuery.GetRow(), rsModified, ctAtEditEnd);
隐藏当前行
FDQuery1->UpdateCursorPos();
FDQuery1->GetRow()->Free();
FDQuery1->Resync(TResyncMode());
FDQuery1->UpdateCursorPos();
增强的Locate功能LocateEx、LookupEx函数
lxoCheckOnly If included, then LocateEx does not:
Change the current position. Fire BeforeScroll / AfterScroll events. Finish editing mode.
FDQuery1.Data;
FDMemTable2.Data := FDQuery1.Data;
Delta
ADMemTable1.FilterChanges := [rtModified, rtInserted, rtDeleted];
ADMemTable1.Data := ADQuery1.Delta;
FilteredData
Represents the currently visible dataset data.
FDQuery1.SavePoint 还原点
var iSavePoint: Integer; .... // remember changes log state iSavePoint := FDMemTable1.SavePoint; try FDMemTable1.AppendRecord(....); FDMemTable1.AppendRecord(....); FDMemTable1.AppendRecord(....); ... FDMemTable1.Delete; // mark changes as persistent and clear change log FDMemTable1.CommitUpdates; except // in case of exception, undo changes FDMemTable1.SavePoint := iSavePoint; raise; end;