使用 SqlBulkCopy 将 DataTable 中的列映射到 SQL 表 [英] Mapping columns in a DataTable to a SQL table with SqlBulkCopy

查看:33
本文介绍了使用 SqlBulkCopy 将 DataTable 中的列映射到 SQL 表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I would like to know how I can map columns in a database table to the datatable in c# before adding the data to the database.

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);
    }    
}

参考:如何使用 SqlBulkCopyColumnMappingCollection?..

Seel 也 http://www.codeproject.com/Articles/18418/传输数据使用SqlBulkCopy

这篇关于使用 SqlBulkCopy 将 DataTable 中的列映射到 SQL 表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆