Can I create TDataSetFields at runtime?
-
29-06-2021 - |
문제
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.
제휴하지 않습니다 StackOverflow