首页新闻找找看学习计划

linq 连接 两个datatable 进行sum计算

-1
[已关闭问题] 关闭于 2014-11-12 10:39

var result = (from DataRow dr in dt.Rows
                          join DataRow row in bgdl.Rows on dr["TDATETIME"] equals row["TDATETIME"] into a
                          from l in a.DefaultIfEmpty()
                          group l by new { TimePeriod = Convert.ToString(l["TDATETIME"]), Total = Convert.ToInt32(l["Total"]), BargainTo = Convert.ToDecimal(l["BargainTo"]) }
                              into b
                              orderby b.Key.TimePeriod ascending
                              select
                                  new
                                  {
                                      b.Key.TimePeriod,
                                      BargainTo = b.Sum(i => Convert.ToDecimal(i["BARGAINTO"])),
                                      b.Key.Total
                                  }).ToList();

dt 表结构  TDATETIME BARGAINTO
bgdl 表结构 TDATETIME Total
均为DataTable,通过 TDATETIME链接
对 dt 表的BARGAINTO 列 进行sum 计算

BargainTo = b.Sum(i => Convert.ToDecimal(i["BARGAINTO"])),[color=#FF0000] 该行报错 Column 'BargainTo' does not belong to table .[/color]
请教高手!
将两个table转换为 List<T>,就解决了;但还是想知道 用linq join两个datatable 统计怎么操作?是在没分了,抱歉啊

weblogical的主页 weblogical | 初学一级 | 园豆:6
提问于:2014-08-14 23:38
< >
分享
所有回答(2)
0

你把"BargainTo"改为"BARGAINTO"就行了。

爱编程的大叔 | 园豆:29841 (高人七级) | 2014-08-15 09:33
0

BargainTo = b.Sum(i => Convert.ToDecimal(i["BARGAINTO"])),

改为

b.Sum(i => Convert.ToDecimal(i["BARGAINTO"])),

试试

dudu | 园豆:39706 (高人七级) | 2014-08-16 14:05

好的,我试试

支持(0) 反对(0) weblogical | 园豆:6 (初学一级) | 2014-08-16 14:51

现在的错误

支持(0) 反对(0) weblogical | 园豆:6 (初学一级) | 2014-08-18 09:09

@weblogical: 


“BargainTo = b.Sum(i => Convert.ToDecimal(i["BARGAINTO"])),该行报错 Column 'BargainTo' does not belong to table .”。

对这句表示怀疑。BargainTo = Convert.ToDecimal(l["BargainTo"]) 这句倒是有可能报这个错误。确认l["BargainTo"],这个I属于的DataTable有没有"BargainTo"列。

支持(0) 反对(0) C#开发人员 | 园豆:181 (初学一级) | 2014-08-20 13:54

@C#开发人员: 可能我钻到死胡同了,茫然不知所措。

请大侠指点迷津!

支持(0) 反对(0) weblogical | 园豆:6 (初学一级) | 2014-08-20 14:39

@C#开发人员: 这句没错

支持(0) 反对(0) weblogical | 园豆:6 (初学一级) | 2014-08-20 15:09

@weblogical: 

你如何确认这句没错的?

支持(0) 反对(0) C#开发人员 | 园豆:181 (初学一级) | 2014-08-20 16:05

@C#开发人员: I'm sure.

支持(0) 反对(0) weblogical | 园豆:6 (初学一级) | 2014-08-20 16:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册