如何在Delphi中查找DataSet是否为主/详细关系中的主服务器?

我想创建一个“重复记录”操作,在调用时,复制任何TDataSet后代中的当前记录.如何确定数据集是否为主/明细关系的主数据集?使用TClientDataSet它很容易,但我需要这个动作与TDataSet的所有后代一起使用.

解决方法

您应该调用TDataSet.GetDetailDataSets方法.如果列表不为空,则此数据集是列表中数据集的主数据集.例如:
var
  oDetails: TList;
  lIsMaster: Boolean;
...
  oDetails := TList.Create;
  try
    myDataSet.GetDetailDataSets(oDetails);
    lIsMaster := oDetails.Count > 0;
  finally
    oDetails.Free;
  end;

相关文章

ffmpeg 是一套强大的开源的多媒体库 一般都是用 c/c++ 调用, 抽空研究了一下该库的最新版 ,把...
32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI) 2个指针寄...
1 mov dst, src dst是目的操作数,src是源操作数,指令实现的功能是:将源操作数送到目的操作数中,即:...
有三个API函数可以运行可执行文件WinExec、ShellExecute和CreateProcess。 1.CreateProcess因为使用复杂...
API原型: Declare Function MoveFileEx& Lib "kernel32" Alias "MoveFileExA" (By...