Show / Hide Table of Contents

    IDwDataImporter.ImportByKey(string text, DwBuffer dwbuffer, int startRow, int endRow) Method

    .NET Standard 2.x

    Imports data into the specified buffer of DataStore with the specified DataFormat based on the key name, and specifies the start and end positions of the rows.

    Namespace: DWNet.Data

    Assembly: DWNet.Data.dll

    Syntax

    int ImportByKey(string text, DwBuffer dwbuffer, int startRow, int endRow);
    

    text System.String

    Data string in the specified format.

    The JSON string must comply with the plain-format JSON or DataWindow JSON.

    dwbuffer DWNet.Data.DwBuffer

    The specified buffer of the DataStore.

    A value of the DwBuffer enumerated datatype identifying the DataWindow buffer into which you want to import the data.

    For plain-format JSON: Imports the JSON data to the specified buffer.

    For DataWindow JSON: Imports data from the specified buffer from the JSON string to the corresponding buffer.

    startRow System.Int32

    The zero-based index number of the first row in the buffer that you want to export.

    endRow System.Int32

    The zero-based index number of the last row in the buffer that you want to export.

    If it is negative, it indicates the rest of rows.

    Returns

    System.Int32

    Returns the number of rows that were imported if it succeeds.

    Examples

    The following code example demonstrates how to import the department data from between the starting row and the ending row of a JSON string to the specified DataStore buffer.

    using DWNet.Data;
    using SnapObjects.Data;
    using System;
    using System.IO;
    
    namespace Appeon.ApiDoc.IDwDataImporterExamples
    {
        public class ImportByKeyExample
        {
            private readonly SchoolContext _context;
    
            public ImportByKeyExample(SchoolContext dataContext)
            {
                // Sets the data context
                _context = dataContext;
            }
    
            public void Example4()
            {
                // Instantiates the datastore with datawindow: d_department2
                var datastore = new DataStore("d_department2", _context);
    
                // Get DataStore importer in JSON format.
                var importer = datastore.GetDataImporter(DataFormat.Json);
    
                // Gets the JSON file,ExportPlainJson1.json contains 4 records.
                string path = Path.Combine(AppContext.BaseDirectory,
                                    @"Jsons\IDwDataExporter\ExportPlainJson1.json");
                string json = File.ReadAllText(path);
    
                // Imports data from JSON to the DataStore primary buffer, from row 1 
                // through the end.
                // The departmentid column exists in ImportJson8.json, but not in 
                // DataStore d_department2.
                // But ImportJsonByKey imports data by the column name, so departmentid 
                // will be ignored.
                int row = importer.ImportByKey(json, DwBuffer.Primary, 0, 3);
    
                Console.WriteLine("Import Row: {0}; Rowcount: {1}", row, datastore.RowCount);
    
                for (int i = 0; i < datastore.RowCount; i++)
                {
                    Console.WriteLine("Name: {0}; Budget: {1}",
                        datastore.GetItem<string>(i, "name"),
                        datastore.GetItem<decimal>(i, "budget"));
                }
    
                datastore.Reset();
    
                // Imports data from row 2 and 3.
                // The departmentid column exists in ImportJson8.json, but not in DataStore 
                // d_department2.
                // But ImportJsonByKey imports data by the column name, so departmentid 
                // will be ignored.
                row = importer.ImportByKey(json, DwBuffer.Primary, 1, 2);
    
                Console.WriteLine("Import Row: {0}; Rowcount: {1}", row, datastore.RowCount);
    
                for (int i = 0; i < datastore.RowCount; i++)
                {
                    Console.WriteLine("Name: {0}; Budget: {1}",
                        datastore.GetItem<string>(i, "name"),
                        datastore.GetItem<decimal>(i, "budget"));
                }
    
                /*This code produces the following output:
    
                Import Row: 4; Rowcount: 4
                Name: Engineering; Budget: 350000
                Name: English; Budget: 120000
                Name: Economics; Budget: 200000
                Name: Mathematics; Budget: 250000
    
                Import Row: 2; Rowcount: 2
                Name: English; Budget: 120000
                Name: Economics; Budget: 200000
               */
            }
        }
    }
    

    Example Refer To

    Model Class: D_Department2
    JSON File: ExportPlainJson1
    DataWindow File: d_department2

    Back to top Generated by Appeon