16,722
社区成员




Private Function SubjectScoreInNum(ByVal iTestID as Integer, ByVal strSubject As String) As Integer
Private hmzx As New HMZXEntities()
Dim iInNumber = 0
Select Case strSubject
Case "语文"
Dim num = Aggregate ts In hmzx.Grade3TestScore
Where ts.TestID = iTestID And ts.Chinese2 > 0
Into Count()
iInNumber = num
Case "数学"
Dim num = Aggregate ts In hmzx.Grade3TestScore
Where ts.TestID = iTestID And ts.Maths2 > 0
Into Count()
iInNumber = num
Case "英语"
Dim num = Aggregate ts In hmzx.Grade3TestScore
Where ts.TestID = iTestID And ts.English2 > 0
Into Count()
iInNumber = num
Case "物理"
Dim num = Aggregate ts In hmzx.Grade3TestScore
Where ts.TestID = iTestID And ts.Physics2 > 0
Into Count()
iInNumber = num
Case "化学"
Dim num = Aggregate ts In hmzx.Grade3TestScore
Where ts.TestID = iTestID And ts.Chemistry2 > 0
Into Count()
iInNumber = num
Case "生物"
Dim num = Aggregate ts In hmzx.Grade3TestScore
Where ts.TestID = iTestID And ts.Biology2 > 0
Into Count()
iInNumber = num
Case "政治"
Dim num = Aggregate ts In hmzx.Grade3TestScore
Where ts.TestID = iTestID And ts.Politics2 > 0
Into Count()
iInNumber = num
Case "历史"
Dim num = Aggregate ts In hmzx.Grade3TestScore
Where ts.TestID = iTestID And ts.History2 > 0
Into Count()
iInNumber = num
Case Else
Dim num = Aggregate ts In hmzx.Grade3TestScore
Where ts.TestID = iTestID And ts.Geography2 > 0
Into Count()
iInNumber = num
End Select
SubjectScoreInNum = iInNumber
End Function
Imports System.Linq.Dynamic
'省略非必要的代码
Dim strQuery As String
Select Case strSubject
Case "语文"
strQuery = "TestID=" & iTestID.ToString() & " And Chinese2>0"
Case "数学"
strQuery = "TestID=" & iTestID.ToString() & " And Maths2>0"
Case "英语"
strQuery = "TestID=" & iTestID.ToString() & " And English2>0"
Case "物理"
strQuery = "TestID=" & iTestID.ToString() & " And Physics2>0"
Case "化学"
strQuery = "TestID=" & iTestID.ToString() & " And Chemistry2>0"
Case "生物"
strQuery = "TestID=" & iTestID.ToString() & " And Biology2>0"
Case "政治"
strQuery = "TestID=" & iTestID.ToString() & " And Politics2>0"
Case "历史"
strQuery = "TestID=" & iTestID.ToString() & " And History2>0"
Case Else
strQuery = "TestID=" & iTestID.ToString() & " And Geography2>0"
End Select
Dim iNum = hmzx.Grade3TestScore.Where(strQuery).Count()