zoukankan      html  css  js  c++  java
  • IBatis 批量插入数据之SqlBulkCopy

    public void AddLetters(IList<int> customerIds, string title, string content, LetterEnum.LetterType type)
            {
                // 插入内容,获取内容ID
                var msgContentId = this.AddLetterContent(title, content, 2);
    
                // 站内信接收者表字段初始化
                var letterDataTable = this.InitDataTable();
                foreach (var customerId in customerIds)
                {
                    var letterDataRow = letterDataTable.NewRow();
                
                    letterDataRow["CustomerId"] = customerId;
    
                    letterDataRow["MsgContentId"] = msgContentId;
    
                    letterDataTable.Rows.Add(letterDataRow);
                }
    
                using (var conn = new SqlConnection(_sqlMapper.DataSource.ConnectionString))
                {
                    conn.Open();
    
                    using (var sqlBulkCopy = new SqlBulkCopy(conn))
                    {
                        sqlBulkCopy.DestinationTableName = "Letter";
                        sqlBulkCopy.BatchSize = letterDataTable.Rows.Count;
    
                        if (letterDataTable.Rows.Count > 0)
                        {
                            sqlBulkCopy.WriteToServer(letterDataTable);
                        }
                    }
                }
            }
    
            /// <summary>
            /// 初始化Letter表结构
            /// </summary>
            private DataTable InitDataTable()
            {
                var dataTable = new DataTable();
    
                using (var conn = new SqlConnection(_sqlMapper.DataSource.ConnectionString))
                {
                    var queryString = string.Format(@"select top 0 * from {0}", "Letter");
                    var adapter = new SqlDataAdapter(queryString, conn);
                    adapter.Fill(dataTable);
                  
                }
    
                return dataTable;
            }
    

      

  • 相关阅读:
    Xshell 跳板机快速登录脚本按钮
    (一)angularjs5 环境搭建
    Myeclipse 内存溢出解决方法
    php 代码放到服务器上验证码不好用
    表格里面的input在底部
    Smarty忽略大括号
    php富友表单提交接口对接
    php富友接口对接http请求
    js去掉html标签
    删除的时候提示是否删除
  • 原文地址:https://www.cnblogs.com/zhshlimi/p/5992078.html
Copyright © 2011-2022 走看看