当前位置: 首页>>代码示例>>C#>>正文


C# DataTable.FillAsync方法代码示例

本文整理汇总了C#中System.Data.DataTable.FillAsync方法的典型用法代码示例。如果您正苦于以下问题:C# DataTable.FillAsync方法的具体用法?C# DataTable.FillAsync怎么用?C# DataTable.FillAsync使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Data.DataTable的用法示例。


在下文中一共展示了DataTable.FillAsync方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: fill_data_table_async_works_with_large_csv_input

        public async Task fill_data_table_async_works_with_large_csv_input()
        {
            var csv = string.Empty;

            using (var stringWriter = new StringWriter())
            using (var writer = new CsvWriter(stringWriter))
            {
                writer.WriteRecord("Header1", "Header2");

                for (var i = 0; i < 1000; ++i)
                {
                    writer.WriteRecord("value0_" + i, "value1_" + i);
                }

                writer.Flush();
                csv = stringWriter.ToString();
            }

            // read less than all available records
            using (var reader = CsvReader.FromCsvString(csv))
            {
                var table = new DataTable();
                reader.ReadHeaderRecord();

                Assert.Equal(913, await table.FillAsync(reader, 913));
                Assert.Equal(913, table.Rows.Count);
                Assert.True(reader.HasMoreRecords);
            }

            // read exactly available records
            using (var reader = CsvReader.FromCsvString(csv))
            {
                var table = new DataTable();
                reader.ReadHeaderRecord();

                Assert.Equal(1000, await table.FillAsync(reader, 1000));
                Assert.Equal(1000, table.Rows.Count);
                Assert.False(reader.HasMoreRecords);
            }

            // attempt to read more than available records
            using (var reader = CsvReader.FromCsvString(csv))
            {
                var table = new DataTable();
                reader.ReadHeaderRecord();

                Assert.Equal(1000, await table.FillAsync(reader, 1500));
                Assert.Equal(1000, table.Rows.Count);
                Assert.False(reader.HasMoreRecords);
            }
        }
开发者ID:modulexcite,项目名称:KBCsv,代码行数:51,代码来源:DataExtensionsFixture.cs

示例2: FillDataTableFromCSVFileThenWriteSomeToStringAsynchronously

        private async static Task FillDataTableFromCSVFileThenWriteSomeToStringAsynchronously()
        {
            #region FillDataTableFromCSVFileThenWriteSomeToStringAsynchronously

            var table = new DataTable();

            using (var streamReader = new StreamReader("PlanetaryData.csv"))
            using (var reader = new CsvReader(streamReader))
            {
                await reader.ReadHeaderRecordAsync();
                await table.FillAsync(reader);
            }

            using (var stringWriter = new StringWriter())
            {
                using (var writer = new CsvWriter(stringWriter))
                {
                    await table.WriteCsvAsync(writer, false, 5);
                }

                Console.WriteLine("CSV: {0}", stringWriter);
            }

            #endregion
        }
开发者ID:mujiansu,项目名称:KBCsv,代码行数:25,代码来源:Program.cs

示例3: fill_data_table_async_stops_if_it_reaches_maximum_records

        public async Task fill_data_table_async_stops_if_it_reaches_maximum_records()
        {
            var table = new DataTable();
            var csv = @"Header1,Header2
1,2
3,4
5,6
7,8";

            using (var reader = CsvReader.FromCsvString(csv))
            {
                reader.ReadHeaderRecord();

                Assert.Equal(3, await table.FillAsync(reader, 3));
                Assert.Equal(3, table.Rows.Count);
                Assert.True(reader.HasMoreRecords);
            }
        }
开发者ID:modulexcite,项目名称:KBCsv,代码行数:18,代码来源:DataExtensionsFixture.cs

示例4: fill_data_table_async_stops_short_of_maximum_records_if_it_runs_out_of_data

        public async Task fill_data_table_async_stops_short_of_maximum_records_if_it_runs_out_of_data()
        {
            var table = new DataTable();
            var csv = @"Header1,Header2
1,2
3,4";

            using (var reader = CsvReader.FromCsvString(csv))
            {
                reader.ReadHeaderRecord();

                Assert.Equal(2, await table.FillAsync(reader, 10));
                Assert.Equal(2, table.Rows.Count);
            }
        }
开发者ID:modulexcite,项目名称:KBCsv,代码行数:15,代码来源:DataExtensionsFixture.cs

示例5: fill_data_table_async_uses_header_record_if_columns_are_not_specified

        public async Task fill_data_table_async_uses_header_record_if_columns_are_not_specified()
        {
            var table = new DataTable();
            var csv = @"Header1,Header2
1,2";

            using (var reader = CsvReader.FromCsvString(csv))
            {
                reader.ReadHeaderRecord();

                Assert.Equal(1, await table.FillAsync(reader));
                Assert.Equal(1, table.Rows.Count);
                Assert.Equal("Header1", table.Columns[0].ColumnName);
                Assert.Equal("Header2", table.Columns[1].ColumnName);
                Assert.Equal("1", table.Rows[0][0]);
                Assert.Equal("2", table.Rows[0][1]);
            }
        }
开发者ID:modulexcite,项目名称:KBCsv,代码行数:18,代码来源:DataExtensionsFixture.cs

示例6: DataTable

        public async Task fill_data_table_async_throws_if_the_number_of_values_in_a_record_exceeds_the_number_of_columns_in_the_data_table()
        {
            var table = new DataTable();
            table.Columns.Add("First");
            table.Columns.Add("Second");

            using (var reader = CsvReader.FromCsvString("first,second,third"))
            {
                var ex = await Assert.ThrowsAsync<InvalidOperationException>(() => table.FillAsync(reader));
                Assert.Equal("DataTable has 2 columns, but a DataRecord had 3. The number of columns in the DataTable must match or exceed the number of values in each DataRecord.", ex.Message);
            }
        }
开发者ID:modulexcite,项目名称:KBCsv,代码行数:12,代码来源:DataExtensionsFixture.cs

示例7: FillDataTableFromCSVFileAsynchronously

        private static async Task FillDataTableFromCSVFileAsynchronously()
        {
            #region FillDataTableFromCSVFileAsynchronously

            var table = new DataTable();

            using (var streamReader = new StreamReader("PlanetaryData.csv"))
            using (var reader = new CsvReader(streamReader))
            {
                await reader.ReadHeaderRecordAsync();
                await table.FillAsync(reader);
            }

            Console.WriteLine("Table contains {0} rows.", table.Rows.Count);

            #endregion
        }
开发者ID:modulexcite,项目名称:KBCsv,代码行数:17,代码来源:Program.cs


注:本文中的System.Data.DataTable.FillAsync方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。