TG.WXCRM.V4/DAL/Util/SqlBulk_DAL.cs

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;
}
}
}
}
}
}