将一行从一个数据表复制到另一个数据表

时间:2012-04-26 08:55:19

标签: c# asp.net ado.net datatable datarow

我有两个数据表,一个有几行,另一个是空的。 我在第一个循环上运行循环将一些行复制到另一个表。 我收到错误'该行已经属于另一个表'。

有没有办法将DataRows逐个复制到其他DataTable。

提前致谢

2 个答案:

答案 0 :(得分:27)

使用

newtable.ImportRow(oldtable.Rows[i]) 

其中i是所需的行号。

,如http://support.microsoft.com/kb/308909/en-us

中所述

答案 1 :(得分:3)

复制ItemArray,当然只有当列相同时才能工作

var dtCopyTo = new DataTable();
foreach(var rowCopyFrom in dtCopyFrom.Rows)
{
    var updatedDataRow = dtCopyTo.NewRow();
    updatedDataRow.ItemArray = rowCopyFrom.ItemArray;
    dtCopyTo.AddRow(updatedDataRow);
}

ps:代码是在没有ide的情况下键入的,所以请检查语法pls