C# SQL 整表插入 分类: C#

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 17:42   1072   0

说明:

(1)表A的一部分数据插入到表B

(2)DataAccess 类,是放在DAL层下的底层类;

da.StrConnection 写在DataAccess类中;


//整表插入方法

private void InsertTable() {

DataAccess da = new DataAccess();
string sql=" select 0,字段1,字段2,字段3.. from 表A where MainTop_ID in (" + mainID + ")";

DataTable dt = new DataTable();

dt = DataAccess.GetDataSet(sql, false, null).Tables[0]; //把查询结果放到表dt中

using (SqlBulkCopy sqlBC = new SqlBulkCopy(da.StrConnection)) {

//一次批量的插入的数据量

sqlBC.BatchSize = 100000;
//超时之前操作完成所允许的秒数,如果超时则事务不会提交 ,数据将回滚,所有已复制的行都会从目标表中移除
sqlBC.BulkCopyTimeout = 60;

//設定 NotifyAfter 属性,以便在每插入10000 条数据时,呼叫相应事件。
sqlBC.NotifyAfter = 10000;
// sqlBC.SqlRowsCopied += new SqlRowsCopiedEventHandler();
//设置要批量写入的表
sqlBC.DestinationTableName = "表B";
//批量写入
sqlBC.WriteToServer(dt);
}

}


private static string strConnection = ""; //变量记录连接字符串

public string StrConnection
{
get { return strConnection; } //返回成员变量_name的值
set { strConnection = value; } //对属性设置值用value关键字表示,将value用_name保存下来!
}

图示:


版权声明:本文为博主原创文章,未经博主允许不得转载。

转载于:https://www.cnblogs.com/Jackerson/p/4632001.html

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP