复制DataTabe的Rows到另一个DataTable

有时候我们需要将一个DataTable的每一行进行复杂的筛选,然后筛选出来的行要添加到另一个DataTable中:
例如:dt.Rows.Add(dr)   如果dr是来至另一个DataTable,那么会报错:dr已属于另一个DataTable
这是我们需要这样使用:dt.Rows.Add(dr.ItemArray)    相当于复制一个数组出来添加到新的DataTable中

下面是例子,将dt1的数据一行一行的复制到dt2中
dim dt1=ExecuteSelect("SELECT * FROM dual")  
dim dt2=dt1.Clone()

for each dr in dt1.Rows

dt2.Rows.Add(dr.ItemArray)
next

原文地址:http://bbs.delit.cn/thread-649-1-1.html

转载请注明出处:

撰写人:度量科技http://bbs.delit.cn/thread-649-1-1.html

时间: 2024-10-15 13:10:34

复制DataTabe的Rows到另一个DataTable的相关文章

如何从一个DataTable中复制数据行到另一个DataTable中

DataTable dt = ""; //这里是填充DataTable数据 DataTable dtNew = dt.Copy(); //复制dt表数据结构 dtNew.Clear() //清楚数据 for (int i = 0; i < dt.Rows.Count; i++) { if (条件语句) { dtNew.Rows.Add(dt.Rows[i].ItemArray); //添加数据行 } } ===前提:我们已经有一个DataTable的数据表 现在需要的只是其中的一

一个DataTable赋值给另一个DataTable的常用方法

DataView view = new DataView();view.Table = DataTableA;view.RowFilter = "itemType = 'book'";//itemType是DataTableA中的一个字段DataTableB= view.ToTable();或者:DataRow[] rows = DataTableA.Select("itemType = 'book'");DataTableB= DataTableA.Clone()

C# 直接创建一个DataTable,并为之添加数据(自定义DataTable) 转

DataTable dt=new DataTable("cart"); DataColumn dc1=new DataColumn("prizename",Type.GetType("System.String")); DataColumn dc2=new DataColumn("point",Type.GetType("System.Int16")); DataColumn dc3=new DataCol

新建一个DataTable(只针对一列)

1 /// <summary> 2 /// 新建一个DataTable(只针对一列) 3 /// </summary> 4 /// <param name="dataStr"></param> 5 /// <param name="titleName"></param> 6 /// <returns></returns> 7 private DataTable NewDa

新建一个DataTable如何手动给其添加多条数据!

早晨起来,想起昨天利用winform做类似于sqlserver数据库导入数据功能的时候,用到了新建一个DataTable手动给其添加多条数据,平时用不到,需要的时候想不起来了,这次不妨把他记下来.以下是代码,很简单. //声明并实例化datatable DataTable dt = new DataTable(); //实例化三个列            DataColumn dc1 = new DataColumn("factoryName",System.Type.GetType(

条款12:复制对象时请勿忘每一个成分

条款12:复制对象时请勿忘每一个成分 当为一个类实现自己的构造函数,相关赋值函数,析构函数,则必须有责任对类中的每一个成员进行初始化.赋值.释放.因此:如果为一个类添加一个成员,就必须同时相应修改上面几类函数. 看一个简单的类 class Terminal { Terminal(const int termid) : m_termId(termid) {} ~Terminal() {} Terminal(const Terminal & terminal) { this->m_termId

将DataTable某一列的值整体赋值给 另一个DataTable;

foreach (DataColumn dt in _ds.Tables[0].Columns) { foreach (var str in _str2Array[0]) { if(dt.ColumnName.Trim() == str) { //DataTable删除指定列 _table.Columns.ReMove(dt); } } } //将 DataTable某一列的值,赋值给 另一个DataTable; DataView view = _ds.Tables[0].DefaultView

Effective C++ 条款11,12 在operator= 中处理&ldquo;自我赋值&rdquo; || 复制对象时不要忘记每一个成分

1.潜在的自我赋值     a[i] = a[j];     *px = *py; 当两个对象来自同一个继承体系时,他们甚至不需要声明为相同类型就可能造成别名. 现在担心的问题是:假如指向同一个对象,当其中一个对象被删,另一个也被删,这会造成不想要的结果. 该怎么办? 比如:   widget& widget:: operator+ (const widget& rhs) {    delete pd;    pd = new bitmap(*rhs.pb);    return *thi

Postgresql流复制切换的时候遇到的一个小问题

Pg10搭建了流复制主备切换 配置主库10.10.10.13 pghost4备库10.10.10.14 pghost5 测试主库出现问题,停止后,备库自动切换成为新主库.老主库现在应该是备库了,启动它验证状态.发现备库启动不起来.通过以下方法,备库启动了. 新备库通过pg_ctl start启动,出现告警日志. [[email protected] ~]# su - pg10[email protected]>pg_ctl startwaiting for server to start....