/// <summary>

/// 构建测试数据表

/// </summary>

/// <returns></returns>

private DataTable GetTB()

{

//定义表结构

DataTable dt = new DataTable();

dt.Columns.Add("FactoryId");

dt.Columns.Add("FactoryName");

dt.Columns.Add("FactoryDescribe");

dt.Columns.Add("FactoryCode");

dt.Columns.Add("IsActivation");

dt.TableName = "TbFactor";

//填充数据

dt.Rows.Add("1", "河北钢铁", "集团总公司", "1000", 1);

dt.Rows.Add("2", "唐山钢铁", "集团子公司", "1001", 0);

dt.Rows.Add("3", "宣化钢铁", "集团子公司", "1002", 0);

dt.Rows.Add("4", "宝钢", "宝山钢铁集团", "2000", 1);

return dt;

}

/// <summary>

/// 表的复制(结构和数据)及行的复制示例

/// </summary>

private void TableDemo()

{

DataTable dt = GetTB();

DataTable dt2 = dt.Clone();//克隆表结构

DataTable dt3 = dt.Copy();//复制表结构和数据

if (dt.Rows.Count > 0)

{

// 示例1:复制指定的行到新表

foreach (DataRow dr in dt.Rows)

{

if (dr["FactoryId"].ToString() == "1" && dr["IsActivation"].ToString() != "1")

{

dt2.ImportRow(dr);//复制行数据到新表

}

}

//示例2: Copy from the results of a Select method

/ /select返回的是一个行数组DataRow[]

foreach (DataRow dr in dt.Select("FactoryId='1'"))

{

dt2.ImportRow(dr);//复制行数据到新表

}

//示例3:Copy from the results of a DataView.

DataView dv = dt.DefaultView;

dv.RowFilter = "FactoryCode = '1002'";

foreach (DataRowView rv in dv)

{

dt2.ImportRow(rv.Row););//复制行数据到新表

}

}

}

C# 表复制和数据行的复制说明(Clone、ImportRow 、Copy )的更多相关文章

  1. 传智播客JavaWeb day09-mysql入门、数据库操作、数据库表操作、数据行操作

    不知不觉已到了第九天了,今天主要讲了关系数据库的基本概述.安装.数据库.表和数据行的操作 1. 基本概述 1.1 数据库就是用来存储数据的.早期是存在文件里面的操作起来效率低而且不是很安全. 1.2 ...

  2. [K/3Cloud] 单据新增、复制、新增行、复制行的过程

    整单复制:先执行CopyData(获得数据包),在执行AfterCreateNewData(可处理数据包),不会执行AfterCreateNewEntryRow 单据新增:先执行AfterCreate ...

  3. SQL SERVER 查询所有数据表名称和数据行数

    SELECT a.name, b.rows FROM sysobjects AS a INNER JOIN sysindexes AS b ON a.id = b.id WHERE ( a.type ...

  4. SQL Server 复制表结构以及数据,去除表中重复字段

    --复制另一个数据库中的某张表的结构及数据--select * from Test.dbo.TestTable(查询表中所有数据) --into [表名] 插入当前数据库新表,如果没有该表就创建 se ...

  5. Cassandra1.2文档学习(3)——数据分配和复制

    参考文档:http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/architecture/a ...

  6. (转载)MySQL 统计数据行数 Select Count

    (转载)http://www.5idev.com/p-php_mysql_select_count.shtml 统计数据行数 SELECT COUNT() FROM 语法用于从数据表中统计数据行数. ...

  7. SQL学习之Insert的特殊用法(插入检索出的数据,表之间的数据复制)

    1.插入检索出的数据 select * from dbo.Customers_1

  8. 复制excel表,往excel表中写入数据

    import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import jav ...

  9. MySQL 复制表(表结构、表结构和数据)

    MySQL 中使用 命令行 复制表结构及数据的方法主要有以下几种: 1.只复制表结构 CREATE TABLE new_table SELECT * FROM old_table WHERE 1=2: ...

随机推荐

  1. Linq和Lamda表达式的简单处理方式

    一 什么是LINQ? LINQ即Language Integrated Query(语言集成查询),LINQ是集成到C#和Visual Basic.NET这些语言中用于提供查询数据能力的一个新特性. ...

  2. 别误用IsDigit与IsNumber函数(转)

    1.起因 最近发现程序中有一段控制TextBox数字输入的代码,相信大家都不会太陌生,如下: void int_KeyPress(object sender, KeyPressEventArgs e) ...

  3. EC笔记,第一部分:2.尽量以const,enum,inline代替#define

    02.尽量以const,enum,inline代替#define 原因:编译前的预处理会替换宏,所以调试的时候找不到错误 1.const 尽量用const替代常量宏定义 两种特殊情况: (1).常量指 ...

  4. 修正 XE5 Android 键盘三个问题

    说明:XE5 在 Android 平台上存在这一些键盘操作的问题,目前发现有下列几种: 按键盘上的隐藏键后,无法按上一页(需要修改 XE5 源码「FMX.VirtualKeyboard.Android ...

  5. Gitblit中采用Ticket模式进行协作开发

    Git目前的代码分支管理模型中,比较主要的有Git-Flow.Github Pull Request.大家日常或多或少都在用着. 在不想安装Gitlab这种重量级的环境的情况下,如果是利用git一步步 ...

  6. Intellij Idea上传本地项目到Git

    方法一:选择菜单VCS-Import into Version Control - Share project on Github,填写仓库名和github账户之后,点击"Share&quo ...

  7. 《构建高性能web站点》随笔 无处不在的性能问题

    前言– 追寻大牛的足迹,无处不在的“性能”问题. 最近在读郭欣大牛的<构建高性能Web站点>,读完收益颇多.作者从HTTP.多级缓存.服务器并发策略.数据库.负载均衡.分布式文件系统多个方 ...

  8. PHP 单例模式继承的实现方式

    /** * @author xiaojiang * 方式1 */ class father{ static $models = []; static public function getInstan ...

  9. Jquery实际应用,判断radio,selelct,checkbox是否选中及选中的值

    jquery取radio单选按钮的值 $("input[name='items']:checked").val();  另:判断radio是否选中并取得选中的值 如下所示: fun ...

  10. 6to5 – 让你即刻体验 ECMAScript 6 编程

    ECMAScript 6 是下一代的 ECMAScript 标准.ECMAScript 6 的目标是让 JavaScript 可以用来编写复杂的应用程序.函数库和代码的自动生成器. ES6 是这门语言 ...