请教DataTable 中 Getchanges的用法

wirner 2016-10-23 12:19:25
本来做了一个Demo,测试两个TableA和TableB数据的变化,然后得到变化中的数据。


for (int x = 0; x < 500; x++)
{
DataRow dr1 = TableA.NewRow();
dr1["ID"] = x;
dr1["a"] = "a" + Convert.ToString(x);
dr1["b"] = "b" + Convert.ToString(x);
dr1["c"] = "c" + Convert.ToString(x);
dr1["d"] = "d" + Convert.ToString(x);
TableA.Rows.Add(dr1);

}

for (int x = 0; x < 800; x++)
{
DataRow dr1 = TableB.NewRow();
dr1["ID"] = x;
dr1["a"] = "a" + Convert.ToString(x);
dr1["b"] = "b" + Convert.ToString(x);
dr1["c"] = "c" + Convert.ToString(x);
dr1["d"] = "d" + Convert.ToString(x);
TableB.Rows.Add(dr1);

}

TableA.WriteXml("D://TableA.xml");

TableB.WriteXml("D://TableB.xml");

TableA.AcceptChanges();

TableA.Merge(TableB);

TableA.WriteXml("D://TableAA.xml");

DataTable changesTable = TableA.GetChanges();

changesTable.TableName = "ChangeTable";

changesTable.WriteXml("D://ChangeTable.xml");


但是changesTable得到整个TableA的数据,而不是TableA和TableB合并后,TableA变化的数据。请教问题出在那里了?
...全文
434 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wirner 2016-10-24
  • 打赏
  • 举报
回复
没人搞过呀
wirner 2016-10-23
  • 打赏
  • 举报
回复
我想验证下data的getcganges功能。方便但是不得不到我两个datatable的差集
wirner 2016-10-23
  • 打赏
  • 举报
回复
我想验证下data的getcganges功能。方便但是不得不到我两个datatable的差集
SoulRed 2016-10-23
  • 打赏
  • 举报
回复
这种情况我建议你直接用LINQ TO SQL 加入DBML文件,直接有事件处理,或者用EF7也可以,何必自己写这么麻烦的函数,C#的目的就是开发效率,你这样就不如去C++啦

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧