批量保存DataTable数据到DB
/// <summary>
/// 将DataTable中的数据直接复制到数据库中
/// </summary>
/// <param name="dataTable">源数据集</param>
public static void WriteDataTableToServer(string createTableSQL, DataTable dataTable)
{
string tableName = dataTable.TableName;
Database database = DatabaseFactory.CreateDatabase(ConnectionString);
using (DbConnection conn = database.CreateConnection())
{
conn.Open();
using (DbCommand command = conn.CreateCommand())
{
command.CommandType = CommandType.Text;
command.CommandText = createTableSQL;
using (DbTransaction tran = conn.BeginTransaction())
{
database.ExecuteNonQuery(conn, tran, command);
tran.Commit();
}
using (SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(conn as SqlConnection))
{
sqlBulkCopy.DestinationTableName = tableName;
sqlBulkCopy.BatchSize = dataTable.Rows.Count;
sqlBulkCopy.WriteToServer(dataTable);
}
}
}
}
浙公网安备 33010602011771号