我有两张桌子:DataTable dt_o;
和DataTable dt_m;
dt_m
的内容:
ID | Name | Age
--------------------------------------
08 | Farel | 18
07 | Ema | 18
10 | Sophie | 19
11 | Cyril | 12
dt_o
的内容:
ID | Name | Age
--------------------------------------
08 | Farel | 19
07 | Ema | 18
10 | Sophie | 19
来自dt_m
的{{1}} ID
行应设置为08
,因为其中一列的值在另一个表中的值不同[ row.SetModified()
]
并且dt_o
与dt_m
ID
的行应设置为11
,因为它不存在于另一个表中... < / p>
和行的其余部分,行状态将设置为row.SetAdded()
..
任何代码建议?
答案 0 :(得分:1)
我会使用这篇文章的答案在表格中搜索您正在寻求的指定要求:how to search the dataset for specific data
然后根据您想要的内容设置返回的行的状态。例如:
dataSet.AcceptChanges(); //If you'd like to start with everything as "unchanged"
foreach(DataRow row in rowsReturnedFromQuery1)
row.SetAdded();
foreach(DataRow row2 in rowsReturnedFromQuery2)
row2.SetModified();
希望这会有所帮助。我确信你也可以使用Linq来做到这一点。