免责声明:我是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.
只想为我的问题检查任何更好或更简单的解决方案。
答案 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"]);