我想知道在将数据添加到数据库之前如何将数据库表中的列映射到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/

10-10 07:22