Question

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?

Was it helpful?

Solution

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top