我有一个简单的代码,可以在运行时创建数据集及其所有详细数据集的副本:
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
异常,并显示“无效字段类型”消息。谁能告诉我什么是错的?
答案 0 :(得分:0)
如果您创建的数据集FieldDef
包含ftDataSet
个字段,则需要在创建数据集之前声明子定义。