在线等!求2个dataset求差集

wzp646011267 2011-11-07 03:46:27
第一个:
id name age sex STATUS_FLAG
1 aaaa 22 男 0
2 bbbb 11 女 0
3 cccc 33 男 0
4 dddd 44 女 0


第二个:
id name age sex STATUS_FLAG
1 aaaa 22 男 1
2 bbbb 11 女 1
3 cccc 33 男 1
5 ssss 23 女 1

我现在要比较2个表中id,name,age三个条件不同的值,在程序中实现,不用sql(客观原因),求代码?
...全文
152 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wzp646011267 2011-11-07
  • 打赏
  • 举报
回复
又出问题了,,,我写例子的时候好好的,放项目就出问题了
        public void Judge(DataSet ocsDs, DataSet ctcDs)
{
DataTable ocsDt = ocsDs.Tables[0];
DataTable ctcDt = ctcDs.Tables[0];
IEnumerable<DataRow> ocsSeq = ocsDt.AsEnumerable();
IEnumerable<DataRow> ctcSeq = ctcDt.AsEnumerable();
var query = (
from t in ocsDt.AsEnumerable()
select new
{
DDT_NAME = t.Field<string>("DDT_NAME"),
TRAIN_ID = (Int32?)t.Field<int>("TRAIN_ID"),
START_TIME = (DateTime?)t.Field<DateTime>("START_TIME")
}
).Except
(
from t in ctcDt.AsEnumerable()
select new
{
DDT_NAME = t.Field<string>("DDT_NAME"),
TRAIN_ID = (Int32?)t.Field<int>("TRAIN_ID"),
START_TIME = (DateTime?)t.Field<DateTime>("START_TIME")
}
);
}




错误 1 “System.Data.EnumerableRowCollection<AnonymousType#1>”不包含“Except”的定义,并且找不到可接受类型为“System.Data.EnumerableRowCollection<AnonymousType#1>”的第一个参数的扩展方法“Except”(是否缺少 using 指令或程序集引用?)
wzp646011267 2011-11-07
  • 打赏
  • 举报
回复
好了 ,我弄出来了。
 DataSet ds1 =。。。
DataSet ds2=。。。
DataTable dt1 = ds1.Tables[0];
DataTable dt2 = ds2.Tables[0];
IEnumerable<DataRow> seq1 = dt1.AsEnumerable();
IEnumerable<DataRow> seq2 = dt2.AsEnumerable();
var query = (
from t in seq1
where
t.Field<int>("STATUS_FLAG") == 0
select new
{
id = (Int32?)t.Field<int>("id"),
name=t.Field<string>("name") ,
age = (Int32?)t.Field<int>("age")
}
).Except
(
from t in ds2.Tables[0].AsEnumerable()
where
t.Field<int>("STATUS_FLAG") == 1
select new
{
id = (Int32?)t.Field<int>("id"),
name = t.Field<string>("name"),
age = (Int32?)t.Field<int>("age")
}
);

abel_master 2011-11-07
  • 打赏
  • 举报
回复
从数据库中查询出来的时候可以不要sex STATUS_FLAG 这两个字段不
wzp646011267 2011-11-07
  • 打赏
  • 举报
回复
额,忘了说了,数据量10W+,2层循环扼杀了
13571863167 2011-11-07
  • 打赏
  • 举报
回复
用个for循环嵌套,应该很简单

111,119

社区成员

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

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

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