0
可以说,我有两个数据表DT1和DT2,我添加行DT1和做的AcceptChanges,然后DT2 = dt1.Copy并继续添加行DT2如何比较两个DataTable并返回差异?
例1: -
dt1 dt2
--------------- ---------------
| item | qty | | item | qty |
--------------- ---------------
| Apple | 1 | | Apple | 1 |
| Orange| 1 | | Orange| 1 |
--------------- | Banana| 2 |
---------------
Dim dt_compare as DataTable = dt2.GetChanges()
dt_compare
---------------
| item | qty |
---------------
| Banana| 2 |
---------------
上述结果是我所得到的,这是我想还可以,但请拿上例题
例题一看: -
dt1 dt2
--------------- ---------------
| item | qty | | item | qty |
--------------- ---------------
| Apple | 1 | | Apple | 1 |
| Orange| 1 | | Orange| 10 |
--------------- ---------------
Dim dt_compare as DataTable = dt2.GetChanges()
dt_compare
---------------
| item | qty |
---------------
| Orange| 10 |
---------------
如果我只是改变了VAL当我使用GetChanges()时,它会返回相同的值。我怎样才能得到结果9而不是10?
你要求的数量有什么区别?即dt2.qty-dt2.qty?你必须自己做。 GetChanges查找数据中的绝对更改。它说“是否有区别”,然后报告是/否,并列出更改。它不知道你想要对这些数据进行什么数学运算 - 毕竟,这只是偶然,即使在数字字段上也是如此。然后,可能会有许多不同的可能计算,它应该如何知道你需要什么?但它给了你机会 - 现在你知道有一个区别,你可以做自己的计算来适应自己。 – ADyson