/// <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. 在Win Server 2012中安装.NET Framework 3.5的问题

    在Windows Server 2012 上安装 SQL Server 2012 时,提示 启用 Windows 功能 NetFx3 时出错,错误代码:-2146498298.请尝试从 Windows ...

  2. C++: read access data using ADOX.DLL and System::Data::OleDb

    #pragma once #include "Form2.h" namespace cdemo { using namespace System; using namespace ...

  3. Java并发编程:synchronized

    Java并发编程:synchronized 虽然多线程编程极大地提高了效率,但是也会带来一定的隐患.比如说两个线程同时往一个数据库表中插入不重复的数据,就可能会导致数据库中插入了相同的数据.今天我们就 ...

  4. Ext.grid.Panel表格分页存储过程

    /*首先需要引入两个Extjs插件类 Ext.ux.data.PagingMemoryProxy和Ext.ux.ProgressBarPager这两个类*/ /*下面是控制弹出窗体放大缩小时窗体居中的 ...

  5. linux Centos 6.5 安装桌面环境GNOME

    在某种场合之下,我们使用的Linux还是要选择安装桌面环境的,所以在这里介绍一下如何给没有安装桌面环境的系统安装桌面环境.以Centos 6.5 为例演示一下如何安装桌面环境. 工具/原料 Linux ...

  6. Java经典实例:把字符串解析为日期时间

    Java版本:1.8开始 import java.time.LocalDate; import java.time.LocalDateTime; /** * Created by Frank */ p ...

  7. IO碰到的问题

    1.流关了,并不代表流对象为空 可是java并没提供查看流是否关闭的方法 不过如果流已经关闭了以后,再对流进行操作的话,会抛出IOException:Stream closed异常 可以根据这个异常来 ...

  8. 使用 SVG 动画实现弹性的页面元素效果

    Codrops 分享了一些给SVG元素加上弹性动画的灵感.实现的思路是把一个SVG元素整合成一个组件,然后从一个路径弹性动画到另一个.这种效果可以应用到像菜单,按钮或其它元素,使得交互更有趣,看起更原 ...

  9. Framer – 将视觉搞转换为更真实的动态原型

    Framer 是一个 JavaScript 框架,简化了创建现实原型,实现完整的3D效果.以一种简单,可读的和强大的方式定义交互和创建动画. 另外还有 Framer Generator  是一个桌面应 ...

  10. Shepherd – 在应用程序中轻松实现引导功能

    Shepherd 是一个指导用户使用应用程序的 JavaScript 库.它使用 Tether——另一个开源库,实现所有的步骤.Tether 确保你的步骤不会溢出屏幕或被剪裁.你可以很容易地指导用户使 ...