c#中对批量新增数据中使用SqlBulkCopy

private void AddBulkInsert(string tableName, DataTable dt)
{
string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["XzyConnstring"].ToString();

using (SqlConnection destinationConnection =
new SqlConnection(connectionString))
{
destinationConnection.Open();
using (SqlBulkCopy bulkCopy =
new SqlBulkCopy(destinationConnection))
{
bulkCopy.DestinationTableName = tableName;

try
{
for (int i = 0; i < dt.Columns.Count; i++)
{
bulkCopy.ColumnMappings.Add(dt.Columns[i].ColumnName, dt.Columns[i].ColumnName);
}

bulkCopy.WriteToServer(dt);
}
catch (Exception ex)
{
return;
}
}
}
}

原文地址:https://www.cnblogs.com/moondd22/p/9212368.html

时间: 2024-09-30 19:09:31

c#中对批量新增数据中使用SqlBulkCopy的相关文章

ThinPHP3.2中 addAll()批量插入数据

thinkphp中model类的addAll()方法可以将数据同时添加到数据库中. 1 2 3 4 5 6 // 批量添加数据 (only MySQL) $user = M('user'); //array('表字段'=>'值') $dataList[] = array('name'=>'thinkphp','email'=>'[email protected]'); $dataList[] = array('name'=>'onethink','email'=>'[emai

使用JDBC在MySQL数据库中快速批量插入数据

使用JDBC连接MySQL数据库进行数据插入的时候,特别是大批量数据连续插入(10W+),如何提高效率呢? 在JDBC编程接口中Statement 有两个方法特别值得注意: void addBatch() throws SQLException Adds a set of parameters to this PreparedStatement object's batch of commands. int[] executeBatch() throws SQLException Submits

sql 通过存储过程和自定义类型批量新增数据

1,建立存储过程 create PROCEDURE [dbo].[p_Company_Insert] @CompanyCollection [CompanyTableType] READONLY AS INSERT INTO tb_Company ( [cpID] ,[cpHiID] ,[cpBuySellTypeID] ,[cpName] ,[cpShortName] ,[cpIndustry] ,[cpSell] ,[cpBuy] ,[cpAddressID] ,[cpAddress] ,[

mybatis 学习笔记(4) —— 批量新增数据

1.业务是从前台传入List<T> ,在controller层接受参数,并进行批量新增操作. 2.需要处理的细节 a) mybatis可以支持批量新增,注意数据表需要将主键设置成自增列. b) 由于spring mvc 无法将参数[{id:0,text:'a'},{id:1,text:'b'}] json字符串转换为对应的List<T>,因此需要自己手动封装一个方法用于将传入的字符串转换为泛型集合 3.具体实现步骤 a) js提交 需要注意的是必须在参数名上加引号 var dept

在数据库中根据经纬度查找数据中所有附近的经纬度点

ALTER FUNCTION [GetDistance] ( @GPSLng DECIMAL(12,6), @GPSLat DECIMAL(12,6), @Lng DECIMAL(12,6), @Lat DECIMAL(12,6) ) RETURNS DECIMAL(12,4) AS BEGIN DECLARE @result DECIMAL(12,4) SELECT @result=6371.004*ACOS(SIN(@GPSLat/180*PI())*SIN(@Lat/180*PI())+C

从一组集合中获取,分多次取集合中的每段数据中的最大值,重组成一个新的集合。

一个项目中偶遇的简单算法,个人觉得还不错,虽不常用,也记录在此吧. 1 package huolongluo.qihuo.util; 2 3 import android.util.Log; 4 5 import java.util.ArrayList; 6 import java.util.Collections; 7 import java.util.List; 8 9 /** 10 * Created by 火龙裸先生 on 2017/11/13. 11 */ 12 13 public c

mybaits实现oracle批量新增数据,回填主键

项目有需求,百度了很久,反正他们说的方法,我都没成功,我也不知道是不是我写代码的姿势不正确,没办法只能自己想法子了 我们这个项目用到了通过Mapper,通用Mapper里通过OracleProvider 实现批量插入,好像可以通过KeySql注解可以自动生成主键, 生成的sql里有这个 <bind name="country_idGenIdBind" value="@[email protected](record, 'countryId', @[email prote

mybatis学习之路----批量更新数据两种方法效率对比

原文:https://blog.csdn.net/xu1916659422/article/details/77971696/ 上节探讨了批量新增数据,这节探讨批量更新数据两种写法的效率问题. 实现方式有两种, 一种用for循环通过循环传过来的参数集合,循环出N条sql, 另一种 用mysql的case when 条件判断变相的进行批量更新 下面进行实现. 注意第一种方法要想成功,需要在db链接url后面带一个参数  &allowMultiQueries=true 即:  jdbc:mysql:

springboot项目实现批量新增功能

首先是mybatis中的批量新增sql语句.注意:这里我给的是我需要新增的字段,你们改成你们需要的字段. <insert id="insertBatch" > insert into hm_authorization (ID,ROLE_CODE,RES_TYPE_CODE,RES_CODE) values <foreach collection="list" item="item" index="index"