DataSet Compute MAX Value

时间:2010-12-16 12:52:17

标签: c# dataset

免责声明:我是C#和WPF的新手并且正在添加功能              现有代码。

我在计算时遇到问题 db colums的MAX值。

我有一个带有Sutent_DB表的学生数据库

具有StudentID,StudentName,StudentClass 我必须计算SudentID的MAX(即:数字)

我是从DataSet.Table[Student_DB].Compute("MAX(StudentID)","")开始的 这是一个数字对象。(工作正常)

现在我想将我的选择限制为仅选择StudentClass = 5

ie:DataSet.Table[Student_DB].Select("StudentClass=5");

这里我面临一个问题,即当SELECT返回DATAROW

时计算MAX(StudentID)

我的发现中的解决方案是

  int iMax=0;
  foreach ( DataRow oneNewrow DataSet.Table[Student_DB].Select("StudentClass=5"))
    {
       if iMax < oneNewrow["StudentID"]  

         iMax = oneNewrow["StudentID"]  ;

    }

///use iMax  here.

只想为我的问题检查任何更好或更简单的解决方案。

2 个答案:

答案 0 :(得分:2)

Compute的第二个参数是过滤器:

int maxId = (int)DataSet.Table[Student_DB].Compute("MAX(StudentID)","StudentClass=5");

答案 1 :(得分:0)

您可以在查询返回的DataRows数组上使用Linq to Objects。这是一个例子:

int iMax = DataSet.Table[Student_DB].Select("StudentClass=5")).Max(row => row["StudentID"]);