Reputation: 14622
How can I easily move data from TDataSet
to TClientDataSet
? I need XML representation of the data in TClientDataSet.XMLData
property.
Upvotes: 2
Views: 3599
Reputation: 11
This is from the perspective of a TClientDataset derivative.
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;
Upvotes: 1
Reputation: 47704
Drop a TDataSetProvider
onto the form or datamodule with the ClientDataSet, set the ClientDataSets property ProviderName
to the name of the TDataSetProvider
. Set the DataSet
property of the TDataSetProvider
to the other dataset. Open the ClientDataSet.
Upvotes: 6