在主要触发器中发布详细信息

时间:2017-03-14 08:47:00

标签: delphi lazarus freepascal

TSQLQuery qryMaster.Post在qryDetail中触发Post的预期行为是什么?

编辑:这是为了拉撒路,但我也对如何在德尔斐处理它感兴趣。

我有一个设置对话框,其中Master中的字段首先被编辑和发布,如果Detail也被修改,它也会被发布。我尝试手动执行此操作,如下所示。但是详细查询永远不会手动发布,因为Master触发了详细信息,AfterPost和Detail.Modified不再适用。如何处理:

function TfrmDataset.SaveDataset: Boolean;
begin
  Result:=False;
  try
    DM.qryDataset.Post;
    DM.qryDataset.ApplyUpdates;

    if DM.qryLinks.Modified then
    begin
      DM.qryLinks.FieldByName('dataset_id').AsInteger:=
      DM.qryDataset.FieldByName('dataset_id').AsInteger;

      DM.qryLinks.Post;
      DM.qryLinks.ApplyUpdates;
    end;
    DM.TX.CommitRetaining;
    Result:=True;
  except
    DM.TX.RollbackRetaining;
  end;
end;

0 个答案:

没有答案