SqlBulkCopy 批量插入数据库

摘要:
paramname=“dt”>DataTableDBTable=执行数据表(sql);i++){DBList.Add(DBTable.Columns[i].ColumnName);ParList=newList<();for(inti=0;i<item);}}sqlCopy.DestinationTableName=dt.TableName;
      /// <summary>
        /// 批量插入  注:DT的tableName为要更新的数据库表名,DT的列名和数据库一致
        /// </summary>
        /// <param name="dt"></param>
        /// <remarks></remarks>
        public void  tsSqlBulkCopy(DataTable dt)
        {

            try
            {
 
                using (SqlBulkCopy sqlCopy = new SqlBulkCopy(this.connection, SqlBulkCopyOptions.FireTriggers, this.transaction))
                {

                    string sql = "select * from " + dt.TableName + " where 1=-1";
                    DataTable DBTable = ExecuteDataTable(sql);
                    List<string> DBList = new List<string>();

                    for (int i = 0; i <= DBTable.Columns.Count - 1; i++)
                    {
                        DBList.Add(DBTable.Columns[i].ColumnName);
                    }

                    List<string> ParList = new List<string>();
                    for (int i = 0; i <= dt.Columns.Count - 1; i++)
                    {
                        ParList.Add(dt.Columns[i].ColumnName);
                    }

                    //添加对应列

                    foreach (string item in DBList)
                    {
                        if (ParList.Contains(item))
                        {
                            sqlCopy.ColumnMappings.Add(item, item);
                        }
                    }


                    sqlCopy.DestinationTableName = dt.TableName;
                    sqlCopy.BatchSize = dt.Rows.Count;
                    sqlCopy.WriteToServer(dt);
         
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

        }

免责声明:文章转载自《SqlBulkCopy 批量插入数据库》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ansible批量修改linux服务器密码的playbook简写artTemplate模板一二下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Vue中开启关闭风场

<template> <div class="box"> <div ref="emap" id="map"></div> <div id="popup" class="ol-popup"> <a href="#" id="popup-closer" class...

Python——截取web网页长图

# -*- coding: utf8 -*-import timeimport xlrdfrom selenium import webdriverdef read_excel(filename): data = xlrd.open_workbook(filename) # 打开xls文件 sheet = data.sheets()[0]...

Golang的标准命令简述

            Golang的标准命令简述                               作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。     Go本身包含了大量用于处理Go程序的命令和工具。go命令就是其中最常见的一个,它有许多子命令,接下来就跟随博主一起了解一下吧~   一.go build   1>.g...

使用NTP获取网络时间-----java

在做系统对时的时候,需要使用到ntp来获取时间。 可以使用common-net包来获取ntp服务器的时间(即可以向那些标准时间服务器对时,也可以向自己设置好的ntp服务器进行对时)。 使用java获取ntp的时间(t1,t2,t3,t4)。下面是官网上给出的关于使用common-net关于ntp部分的使用例子。 如果要与指定服务器A对时(非NTP时间服务器...

实现Cookie跨域共享

实现原理:cookie是不能跨域访问的,但是在二级域名是可以共享cookie的 概念说明:站点1=a.abc.com   站点2=b.abc.com 实现步骤:1. 配置两个站点的webconfig               2. a.abc.com写入cookie                3. b.abc.com读取cookie 一、配置Webc...

简单的图像相似度计算方法

目录 塑料瓶图像检测 说明 1.方法 2.测试结果(单张图片比对) 直方图 互信息 余弦相似度 感知哈希算法 3.评价 塑料瓶图像检测 目的:用于判断一张图片是否为塑料瓶; 条件:总计300多张图片分为70多类,同一类塑料瓶分别放置在同一个文件夹; 思路:选取每个文件夹的一张图片与目标图片对比计算返回相似度最高的值,通过多次试验确定阈值,...