4

我有一个简单的代码,它在运行时创建一个数据集的副本及其所有详细数据集:

    DestDataSet.FieldDefs.Assign(SourceDataSet.FieldDefs);
    SourceDataSet.GetDetailDataSets(DetailList);
    for i := 0 to DetailList.Count - 1 do
    begin
      with DestDataSet.FieldDefs.AddFieldDef do
      begin
        Name := TDataSet(DetailList[i]).Name;
        DataType := ftDataSet;
      end;
      DetailCDSs.Add(NestedCDS);
    end;
    DestDataSet.CreateDataSet;

CreateDataSet引发EDBClient异常并显示消息“无效的字段类型”。谁能告诉我怎么了?

4

1 回答 1

1

如果创建FieldDef具有ftDataSet字段的数据集,则需要在创建数据集之前声明子定义。

于 2013-01-14T10:31:44.170 回答