话不多说直接上代码。
/// <summary>
/// 把DataTable中数据快速插入指定表中
/// </summary>
/// <param name="connectionString">目标连接字符</param>
/// <param name="tableName">目标表(数据库表名)</param>
/// <param name="dataSource">源数据</param>
private void SqlBulkCopyByDatatable(string connectionString, string tableName, DataTable dataSource)
{
SqlTransaction tran = null;//声明一个事务对象
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
using (tran = conn.BeginTransaction())
{
using (SqlBulkCopy sqlbulkcopy = new SqlBulkCopy(conn, SqlBulkCopyOptions.Default, tran))
{
try
{
sqlbulkcopy.DestinationTableName = tableName;
sqlbulkcopy.WriteToServer(dataSource);
tran.Commit();
}
catch
{
tran.Rollback();
}
}
}
}
}