2023年12月14日 星期四

Dataset 查詢介面上被異動過的資料

ADO Dataset

在ADODataset要查看修改過且尚未寫回資料庫的資料列,可以用FilterGroup來查看

Ex:
  with ADataset do
  begin
    if LockType = ltBatchOptimistic then
    begin
      Filtered := True;
      FilterGroup := fgPendingRecords;
    end;
    FilterGroup := fgUnassigned;
    Filtered := False;
  end;


ClientDataset

ClientDataset Delta 記錄了維護畫面上被異動過的資料列,ApplyUpdates將取用Delta記錄的資料狀態回寫到資料庫中。


Ex:


使用CleintDataset、DataSource、DBGrid並設定關連性。

procedure TForm1.Button1Click(Sender:TObject);
begin
  ...
  //cdsDetail異動過的資料列,反應在ClientDataset1
  ClientDataset1.Data := cdsDetail.Delta;
  ...
end;

沒有留言:

張貼留言