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