.net SqlBulkCopy 批量添加

string connectionString    ----获得web.congfig的数据库链接配置

//创建一个本地的数据集合
                DataTable dt = new DataTable();
                dt.Columns.Add("ColumnId");
                dt.Columns.Add("RoleId");
                dt.Columns.Add("CreateTime");
                for (int i = 1; i < cidList.Length - 1; i++)
                {
                    DataRow row = dt.NewRow();//创建 DataRow对象
                    //为每列赋值
                    row["ColumnId"] =cidList[i] ;
                    row["RoleId"] = RoleColumnId;
                    row["CreateTime"] = DateTime.Now;

                    dt.Rows.Add(row);//插入到本地datatable中

                }
                bool retBoll = ExcuteNonQuery(dt);

public static bool ExcuteNonQuery(DataTable dt)
        {
           SqlConnection connection = new SqlConnection(connectionString);
            connection.Open();
            SqlBulkCopy sqlbulkcopy = new SqlBulkCopy(connection);
            sqlbulkcopy.BulkCopyTimeout = 100;  //超时之前操作完成所允许的秒数
            //sqlbulkcopy.BatchSize = dt.Rows.Count;  //每一批次中的行数
            sqlbulkcopy.DestinationTableName = dt.TableName;  //服务器上目标表的名称
            sqlbulkcopy.ColumnMappings.Add("ColumnId", "ColumnId");
            sqlbulkcopy.ColumnMappings.Add("RoleId", "RoleId");
            sqlbulkcopy.ColumnMappings.Add("CreateTime", "CreateTime");
            //for (int i = 0; i < dt.Columns.Count; i++)
            //{

            //    sqlbulkcopy.ColumnMappings.Add(dt[i].Columns, dt.Columns);  //映射定义数据源中的列和目标表中的列之间的关系
            //}
            sqlbulkcopy.WriteToServer(dt);  // 将DataTable数据上传到数据表中
            connection.Close();
            return true;
        }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值