再次询问关于两个DataTable数据过滤的问题
之前发了个贴,因为怕问题太复杂就简单表达了下,但发现跟实际的遇到的问题有很大出入,所以再次向大家求助下。。
个人表达能力不是很好,麻烦各位有心的朋友可以看清楚我的问题,谢谢了!
我有两个数据结构一样的两个DataTable(dt1、dt2),dt1有49000多条数据,dt2有47000多条数据,现在想将dt1和dt2做比较,把新的数据都存入dt2的数据库,更新过的数据更新,已删除的数据删除。
因两个DataTable数据来源于不同数据库,数据库结构有不一样(更新、删除dt2数据库的数据需要id,但dt1数据库没有id,DataTable的id列数据为空)。
我写了个方法来判断,方法如下:
foreach (DataRow dr1 in dt1.Rows){ foreach (DataRow dr2 in dt2.Rows) { if (dr1["No"].ToString() == dr2["No"].ToString())//数据编号,不是id值 { //判断其它列数据是否一样 if (相同) dr1.Delete(); else dr1["id"] = dr2["id"];//id用更新dt2数据库 dr2.Delete(); dr2.AcceptChanges();//这里有点问题 break; } } }dt1.AcceptChanges();