I have a simple code which creates a copy a dataset and all of it's detail datasets at runtime:

    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 raises an EDBClient exception with the message "Invalid Field Type". Can anyone tell me what's wrong?

有帮助吗?

解决方案

If you create a dataset with FieldDef having ftDataSet fields, you need to declare the child definition before creating the dataset.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top