47 lines
1.7 KiB
C#
47 lines
1.7 KiB
C#
using System.Data;
|
|
using System.Data.SqlClient;
|
|
|
|
namespace WX.CRM.DAL.Util
|
|
{
|
|
public class SqlBulk_DAL
|
|
{
|
|
/// <summary>
|
|
/// 批量插入数据
|
|
/// </summary>
|
|
/// <param name="TableName"></param>
|
|
/// <param name="dt"></param>
|
|
public void SqlBulkCopyByDatatableToEntity(string TableName, DataTable dt)
|
|
{
|
|
SqlBulkCopyByDatatable(SqlHelper.GetConnecionString(SqlHelper.DatabaseType.PromotionEntity), TableName, dt);
|
|
}
|
|
/// <summary>
|
|
/// 批量插入数据
|
|
/// </summary>
|
|
/// <param name="connectionString">目标连接字符</param>
|
|
/// <param name="TableName">目标表</param>
|
|
/// <param name="dt">源数据</param>
|
|
private void SqlBulkCopyByDatatable(string connectionString, string TableName, DataTable dt)
|
|
{
|
|
using (SqlConnection conn = new SqlConnection(connectionString))
|
|
{
|
|
using (SqlBulkCopy sqlbulkcopy = new SqlBulkCopy(connectionString, SqlBulkCopyOptions.UseInternalTransaction))
|
|
{
|
|
try
|
|
{
|
|
sqlbulkcopy.DestinationTableName = TableName;
|
|
for (int i = 0; i < dt.Columns.Count; i++)
|
|
{
|
|
sqlbulkcopy.ColumnMappings.Add(dt.Columns[i].ColumnName, dt.Columns[i].ColumnName);
|
|
}
|
|
sqlbulkcopy.WriteToServer(dt);
|
|
}
|
|
catch (System.Exception ex)
|
|
{
|
|
throw ex;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|