/// <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();
}
批量插入
https://msdn.microsoft.com/en-us/library/ex21zs8x.aspx
SqlBulkCopy~ 你值得拥有。
不需要整太麻烦,只要你这个批量操作,值打开和关闭一次数据库,就有很大的效率提高了。
手工拼sql 不就批量了
SqlBulkCopy 使用它,你插入一万条数据和不使用的时候差别看的清清楚楚
用事物。