繁体   English   中英

在C#中遍历datatable

[英]iterate through datatable in c#

我有一个这样的数据表。 我已经从sqlserver获得数据并存储在c#中的数据表中

 User       Svc     VSS
   kiran      6.5    8
   kiran      0.5    8
   manu       0.0   4.0
   manu       0.0   4.0
   Priya      9.0   0.7
   Priya      9.0   0.7
   Peter      4.5   1.5
   Peter     .0    .5

现在我需要在另一个数据表中这样的结果

   User       Svc     VSS
   kiran      7.0     16.0
   manu       0.0     8.0
   Priya      18.0    1.4
   Peter      4.5     6.5

我怎样才能达到这个结果集,

任何帮助将是可贵的
谢谢王子

如果使用TypeDataSet和表名= tableName,则可以使用linq轻松完成以下操作。

        var query = from row in tableName.AsEnumerable()
                    group row by row.User into Group                        
                    select new
                    {
                        User = Group.Key,
                        SvcSum = Group.Sum(r => r.svc),
                        VssSum = Group.Sum(r => r.vss)
                    };

        foreach (var grp in query)
        {
            Console.WriteLine("{0}\t{1}\t{2}", grp.User, grp.SvcSum, grp.VssSum);
        }

我已经通过创建表和项目对其进行了测试。 我认为这将对您有所帮助。 谢谢

最好的选择可能是将其聚合到存储过程中,而不是尝试遍历数据表。

select
   [User],
   sum(SVC),
   sum(VSS)
from
   DataTable
group by
   [User]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM