SqlBulkCopy 批量插入数据库
/// <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 = ; i <= DBTable.Columns.Count - ; i++)
{
DBList.Add(DBTable.Columns[i].ColumnName);
} List<string> ParList = new List<string>();
for (int i = ; i <= dt.Columns.Count - ; 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 批量插入数据库的更多相关文章
- sql server 使用SqlBulkCopy批量插入数据库
sql server sqlbulkcopy 批量数据插入数据库使用的是System.Data.SqlClient中的 SqlBulkCopy批量数据插入数据库 sql server 使用SqlBul ...
- .net 使用SqlBulkCopy批量插入数据库
//一次批量插入100W条数据到数据库 static void Main(string[] args) { System.Random a = new Random(System.DateTime.N ...
- SqlBulkCopy将DataTable中的数据批量插入数据库中
#region 使用SqlBulkCopy将DataTable中的数据批量插入数据库中 /// <summary> /// 注意:DataTable中的列需要与数据库表中的列完全一致.// ...
- list转datatable,SqlBulkCopy将DataTable中的数据批量插入数据库
/// <summary> /// 将泛类型集合List类转换成DataTable /// </summary> /// <param name="list&q ...
- sql 中的Bulk和C# 中的SqlBulkCopy批量插入数据 ( 回顾 and 粗谈 )
通常,我们会对于一个文本文件数据导入到数据库中,不多说,上代码. 首先,表结构如下. 其次,在我当前D盘中有个文本文件名为2.txt的文件. 在数据库中,可以这样通过一句代码插入. Bulk in ...
- sqlbulkcopy 批量插入数据
批量插入 Datetable数据 通过sqlbulkcopy 插入1百万条数据 用时 10秒钟 (有兴趣的小伙伴可以去测试) /// <summary> /// /// </sum ...
- 使用 SqlBulkCopy 批量插入数据
/// <summary> /// 使用SqlBulkCopy将DataTable中的数据批量插入数据库中 /// </summary> /// <param name= ...
- Java MySql 批量插入数据库addBatch
//addBatch批量插入数据库 public static void insertCommentToMySql(Set<String> commentList) { Iterator& ...
- MYSQL批量插入数据库实现语句性能分析
假定我们的表结构如下 代码如下 CREATE TABLE example ( example_id INT NOT NULL, name VARCHAR( 50 ) NOT NULL, value ...
随机推荐
- oracle触发器如何使用2
触发器 是特定事件出现的时候,自动执行的代码块.类似于存储过程,但是用户不能直接调用他们.触发器是许多关系数据库系统都提供的一项技术.在ORACLE系统里,触发器类似过程和函数,都有声明,执行和异常处 ...
- python3中输出不换行
python2中输出默认是换行的,为了抑制换行,是这么做的: print x, 到了python3中,print变成一个函数,这种语法便行不通了.用2to3工具转换了下,变成这样了: print(x, ...
- UIkit框架之UIbutton的使用
1.UIbutton的继承关系:UIcontroller:UIview:UIresponder:NSObject: 2.添加按钮的步骤: (1)创建按钮的时候首先设置类型 (2)添加标题或者图片,设置 ...
- apk在IIS中的MIME设置
支持下载的话: 扩展名中填写“.apk”, MIME类型中填写apk的MIME类型“ application/vnd.android.package-archive ”
- Spring反射机制
Spring是分层的Java SE/EE应用一站式的轻量级开源框架,以IoC(Inverse of Control)和AOP(Aspect Oriented Programming)为内核,提供了展现 ...
- C#使用Fixed创建固定大小的缓冲区
在 C# 中,可以使用 fixed 语句在数据结构中创建带有固定大小数组的缓冲区. 使用现有代码(如使用其他语言.预先存在的 DLL 或 COM 项目编写的代码)时,这种方法非常有用. 固定数组可采用 ...
- LeetCode Binary Tree Paths(简单题)
题意: 给出一个二叉树,输出根到所有叶子节点的路径. 思路: 直接DFS一次,只需要判断是否到达了叶子,是就收集答案. /** * Definition for a binary tree node. ...
- php 多进程workman服务器框架
今天搜php socket,发现了一个给力的php写socket的框架workman,有机会要用用. 好给力,原来那个小蝌蚪聊天室就是用这个开发的. 仿佛发现了新大陆.
- Netty ChannelOption 解释
Name Associated setter method "writeBufferHighWaterMark" 默认 64 * 1024(用法未知) "writeBuf ...
- 【转】ROC和AUC介绍以及如何计算AUC
转自:https://www.douban.com/note/284051363/ ROC(Receiver Operating Characteristic)曲线和AUC常被用来评价一个二值分类器( ...