IDtConsumer.PutProvider

Syntax

PutProvider(Provider: IDtProvider);

Parameters

Provider. Data provider, which data should be exported.

Description

The PutProvider method exports all values of the specified data provider to the data consumer.

Comments

For the successful export fields list in the data consumer should correspond to fields list in the data provider.

Example

Executing the example requires that the root of the C disk contains the Data_Out.txt file and a table with the Table_1 identifier in the repository.

Sub UserProc;
Var
    MB: IMetabase;
    MBProvider: IDtMetabaseProvider;
    TextConsumer: IDtTextConsumer;
    Fields1, Fields2: IDtFieldDefinitions;
    Field: IDtFieldDefinition;
    i: Integer;
Begin
    MB := MetabaseClass.Active;
    MBProvider := New DtMetabaseProvider.Create;
    MBProvider.Dataset := MB.ItemById("Table_1").Bind As IDatasetModel;
    Fields1 := MBProvider.Fields;
    TextConsumer := New DtTextConsumer.Create;
    TextConsumer.File := "c:\Data_Out.txt";
    TextConsumer.WriteHeader := True;
    TextConsumer.RowDelimiter := #13 + #10; //Return carriage + transfer row
    TextConsumer.DelimitedColumnDelimiter := #9; //TAB key
    Fields2 := TextConsumer.Fields;
    For i := 0 To Fields1.Count - 1 Do
        Field := Fields2.Add;
        Field.DataType := Fields1.Item(i).DataType;
        Field.Name := Fields1.Item(i).Name;
    End For;
    TextConsumer.Open;
    TextConsumer.Clear;
    TextConsumer.PutProvider(MBProvider);
    TextConsumer.Close
End Sub UserProc;

After executing the example a new data consumer that exports data in text file is created. During export the Carriage Return+Line Feed combination is used as a row delimiter, and Tabulation symbol - as a field delimiter. Row field names are written to the first file row. Then all the data from the specified table is exported to the file.

See also:

IDtConsumer