说明:

(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; } //对属性设置值用valuekeyword表示。将value用_name保存下来! 

        }

图示:

C# SQL 整表插入的更多相关文章

  1. C# SQL 整表插入 分类: C# 2014-09-17 16:18 369人阅读 评论(2) 收藏

    说明: (1)表A的一部分数据插入到表B (2)DataAccess 类,是放在DAL层下的底层类; da.StrConnection 写在DataAccess类中; //整表插入方法 private ...

  2. SQL多表插入事务处理

    新建两个需统一事务处理的数据表 --学生信息表 CREATE TABLE [dbo].[Student]( [Id] [int] NOT NULL, ) NOT NULL, [Age] [int] N ...

  3. 【SQL】SQL整表复制

    SQL Server中,如果目标表存在: 1 insert into 目标表 select * from 原表; SQL Server中,如果目标表不存在: 1 select * into 目标表 f ...

  4. SQL数据表插入随机数(转)

    declare @T TABLE (id int identity(1,1),[Name] nvarchar(20), Randnum int) insert @T ([Name]) select ' ...

  5. MySQL中的多表插入更新与MS-SQL的对比

    MySQL多表插入: INSERT INTO tdb_goods_cates (cate_name) SELECT goods_cate FROM tdb_goods GROUP BY goods_c ...

  6. 如何往有自增标识字段的表插入数据时,同时给自增标识字段插入值呢,在Inset Into语句前后加上SQL语句:SET IDENTITY_INSERT TableName ON和SET IDENTITY_INSERT TableName OFF

    当要往有设置自增标识字段的表插入数据,并希望同时设置好自增字段的值时,可以在insert into 的SQL语句前后分别加上一句sql语句,SET IDENTITY_INSERT TableName  ...

  7. SQL将一个表中的某一列值全部插入到另一个表中

    1.  SQL将一个表中的某一列值全部插入到另一个表中 插入的话: insert into a(col) select col from b; 更新的话: update a set col=selec ...

  8. 09Microsoft SQL Server 表数据插入,更新,删除

    Microsoft SQL Server 表数据插入,更新,删除 向表中插入数据 INSERT INTO insert into tb1 values(0004,'张凤凤') insert into ...

  9. sql将一个表中的数据插入到另一个表中

    sql将一个表中的数据插入到另一个表中 列名不一定要相同,只要你在HH中列出要插入列的列表跟select   from   mm表中的选择的列的列表一一对应就可以了,当然两边的数据类型应该是兼容的.  ...

随机推荐

  1. PHP杂技(一)

    逻辑运算符 &&和& ||和|的部分区别 返回结果类型不同, A||B 如果A为真那么B不会做判断,而A|B前后都做判断 switch判断中并不是===,更像是==,例如(1) ...

  2. ubuntu服务器与本地文件传输

    ubuntu SSH 连接.远程上传下载文件 博客分类: Ubuntu   安装 SSH(Secure Shell) 服务以提供远程管理服务 sudo apt-get install ssh SSH ...

  3. BZOJ1879 [Sdoi2009]Bill的挑战 【状压dp】

    题目 输入格式 本题包含多组数据. 第一行:一个整数T,表示数据的个数. 对于每组数据: 第一行:两个整数,N和K(含义如题目表述). 接下来N行:每行一个字符串. T ≤ 5,M ≤ 15,字符串长 ...

  4. Java面试题之线程与进程的区别

    进程是操作系统分配资源的最小单元: 线程是操作系统调度的最小单元: 一个程序至少有一个进程:一个进程至少有一个线程 每个进程对应一个JVM实例,多个线程共享JVM里的堆: 线程不能看做独立应用,而进程 ...

  5. TransactionProxyFactoryBean 配置问题

    <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...

  6. 常用快捷键以及linux命令整理

    关于快捷键的使用,网上有很多.自己在使用过程中不断整理用到的知识点.一个项目完成了就把涉及用到的快捷键和命令介绍给大家,都是一些比较基础的,常用的命令.希望大家有好的知识点,命令可以及时交流整理. 一 ...

  7. configure.ac:3: error: Autoconf version 2.68 or higher is required

    configure.ac:3: error: Autoconf version 2.68 or higher is required 参考博客:https://blog.csdn.net/pretty ...

  8. LeetCode OJ——Text Justification

    http://oj.leetcode.com/problems/text-justification/ 编译代码要看warnings!它提供了可能出问题的情况,比如类型转换上unsigned int ...

  9. Java 基础【04】数组内存分配

    可能Java 数组大家都很熟悉,最近我遇到了一个关于Java 数组内存分配的问题. 突然发现许多书上“基本数据类型存储在栈内存当中,对象则保存在堆内存”这句话完全是错误的.下面是个简单的例子代码: p ...

  10. Intellij IDEA创建项目

    问题:无Java文件 解决方案: 打开file下面的project structure,在main目录下新建java文件,并将java文件设置为 Sources属性 问题:无resouces 解决方案 ...