DestinationTableName属性定义了要复制表的目标名称
ColumnMappings返回一个SqlBulkCopyColumnMapping项集合,SqlBulkCopyColumnMappingCollection.Add方法参数为数据源类名称,目标表中目标列的名称.也可以先定义一个SqlBulkCopyColumnMapping,然后使用Add方法添加,SqlBulkCopyColumnMapping主要用于与目标数据表的表结构不一致的情况
NotifyAfter指定生成通知事件之前要处理的行数,指定在每次处理行完成的时候发生的事件,比如每次复制了1000行以后就提示1000行复制完成
NorthWindBulkOp.SqlRowsCopied+=
newSqlRowsCopiedEventHandler(OnRowsCopied);
最后WriteToServer方法,把SqlDataReader复制到指定的表中。2017年8月桌面日历壁纸下载-2017年8月日历桌面壁纸高清无水印版
这两天公司让做一个导数据的功能,从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语句的工具。
展开

亮晶晶闪闪王国3dm下载-亮晶晶闪闪王国PC联机版免安装硬盘版
Win10 RS3 Build 16170快速预览版下载-Windows 10 Insider Preview Build 16170 iso镜像官方正式版
多多买菜司机app下载-多多买菜司机版5.8.0 最新版
仙剑奇侠传7试玩版破解下载-仙剑奇侠传7试玩破解版免预约版
全民大拉轰果盘客户端下载-全民大拉轰果盘版2.0.2 安卓果盘版
一千克拉女王职场逆袭下载-一千克拉女王职场逆袭版1.1.6最新版
老k一键电音-创新集成声卡一键电音软件7.5 破解增强版 【永久免费版】
精明购官网下载app-精明购(超市优惠促销)4.6.2 刷精明豆版
腾乐汇app下载-腾乐汇官方版1.0.1 安卓版
模拟人生4全年龄女性美瞳MOD
Meta扫描软件下载安装-Meta扫描工具软件1.0.0 官方版
列王的纷争折扣端一折下载-列王的纷争折扣平台版11.04.0 最新版
初二物理第一课ppt-八年级物理第一课ppt课件免费版【共7页】
四叶草便签本pc下载-四叶草便签本2.1.1 最新版
Rocket Dash游戏下载-Rocket Dash手游1.0 安卓版
2016七夕情人节活动经典广告词合集-2016七夕情人节广告语大全word完整免费版
DocPad记事本软件官方下载-DocPad记事本1.0 免费版
天下霸域手游安卓版下载-天下霸域官方正版手游2.0 官方安卓版
环球学员app1.3.4 安卓版