DestinationTableName属性定义了要复制表的目标名称
ColumnMappings返回一个SqlBulkCopyColumnMapping项集合,SqlBulkCopyColumnMappingCollection.Add方法参数为数据源类名称,目标表中目标列的名称.也可以先定义一个SqlBulkCopyColumnMapping,然后使用Add方法添加,SqlBulkCopyColumnMapping主要用于与目标数据表的表结构不一致的情况
NotifyAfter指定生成通知事件之前要处理的行数,指定在每次处理行完成的时候发生的事件,比如每次复制了1000行以后就提示1000行复制完成
NorthWindBulkOp.SqlRowsCopied+=
newSqlRowsCopiedEventHandler(OnRowsCopied);
最后WriteToServer方法,把SqlDataReader复制到指定的表中。百纳高中英语助手修改版99.99.99 安卓免费版
protectedvoidbutBulkCopy_OnClick(objectsender,EventArgse)
{
stringConStr="database=TEST;uid=sa;pwd=sa;server=(local)";
//使用SqlBulkCopy把内存表DataTable里的数据插入答卷数据表
using(SqlBulkCopybcp=newSqlBulkCopy(ConStr))
{
//指定目标数据库的表名
bcp.DestinationTableName="ARTICLE";
//建立数据源表字段和目标表中的列之间的映射
bcp.ColumnMappings.Add("T","TITLE");
bcp.ColumnMappings.Add("C","CONTENTS");
bcp.ColumnMappings.Add("D","DATA");
//定义生成通知事件之前要处理的行数
bcp.NotifyAfter=1000;
//处理完要处理NotifyAfter的行数时触发的事件
bcp.SqlRowsCopied+=
newSqlRowsCopiedEventHandler(OnRowsCopied);
//写入数据库表
bcp.WriteToServer(dt);
//关闭SqlBulkCopy实例
bcp.Close();
}
}
privatevoidOnRowsCopied(objectsernder,SqlRowsCopiedEventArgse)
{
Response.Write(e.RowsCopied.ToString());
}
这是一个效率最高的sql数据表转sql语句的工具。
这两天公司让做一个导数据的功能,从Excel文件中将数据导出并插入到数据库中,起初我是循环每一行数据,然后一条一条的将数据插入,这样做虽然功能上没什么问题,但是如果数据量大的话,会很影响性能。于是在高人的指点下学习了SQLBulkCopy类,该类主要用于批量迁移数据到数据库中,至于数据源不加限制,只要数据可以加载到DataTable或是IDataReader,就可以利用该类批量导入。下面贴一个例子:
展开

喜阅读书下载-喜阅读书app2.37 最新版
25年春九年级下册数学ppt课件-七彩课堂人教版九年级下册数学ppt课件电子版
Quicker(快速启动软件)v0.9.27.0官方版
专为中老年人设计的输入法下载-手写输入法app1.5.9 安卓版
超次元觉醒超V版下载-超次元觉醒超V版1.0 送钻石版
midas gen2014破解版-midas gen(建筑结构分析有限元软件)7.12中文特别破解版
e记账app下载-e记账国际统计局下载1.09 官方版
镇江头条新闻app-镇江头条新闻安卓版1.0 官方最新版
奔跑吧兄弟跑男来了手游-奔跑吧兄弟跑男来了1.0.6 安卓版
敲诈病毒cryp1专杀工具-卡巴斯基cryp1病毒专杀版2016最新版
万能小组件ios下载-万能小组件top widgets苹果2.8.2 最新版
去孢子游戏下载-去孢子(gone spore)1.0 安卓最新版
飞鸟急件app1.0.1 安卓版
舒达智行下载-舒达智行app1.0.5 安卓版
眼睛玻尿酸鸭表情图片下载-玻尿酸鸭cafemimi表情包无水印完整版
闪光豹来电app5.0 安卓最新版
傲剑乾坤游戏下载-傲剑乾坤手游公测版(自由交易)安卓正式版
无忧停车手机客户端-无忧停车(找车位)4.2.1 官方苹果版
湖南新能源手机版-湖南新能源app1.0 安卓最新版
节奏盒子Trapped模组下载安装手机版-节奏盒子Trapped模组zorboxV4 最新版