DestinationTableName属性定义了要复制表的目标名称
ColumnMappings返回一个SqlBulkCopyColumnMapping项集合,SqlBulkCopyColumnMappingCollection.Add方法参数为数据源类名称,目标表中目标列的名称.也可以先定义一个SqlBulkCopyColumnMapping,然后使用Add方法添加,SqlBulkCopyColumnMapping主要用于与目标数据表的表结构不一致的情况
NotifyAfter指定生成通知事件之前要处理的行数,指定在每次处理行完成的时候发生的事件,比如每次复制了1000行以后就提示1000行复制完成
NorthWindBulkOp.SqlRowsCopied+=
newSqlRowsCopiedEventHandler(OnRowsCopied);
最后WriteToServer方法,把SqlDataReader复制到指定的表中。安徽太和和家网手机版1.2.1 安卓版
这两天公司让做一个导数据的功能,从Excel文件中将数据导出并插入到数据库中,起初我是循环每一行数据,然后一条一条的将数据插入,这样做虽然功能上没什么问题,但是如果数据量大的话,会很影响性能。于是在高人的指点下学习了SQLBulkCopy类,该类主要用于批量迁移数据到数据库中,至于数据源不加限制,只要数据可以加载到DataTable或是IDataReader,就可以利用该类批量导入。下面贴一个例子:
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语句的工具。
展开

热血仙侠手游官网最新版-热血仙侠手游0.10.15 安卓版【官网最新】
零度曙光官方版下载入口-零度曙光手游官方版2.3.0 最新版
数学宝宝思维软件下载-数学宝宝思维app1.26 安卓手机版
ios10摊手耸肩qq表情完整版-ios10新emoji摊手耸肩qq表情打包下载1.0完整免费版
暗夜鬼剑士手游下载-暗夜鬼剑士2.0.25安卓版
汽水音乐APP下载-汽水音乐官方版14.2.0 最新版
中兴手机助手电脑版2.0.1.13 官方正式版
热血中超体验服下载-热血中超不删档体验版1.3.3 安卓版
天下通物流配货网下载下载-天下通物流配货网9.0 官网最新版
魔灵争霸游戏下载-魔灵争霸手游1.7.0 最新正式版
easy写作下载-easy写作软件3.4.9 最新安卓版
谋杀别墅下载-谋杀别墅(Murder Manor)1.0.3 修改版【官网】
无双萌将华为渠道服-无双萌将华为版0.6.0最新版
物质的鉴别与推断ppt课件-化学物质的鉴别与推断ppt精选版
超级p图专家app下载安装-超级p图专家手机版1.01 免费版
屏幕取色小工具-我的取色器(MyColor)3.5.0.0 绿色免费版
霸途海量版下载-霸途海量爆真充版1.0公益服
微帮帮安卓手机下载-微帮帮(微营销推广)1.0.3 安卓最新版
守护永恒之树9.08正式版下载-守护永恒之树9.08正式版隐藏英雄密码免费下载
ovis智能行李箱app1.3.1 安卓手机版