如何将行从DataTable复制到另一个DataTable而不删除现有行?

时间:2015-06-18 03:27:02

标签: c# .net datatable ado.net

如何将行从一个DataTable复制到另一个?使用 export PS1="\[\033[36m\]\u\[\033[m\]@\[\033[32m\]\h:\[\033[33;1m\]\w\[\033[m\]\$ " export CLICOLOR=1 export LSCOLORS=ExFxBxDxCxegedabagacad alias ls='ls -GFh' 不是一个选项,因为这会创建一个新的DataTable并删除任何现有的DataRows。我要做的是将<div id="main-nav"> 中的行添加到另一个表中。是否有一些方法可以做到这一点?或者是遍历所有表格和行并调用DataTable.Copy()我唯一的选择?

[UPDATE] 好的,这是完整的方案。我有一个包含200万条记录的DataTable。加载它会抛出List<DataTable>。所以,我决定我需要页面/批量加载它。我正在使用DataTable.ImportRow()创建目标表,以便仅加载列。之后,我使用System.OutOfMemoryException(另一个DataTable)获取“完整记录”,然后将其拆分为DataAdapter.FillSchema()。使用DataAdapter.Fill()时,抛出此异常:“无法启用约束。一行或多行包含违反非null,唯一或外键约束的值。”

1 个答案:

答案 0 :(得分:1)

我尝试合并,迈克尔用以下代码说,并为我工作。

DataTable table = new DataTable();
table.Columns.Add("Name");
table.Columns.Add("Address");

table.Rows.Add("Shan", "ADC Street");

DataTable table2 = new DataTable();
table2.Columns.Add("Name");
table2.Columns.Add("Address");
table2.Rows.Add("Raj", "EFG Street");

table2.Merge(table,true);

Console.WriteLine(table2.Rows.Count);      //2
Console.WriteLine(table2.Rows[0]["Name"]); //Raj
Console.WriteLine(table2.Rows[1]["Name"]); //Shan