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

欢乐合成游戏下载-欢乐合成红包版v1.0.20230608 官方正版
战鼓之翼0.1折下载-战鼓之翼0.1折新年版3.1.302 送终极技能书礼包
徕卡相机连接软件下载-莱卡相机安装包(Leica FOTOS)4.0.5 安卓版
治愈猫宅汉化版-治愈猫宅中文版v1.0.2 安卓版
俄语翻译官app下载-俄语翻译官安卓版1.0.0 最新版
仙侠奇缘最新版-仙侠奇缘1.2.0.1 最新版(免费版)
伊米特家居app下载-伊米特家居app1.1.5 安卓版
流盟ios下载-流盟app苹果版1.0 官网iPhone版
青藤医生app下载-青藤医生1.0.2 安卓免费版
Energy Bar app下载-手机电量显示(Energy Bar)VEB_6.3.4_BETA 安卓版
领主争霸连击契约变态版下载-领主争霸连击契约bt版1.0 安卓版
共享屏app官方下载-共享屏APP手机版(原酷开智屏)2.9.3最新版
弹弹奇妙冒险下载-弹弹奇妙冒险手游1.1.13 最新版
小鸡模拟器TV极速版下载-小鸡模拟器TV极速版免费版1.3.9 最新版
QQ高能舞蹈教室ios下载-QQ高能舞蹈教室AI版手机最新版
毛葱汽配app0.0.1906120 安卓版
承遇生活app下载-承遇生活软件1.5 安卓最新版
恐龙像素模拟器下载-恐龙像素模拟器1.46 免费版
CliCli pro下载-CliCli动漫蓝色版本1.3.3 最新版
奇酷魔球app1.0 安卓手机版