zoukankan      html  css  js  c++  java
  • SqlBulkCopy批量添加

            /// <summary>
            /// 添加数据
            /// 注:DataTable列名必须和数据库列名一致
            /// </summary>
            /// <returns></returns>
            public bool AddData()
            {
                var entityType = typeof(UserMessage);
                var dataTable = new DataTable(entityType.Name);
                foreach (var prop in entityType.GetProperties())
                {
                    dataTable.Columns.Add(new DataColumn(prop.Name, prop.PropertyType));
                }
    
                var row = dataTable.NewRow();
                row["ID"] = 0;
                row["Name"] = "消息公告";
                row["Type"] = Const.Bestone.TYPE1;
                dataTable.Rows.Add(row);
    
                return DataTableCopy(dataTable, "数据库连接");
            }
    
         #region SqlBulkCopy批量添加
    
            /// <summary>
            /// 自增长表的插入
            /// </summary>
            /// <param name="dt"></param>
            /// <param name="connectionString"></param>
            public bool DataTableCopy(DataTable dt, string connectionString)
            {
                return this.DataTableCopy(dt, connectionString, SqlBulkCopyOptions.Default);
            }
    
            /// <summary>
            /// 非自增长表的插入
            /// </summary>
            /// <param name="dt"></param>
            /// <param name="connectionString"></param>
            /// <param name="copyOptions"></param>
            public bool DataTableCopy(DataTable dt, string connectionString, SqlBulkCopyOptions copyOptions)
            {
                try
                {
                    using (var sbc = new SqlBulkCopy(connectionString, copyOptions))
                    {
                        sbc.DestinationTableName = dt.TableName;
                        sbc.BatchSize = 10;
    
                        foreach (DataColumn col in dt.Columns)
                        {
                            sbc.ColumnMappings.Add(col.ColumnName, col.ColumnName);
                        }
    
                        sbc.WriteToServer(dt);
                    }
    
                    return true;
                }
                catch (Exception ex)
                {
                    ex.SqlErrorLog(ex.Message, "自增长表的插入", "SqlServerHelp.DataTableCopy()");
                    return false;
                }
            }
    
            #endregion
  • 相关阅读:
    软件体系架构会议纪要
    漫谈架构之阅读笔记02
    漫谈架构之阅读笔记01
    学习进度报告01
    以《淘宝网》为例,描绘质量属性的六个常见属性场景。
    软件架构师的工作方式
    软件体系架构课堂测试02
    系统安全——访问控制
    信息安全技术——物理环境与设备安全、虚拟专用网
    信息安全技术——防火墙、入侵检测技术
  • 原文地址:https://www.cnblogs.com/xiaoxiaoyu0707/p/5799859.html
Copyright © 2011-2022 走看看