博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用SqlBulkCopy 批量操作大量数据
阅读量:5105 次
发布时间:2019-06-13

本文共 1056 字,大约阅读时间需要 3 分钟。

private void button1_Click(object sender, EventArgs e)

{
//1.0 构建一个内存表一定要和Users表的结构保持一致,除了自增的主键外
DataTable tb = new DataTable();
//2.0 如何向tb中加入一个名词为UName的字符串类型的字段
tb.Columns.Add("UName1", typeof(string));

//3.0 向tb中插入1W条数据

DataRow dr;
System.Diagnostics.Stopwatch st = new System.Diagnostics.Stopwatch();
st.Start();
for (int i = 1; i <= 100 * 100; i++)
{
//根据内存表的结构创建一个行对象
dr = tb.NewRow();
dr["UName1"] = "测试" + i;
//将行对象加入到内存表中
tb.Rows.Add(dr);
}

st.Stop();

MessageBox.Show("1W条数据构成耗时:" + st.ElapsedMilliseconds + "毫秒");

string connString = "server=.;database=userinfo18;uid=sa;pwd=master;";

st.Start(); //开始计时

using (System.Data.SqlClient.SqlBulkCopy copy = new System.Data.SqlClient.SqlBulkCopy(connString))
{
//3.0 告诉copy当前tb中的数据是插入到Users表中
copy.DestinationTableName = "Users";

//4.0 告诉copy对象,将tb中的UName列的值插入到Users表的Uname中

copy.ColumnMappings.Add("UName1", "UName");

//5.0 批量插入

copy.WriteToServer(tb);
}
//结束计时
st.Stop();

//时间间隔打印

MessageBox.Show("1W条数据成功插入,耗时:" + st.ElapsedMilliseconds + "毫秒");
}

转载于:https://www.cnblogs.com/chongyao/p/6479515.html

你可能感兴趣的文章
ps互补色
查看>>
Silverlight学习笔记(九)-----RenderTransform特效【五种基本变换】及【矩阵变换MatrixTransform】...
查看>>
【题解】青蛙的约会
查看>>
【eclipse】点Clean后没反应
查看>>
springboot下html的js中使用shiro标签功能
查看>>
求给定字符串的最长子字符串
查看>>
.26-浅析webpack源码之事件流make(1)
查看>>
IO流
查看>>
mybatis调用存储过程,获取返回的游标
查看>>
Android Handler学习笔记
查看>>
设计模式之装饰模式(结构型)
查看>>
面向对象的设计原则
查看>>
解释性语言和编译性语言的区别
查看>>
Swift3.0服务端开发(三) Mustache页面模板与日志记录
查看>>
Java读取.properties配置文件的几种方法
查看>>
【转】 FPGA设计的四种常用思想与技巧
查看>>
移动端页面头部定义
查看>>
职责链模式(Chain of Responsibility)
查看>>
C++:同名隐藏和赋值兼容规则
查看>>
EntityFrameWork 实现实体类和DBContext分离在不同类库
查看>>