Dmitry
Dmitry

Reputation: 14622

How can I move data from TDataSet to TClientDataSet? I need XML representation of the data

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

Answers (2)

user3583129
user3583129

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

Uwe Raabe
Uwe Raabe

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

Related Questions