首页 新闻 会员 周边

C#做批量入库怎么做效率搞?一条一条插入效率低

0
悬赏园豆:5 [已解决问题] 解决于 2016-07-28 10:08

C#做批量入库怎么做效率搞?一条一条插入效率低

吴顶天的主页 吴顶天 | 初学一级 | 园豆:39
提问于:2016-04-27 12:33
< >
分享
最佳答案
0

/// <summary>
/// 使用SqlBulkCopy方式批量插入数据
/// </summary>
/// <param name="dt">数据源</param>
/// <param name="tableName">需要插入数据的表名</param>
/// <returns></returns>
public static void SqlBulkCopyInsert(DataTable dt, string tableName)
{
SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(connectionString);
sqlBulkCopy.DestinationTableName = tableName;
//设置数据对应关系
foreach (DataColumn dc in dt.Columns)
{
sqlBulkCopy.ColumnMappings.Add(dc.ColumnName, dc.ColumnName);
}
sqlBulkCopy.BatchSize = dt.Rows.Count;
SqlConnection sqlConnection = new SqlConnection(connectionString);
sqlConnection.Open();
if (dt != null && dt.Rows.Count != 0)
{
sqlBulkCopy.WriteToServer(dt);
}
sqlBulkCopy.Close();
sqlConnection.Close();

}

收获园豆:5
祁临芯 | 菜鸟二级 |园豆:251 | 2016-05-16 09:44
其他回答(7)
0

批量插入

清海扬波 | 园豆:825 (小虾三级) | 2016-04-27 12:34
0

https://msdn.microsoft.com/en-us/library/ex21zs8x.aspx

Yu | 园豆:12980 (专家六级) | 2016-04-27 12:44
2

SqlBulkCopy~ 你值得拥有。

幻天芒 | 园豆:37175 (高人七级) | 2016-04-27 13:10
0

不需要整太麻烦,只要你这个批量操作,值打开和关闭一次数据库,就有很大的效率提高了。

Supper_litt | 园豆:827 (小虾三级) | 2016-04-27 15:35
1

手工拼sql 不就批量了

青楼满座 | 园豆:202 (菜鸟二级) | 2016-04-28 10:50
-1

SqlBulkCopy  使用它,你插入一万条数据和不使用的时候差别看的清清楚楚

通信的搞程序 | 园豆:1747 (小虾三级) | 2016-05-04 18:01
0

用事物。

Hoze | 园豆:196 (初学一级) | 2016-06-07 13:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册