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

暴雪清理王app下载-暴雪清理王手机版1.0.0 安卓最新版
开局五个亿安卓版下载-开局五个亿游戏1.0.0 手机版
企业名录app1.5.1 安卓版
快期交易终端-中信建投二席快期期货交易终端2.90.9.55官方版
漫游社区APP官方下载手机版-漫游社区软件1.32 最新版
wifi换机助手下载安装-wifi换机助手免费版1.7.5 安卓版
师傅不可以在线玩-橙光游戏师傅不可以网页版
御神师手游下载-御神师安卓版0.1.1 最新版
华人捕鱼赢话费下载-华人捕鱼送话费1.2.0 安卓版
魔法师大冒险下载-开罗魔法师大冒险1.3.8 最新版
麻花视频app官方下载追剧最新版-麻花视频在线观看电视剧安卓最新版7.0.0 纯净版
AKu app下载-安卓开源库AKu软件1.1 手机免费版
新境艺校安卓版下载-新境艺校app2.0.1 官方安卓版
Honeyview蜂蜜浏览器绿色版下载-Honeyview蜂蜜浏览器pc端1.0.0 最新版
上古修仙诀游戏下载-上古修仙诀手游3.2.4 最新版
小手帕app下载-小手帕app2.0.1 安卓版
易云安防app-易云安防(易云智能安防app)v2.0.0 专业免费版
代号斩GM刷充版下载-代号斩送GM异兽刷充版1.0.0 送洪荒神兽
悠途-城际出行3.9.2 乘客版
造一个女朋友手游下载-造一个女朋友手机版0.1 安卓最新版