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

疯狂快跑达人游戏下载-疯狂快跑达人1.0.0 安卓版
掌上兰州-兰州本地生活资讯app6.4.0 安卓最新版
推房神器(房产营销助手)2.5.8 安装版
万龙觉醒官方下载-万龙觉醒国服最新版1.0.29.21 安卓版
Alone Wars下载-Alone Wars手游1.3 安卓最新版【附数据包】
江南出行app下载-江南出行安卓版5.5.2 最新版
百邦驾考通下载安装-百邦驾考通app1.1.3最新版
爱之城下载安装-爱之城游戏官方正版(BIG NAME: City Lovin)0.31.1 中文版
星河舰队游戏下载-星河舰队手游官方版1.0.0 安卓手机版
中央12台守护明天观后感-守护明天性侵害观后感【300字+400字+500字+600字+700字】精选版
简阅小说软件下载-简阅小说app4.51 手机最新版
智慧小酷app官方下载-智慧小酷安卓版3.0 最新版
帝国远征游戏下载-帝国远征1.0 手机版
电子病历管理系统-捷倍电子病历管理系统1.1 试用版
智慧安全家下载-智慧安全家app1.1.8 安卓版
智能宿迁app2.1.7 安卓手机版
心愈小镇客户端下载-心愈小镇5.0.2 安卓单机版
智慧国土app官方下载安装最新版-智慧国土app云南国土资源职业学院V7.2.26 最新版
梦回原始传奇手游下载-梦回原始传奇游戏1.9.741单机版
圣域2修改工具-圣域2八项属性修改器+8v2.2 中文版