C# 如何取出两个dataset不同的项
我需要将ds0.Tables[1],与ds1.Tables[1]中不同的项取出来,C#如何实现?谢谢!用循环的方式我觉得效率不高,假设ds0.Tables[1]中有N条数...
我需要将ds0.Tables[1],与ds1.Tables[1]中不同的项取出来,C#如何实现?
谢谢!
用循环的方式我觉得效率不高,假设ds0.Tables[1]中有N条数据,ds1.Tables[1]中有M条数据,则需要循环N*M次才能比较完。
我是想.net 中是否有取两个tables相减的语法,不知各位有没有好的办法?
我目前的代码,可以找出数据不同的行,但找不出新增的行:
DataTable dt3 = ds0.Tables[1].Clone();
for (int i = 0; i < ds1.Tables[1].Rows.Count; i++)
{
DataRow[] dr = ds1.Tables[1].Select("relUrl='" + ds0.Tables[1].Rows[i]["relUrl"] + "' and publishTime <>'" + ds0.Tables[1].Rows[i]["publishTime"]+"'");//用datatable自带的select方法,效率问题的话,第一次检索几W条也就几秒吧,第二次就很快了
foreach (DataRow row in dr)
{
dt3.ImportRow(row);//得到修改日期不一样的数据..
}
} 展开
谢谢!
用循环的方式我觉得效率不高,假设ds0.Tables[1]中有N条数据,ds1.Tables[1]中有M条数据,则需要循环N*M次才能比较完。
我是想.net 中是否有取两个tables相减的语法,不知各位有没有好的办法?
我目前的代码,可以找出数据不同的行,但找不出新增的行:
DataTable dt3 = ds0.Tables[1].Clone();
for (int i = 0; i < ds1.Tables[1].Rows.Count; i++)
{
DataRow[] dr = ds1.Tables[1].Select("relUrl='" + ds0.Tables[1].Rows[i]["relUrl"] + "' and publishTime <>'" + ds0.Tables[1].Rows[i]["publishTime"]+"'");//用datatable自带的select方法,效率问题的话,第一次检索几W条也就几秒吧,第二次就很快了
foreach (DataRow row in dr)
{
dt3.ImportRow(row);//得到修改日期不一样的数据..
}
} 展开
6个回答
展开全部
没搞懂你的意思,是把ds0.Tables[1],与ds1.Tables[1]中相同的不管 不同的拿出来? 再dataset中可以使用sql语句进行干活的具体的语句你可以先查查 试试 我以后回家了查查msdn再告诉你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
上面的说的很清楚了,如果弄明了点就是分别将dataset里面的table赋值给两个table里面,然后对这两个table进行row,column判断,看哪些列是你想要的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用循环 进行判断
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没明白你说的意思,如果只是取两个dataset里的数据,很简单啊
ds0.Tables[1].rows[i][j] 调用这个,就能取得你想要的数据啊
ds0.Tables[1].rows[i][j] 调用这个,就能取得你想要的数据啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用循环 进行判断
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询