映射列一个DataTable与SqlBulkCopy的SQL表 [英] Mapping columns in a DataTable to a SQL table with SqlBulkCopy
本文介绍了映射列一个DataTable与SqlBulkCopy的SQL表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想知道我将能够在数据库表coloumns映射到C#中的数据表中加入数据到数据库之前
使用(SqlBulkCopy的S =新SqlBulkCopy的(康涅狄格州))
{
s.DestinationTableName =目标;
s.WriteToServer(Ads_api_ReportData);
}
解决方案
您可能需要像一些事情
公共无效BatchBulkCopy(DataTable中的dataTable,串DestinationTbl,诠释BATCHSIZE)
{
//获取数据表
DataTable中dtInsertRows = dataTable的;
使用(SBC的SqlBulkCopy =新SqlBulkCopy的(的connectionString,SqlBulkCopyOptions.KeepIdentity))
{
sbc.DestinationTableName = DestinationTbl;一气呵成$ B $要处理
//记录号B sbc.BatchSize = BATCHSIZE;
//添加您的列映射在这里
sbc.ColumnMappings.Add(字段1,FIELD3);
sbc.ColumnMappings.Add(富,酒吧);
//最后写入服务器
sbc.WriteToServer(dtInsertRows);
}
}
参考:的How~~V使用SqlBulkCopyColumnMappingCollection?
。
SEEL也 http://www.codeproject.com/Articles/18418/Transferring-Data-Using-SqlBulkCopy
I would like to know how i would be able to map coloumns 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);
}
解决方案
You probably need some thing like
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);
}
}
Ref: How to use SqlBulkCopyColumnMappingCollection? . .
Seel also http://www.codeproject.com/Articles/18418/Transferring-Data-Using-SqlBulkCopy
这篇关于映射列一个DataTable与SqlBulkCopy的SQL表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文