【发布时间】:2018-07-02 08:52:59
【问题描述】:
我试图在 c# 中循环一个 DataTable 并从单元格中获取值。根据选择的月数,收到的数据可能看起来像这样。
Total Year Month TypeId
466 2018 1 1
77 2018 1 2
471 2018 2 1
58 2018 2 2
459 2018 3 1
151 2018 3 2
第 1 个月等于 1 月。我将如何根据输入的日期拆分这些数据,所以如果有人正在寻找 3 月份的数据,我想将 3 月份的总数加起来 (459 + 151)
这是我现在的代码。
if (ds.Tables.Count > 0)
{
foreach (DataTable table in ds.Tables)
{
foreach (DataRow row in table.Rows)
{
result.Total = Convert.ToInt32(ds.Tables[0].Rows[0]["Total"]);
}
}
}
【问题讨论】:
-
您的代码似乎效率很低。 SQL 版本可能是更好的选择。
-
DataSet 中是否不止一个 DataTable?您是否尝试过 dataTable.Select() 方法来过滤数据?
-
我同意@MaciejLos 发出第二个 SQL 命令来完成这个简单的操作会更加直接和快捷。