【发布时间】:2015-07-15 08:37:06
【问题描述】:
我有以下代码:
DataTable datTable3 = new DataTable();
datTable3 = datTable1.Clone();
datTable2.Merge(datTable1);
datTable3 = datTable2.GetChanges();
我想做的是:将 DataTable1 与 DataTable2 进行比较,当 DataTable1 中有不在 DataTable 2 中的行时,将这些行添加到新的 DataTable(3) 中。尽管第一个 dt 中的行不等于我的第二个 dt 中的行,但上面的这段代码每次都给我一个空的 DataTable3。我究竟做错了什么?抱歉,这个问题可能太简单了,但我使用 C# 已有几个月了。
编辑:我发现这个解决方案对我不起作用...为什么?
DataTable datTable3 = new DataTable();
datTable3 = datTable1.Clone();
foreach (DataRow row in datTable1.Rows)
{
datTable3.ImportRow(row);
}
foreach (DataRow row in datTable3.Rows)
{
row.SetAdded();
}
datTable2.Merge(datTable3);
DataTable datTableFinal = datTable2.GetChanges(DataRowState.Added);
// shows me a datatable with again the values from datTable1
// even if they are already in datTable2!
datTable2.RejectChanges();
datTable1.RejectChanges();
【问题讨论】:
标签: c# winforms datatable merge