C# 中两个DataSet比较问题
导入一个Excel文件,存放在了一个dsDao(DataSet)中;再从数据库查询了一个集合放在dsNew(DataSet)中;这2个结果集结构都相同。现在要对2个Dat...
导入一个Excel文件,存放在了一个dsDao(DataSet)中;
再从数据库查询了一个集合放在dsNew(DataSet)中;
这2个结果集结构都相同。
现在要对2个DataSet比较,当然以dsNew结果集的数据为准,如果dsDao中的某条数据和dsNew中的不一样,修改dsDao中的这条
数据的最后一列给一个错误状态。 展开
再从数据库查询了一个集合放在dsNew(DataSet)中;
这2个结果集结构都相同。
现在要对2个DataSet比较,当然以dsNew结果集的数据为准,如果dsDao中的某条数据和dsNew中的不一样,修改dsDao中的这条
数据的最后一列给一个错误状态。 展开
5个回答
展开全部
或许你可以把dataset里面的数据导到两个List里面,通过List.FindAll(delegate(){.....})的方法,效率可能高一点。
当然list里面的数据是什么取决于你要导入的差异的字段里的值。
当然list里面的数据是什么取决于你要导入的差异的字段里的值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不能直接比么
lz的问题是 比较之後更新dsDao 然後道入excel吗
比较的时候 如果是字符串
if(dsDao[i][j].ToString()!=dsNew[i][j].ToString())
不就行了 还是lz的问题是修改不了dsDao中的值?
lz的问题是 比较之後更新dsDao 然後道入excel吗
比较的时候 如果是字符串
if(dsDao[i][j].ToString()!=dsNew[i][j].ToString())
不就行了 还是lz的问题是修改不了dsDao中的值?
追问
这样不行,效率太慢,还有什么好办法么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果数据量大,用sql将Excel导入到数据库临时表中,然后使用sql进行比较。如果数据量小,循环比就是了。
追问
这样会不会还是影响效率啊?2个dataSet里边的数据都有超过5W数据了。
追答
用数据库比较比写循环要快多了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没想到啥好方法,笨方法就是遍历对比吧
for ds.tables再for table.rows,然后再for table.column。。。
for ds.tables再for table.rows,然后再for table.column。。。
追问
大量数据的话效率太低了。。
追答
看看dataset的merge能不能派上用场,说明比较长,我直接发个连接你看看
http://msdn.microsoft.com/zh-cn/library/ms135417(v=VS.85).aspx
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
邮箱,我最近刚好写过一个类似的。。
追问
365942641@qq.com
谢谢啊
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询