2010-12-16 3 views
0

면책 조항 : C# 및 WPF를 처음 사용하고 기능을 기존 코드에 추가했습니다.DataSet Compute MAX 값

db colum의 MAX 값을 계산하는 동안 문제가 있습니다.

은 내가 SudentID의 MAX 계산해야 StudentID, StudentName, StudentClass 을 가지고

테이블 Sutent_DB와 학생 데이터베이스가 (예 : 수)

것은 내가 DataSet.Table[Student_DB].Compute("MAX(StudentID)","") 에서 그 일을하고 그 어떤 숫자 개체 returing됩니다 (작업 파인)

지금 난 단지 = 5

즉 선택 StudentClass에 내 선택을 제한 할 :.여기 8,

나뿐만 SELECT 반환 내 발견에

솔루션을 DataRow를 맥스 (StudentID)을 계산하는 문제에 직면하고하는 것은

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

     iMax = oneNewrow["StudentID"] ; 

    } 

///use iMax here. 

그냥에 대한 더 나은 또는 간단한 솔루션을 확인하려면 내 문제.

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

답변

2

Compute의 두 번째 매개 변수는 필터입니다. 다음은 그 예입니다.

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

당신은 데이터 행의 배열에 객체 Linq에 사용할 수 있습니다 귀하의 쿼리에서 반환 :