/// <summary>
/// DataTable批量添加(有事务)
/// </summary>
/// <param name="Table">数据源</param>
/// <param name="Mapping">定义数据源和目标源列的关系集合</param>
/// <param name="DestinationTableName">目标表</param>
public static bool MySqlBulkCopy(DataTable Table, SqlBulkCopyColumnMapping[] Mapping, string DestinationTableName)
{
bool Bool = true;
using (SqlConnection con = new SqlConnection(ConnectionString))
{
con.Open();
using (SqlTransaction Tran = con.BeginTransaction())
{
using (SqlBulkCopy Copy = new SqlBulkCopy(con,SqlBulkCopyOptions.KeepIdentity,Tran))
{
Copy.DestinationTableName = DestinationTableName;//指定目标表
if (Mapping != null)
{
//如果有数据
foreach (SqlBulkCopyColumnMapping Map in Mapping)
{
Copy.ColumnMappings.Add(Map);
}
}
try
{
Copy.WriteToServer(Table);//批量添加
Tran.Commit();//提交事务
}
catch
{
Tran.Rollback();//回滚事务
Bool = false;
}
}
}
}
return Bool;
}
以上是 大数据 转移,一次插入大量数据!
注:摘自论坛 ID: MSDNXGH !