zoukankan      html  css  js  c++  java
  • C# 中dataTable中的数据批量增加至数据表中

     1   /// <summary>
     2         /// 批量添加
     3         /// </summary>
     4         /// <param name="dt"></param>
     5         public static bool AddExchangeBulkCopy(DataTable dt, string table_name)
     6         {
     7             bool ret = false;
     8 
     9             using (SqlConnection Connection = new SqlConnection(CONN_STRING_NON_DTC))
    10             {
    11 
    12                 Connection.Open();
    13 
    14                 SqlTransaction sqlbulkTransaction = Connection.BeginTransaction();
    15 
    16                 using (SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(Connection, SqlBulkCopyOptions.CheckConstraints, sqlbulkTransaction))
    17                 {
    18 
    19                     //源列字段:A,目标数据源字段:B
    20                     //@o_id,ticket,@order_id,@product_id,@amount
    21 
    22                     sqlBulkCopy.ColumnMappings.Add(0, "return_orderid");
    23 
    24                     sqlBulkCopy.ColumnMappings.Add(1, "phone");
    25 
    26                     sqlBulkCopy.ColumnMappings.Add(2, "real_amount");
    27 
    28                     sqlBulkCopy.ColumnMappings.Add(3, "finish_date");
    29 
    30                     sqlBulkCopy.ColumnMappings.Add(4, "supplier");
    31 
    32                     sqlBulkCopy.ColumnMappings.Add(5, "is_sign");
    33 
    34                     sqlBulkCopy.ColumnMappings.Add(6, "msg_error");
    35 
    36 
    37                     sqlBulkCopy.BatchSize = dt.Rows.Count;
    38 
    39                     sqlBulkCopy.BulkCopyTimeout = 60;
    40 
    41                     sqlBulkCopy.DestinationTableName = table_name;
    42 
    43                     if (dt != null && dt.Rows.Count != 0)
    44                     {
    45                         try
    46                         {
    47                             sqlBulkCopy.WriteToServer(dt);
    48 
    49                             sqlbulkTransaction.Commit();
    50                             ret = true;
    51                         }
    52                         catch (Exception ex)
    53                         {
    54                             try
    55                             {
    56                                 sqlbulkTransaction.Rollback();
    57                                 ret = false;
    58                             }
    59                             catch
    60                             {
    61                                 ret = false;
    62                             }
    63                             throw ex;
    64                         }
    65                         finally
    66                         {
    67                         }
    68                     }
    69                 }
    70             }
    71             return ret;
    72         }
    View Code
  • 相关阅读:
    ShopEx customSchema 定制能够依据客户的需求对站点进行对应功能的加入改动或者删除
    Android 屏幕旋转 处理 AsyncTask 和 ProgressDialog 的最佳方案
    NYOJ 46 最少乘法次数
    彻底理解position与anchorPoint
    链路层
    留不住的2015
    javascript笔记
    <html>
    高性能站点建设指南-前端性能优化(一)
    监听器设计模式
  • 原文地址:https://www.cnblogs.com/wsl2011/p/5133522.html
Copyright © 2011-2022 走看看