c# - 使用 SqlBulkCopy 将 DataTable 中的列映射到 SQL 表

标签 c# sql datatable sqlbulkcopy

我想知道在将数据添加到数据库之前如何将数据库表中的列映射到 C# 中的数据表。

using (SqlBulkCopy s = new SqlBulkCopy(conn))
{
    s.DestinationTableName = destination;
    s.WriteToServer(Ads_api_ReportData);
}

最佳答案

你可能需要一些类似的东西

 public void BatchBulkCopy(DataTable dataTable, string DestinationTbl, int batchSize)
{
    // Get the DataTable 
    DataTable dtInsertRows = dataTable;

    using (SqlBulkCopy sbc = new SqlBulkCopy(connectionString, SqlBulkCopyOptions.KeepIdentity))
    {
        sbc.DestinationTableName = DestinationTbl;

        // Number of records to be processed in one go
        sbc.BatchSize = batchSize;

        // Add your column mappings here
        sbc.ColumnMappings.Add("field1","field3");
        sbc.ColumnMappings.Add("foo","bar");

        // Finally write to server
        sbc.WriteToServer(dtInsertRows);
    }    
}

引用:How to use SqlBulkCopyColumnMappingCollection? . .

另见 http://www.codeproject.com/Articles/18418/Transferring-Data-Using-SqlBulkCopy

关于c# - 使用 SqlBulkCopy 将 DataTable 中的列映射到 SQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17469349/

相关文章:

c# - 系统.Linq.Dynamic.Core : How do I make a select many correctly?

c# - 禁用的文本框丢失 View 状态

sql - Django 慢查询性能提升

c# - 数据表日期时间列没有毫秒

php - 如何在 table 上放一个粘头

c# - 使用 Process 类检查控制台应用程序是否仍在运行

c# - 如何从 GridView 中的选择加载值?

mysql - 查询和 LEFT JOIN 不返回数据

sql - 在嵌套循环连接中哪个表被认为是 'inner'

c# - 按名称找不到 DataTable 中的 DataColumn