如何轻松地将数据从TDataSet
移至TClientDataSet
?我需要TClientDataSet.XMLData
属性中的数据的XML表示。
答案 0 :(得分:6)
使用ClientDataSet将TDataSetProvider
拖放到表单或数据模块上,将ClientDataSets属性ProviderName
设置为TDataSetProvider
的名称。将DataSet
的{{1}}属性设置为其他数据集。打开ClientDataSet。
答案 1 :(得分:1)
这是从TClientDataset衍生物的角度来看。
procedure TMyClientDataset.CopyFromDatasetProvider(Dataset: TDataset);
var DataSetProvider : TDataSetProvider;
begin
DataSetProvider := nil;
try
Close;
DataSetProvider := TDataSetProvider.Create(nil);
DatasetProvider.Options := [poNoReset];
StoreDefs := False;
DataSetProvider.DataSet := Dataset;
SetProvider(DataSetProvider);
Open;
First;
SetProvider(nil);
finally
if Assigned(DataSetProvider)
then DataSetProvider.Free;
end;
end;