zoukankan      html  css  js  c++  java
  • SQL Server批量插入数据

     1 public bool SaveCompareResult(List<CompareResult> c)
     2         {
     3             bool flag = false;
     4             using (var db = new AOPContext())
     5             {
     6                 SqlConnection sqlConn = new SqlConnection(db.Database.Connection.ConnectionString);
     7                 SqlBulkCopy bulkCopy = new SqlBulkCopy(db.Database.Connection.ConnectionString);
     8                 try
     9                 {
    10                     bulkCopy.DestinationTableName = "CompareResult"; //要写入的表的名字
    11                     bulkCopy.BatchSize = c.Count;  
    12                     DataTable dt = new DataTable();
    13                     dt.Columns.AddRange(new DataColumn[]{  
    14                                         new DataColumn("CID",typeof(Guid)), 
    15                                         new DataColumn("RID",typeof(Guid)),
    16                                         new DataColumn("CType",typeof(int)), 
    17                                         new DataColumn("CChildType",typeof(int)),
    18                                         new DataColumn("Value1",typeof(string)), 
    19                                         new DataColumn("Value2",typeof(string)), 
    20                                         new DataColumn("Value3",typeof(string)), 
    21                                         new DataColumn("Value4",typeof(string)), 
    22                                         new DataColumn("Value5",typeof(int)), 
    23                                         new DataColumn("FileType",typeof(string)), 
    24                                         new DataColumn("Operator",typeof(string)), 
    25                                         new DataColumn("OperateDate",typeof(DateTime))});
    26 
    27                     foreach (CompareResult cr in c)
    28                     {
    29                         DataRow r = dt.NewRow();
    30                         r[0] = cr.CID;
    31                         r[1] = cr.RID;
    32                         r[2] = cr.CType;
    33                         r[3] = cr.CChildType;
    34                         r[4] = cr.Value1;
    35                         r[5] = cr.Value2;
    36                         r[6] = cr.Value3;
    37                         r[7] = cr.Value4;
    38                         r[8] = cr.Value5;
    39                         r[9] = cr.FileType;
    40                         r[10] = cr.Operator;
    41                         r[11] = cr.OperateDate;
    42                         dt.Rows.Add(r);  
    43                     }
    44                     sqlConn.Open();
    45                     bulkCopy.WriteToServer(dt);
    46                     flag = true;
    47                 }
    48                 catch (Exception ex)
    49                 {
    50                     LoggerHelper.Error("SaveCompareResult执行出错: ", ex);
    51                 }
    52                 finally
    53                 {
    54                     sqlConn.Close();
    55                     if (bulkCopy != null)
    56                         bulkCopy.Close();
    57                 }
    58             }
    59             return flag;
    60         }

     要点

    1 获得连接字符串

    2 构造datatable

    3 构造数据表

    4 异常处理

    实践中性能很好

    参考 http://blog.csdn.net/tjvictor/article/details/4360030

  • 相关阅读:
    Storm集群环境搭建
    如何使用Python进行投资收益和风险分析
    [项目源码] JavaWeb校园宿舍管理系统
    (null) entry in command string: null chmod 0644
    Ubuntu设置代理服务器
    ZooKeeper异常:Error connecting service It is probably not running
    MySQL绿色版安装
    Pig关系型运算符例子
    pig分组统计例子
    java服务端项目开发规范
  • 原文地址:https://www.cnblogs.com/sherlock99/p/3658663.html
Copyright © 2011-2022 走看看