ASP 考试成绩统计 部分源代码

来源:百度文库 编辑:神马文学网 时间:2024/05/01 10:12:51






成绩统计查询




















<%
on error resume next
TimeBegin = timer()
'********************************初始化开始******************************************
'全局变量,为下面的引用做准备
dim conn,DBPath,rs '数据库记录集
dim XiangMu
dim BanJi
dim ShuXue
dim YuWen
dim WaiYu
dim HuaXue
dim ShowXiangMu
dim WuLi
dim ZongFen
XiangMu = request("XiangMu")
BanJi = request("Num")
ShuXue = "0"
YuWen = "0"
WaiYu = "0"
HuaXue = "0"
ShowXiangMu = "人数"
WuLi = "0"
ZongFen = "0"
If BanJi="" or BanJi<>"1" and BanJi<>"2" and BanJi<>"3" Then BanJi="1-3"
Set conn = Server.CreateObject("ADODB.Connection")
DBPath = Server.MapPath(DBPath)
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
Set rs = Server.CreateObject("ADODB.Recordset")
'********************************初始化结束******************************************
'********************************Main Begin******************************************
Select Case BanJi
Case "1-3"
ShowGrade rs,"BJiuShi"
ShowGrade rs,"BaShiJiuShi"
ShowGrade rs,"QishiBashi"
ShowGrade rs,"LiushiQishi"
ShowGrade rs,"SLiushi"
for i=1 to 3
PhyAvg rs,i
ShowTongJi ShowXiangMu,BanJi,YuWen,ShuXue,WaiYu,WuLi,HuaXue,Zongfen
next
PhyAvg rs,"1-3"
ShowTongJi ShowXiangMu,BanJi,YuWen,ShuXue,WaiYu,WuLi,HuaXue,Zongfen
Case Else
ShowClass rs,Banji
End select
'********************************Main End******************************************
 
 
 
'********************************函数部分开始******************************************
Function ShowGrade(VarRs,XiangMu)
For i=1 to 3
ShowFenShuDuan VarRs,XiangMu,i
Next
ShowTongJi "","","","","","","","" '显示一个空行
End Function
Function ShowClass(VarRs,Banji)
ShowFenShuDuan VarRs,"BJiuShi",BanJi
ShowFenShuDuan VarRs,"BaShiJiuShi",BanJi
ShowFenShuDuan VarRs,"QishiBashi",BanJi
ShowFenShuDuan VarRs,"LiushiQishi",BanJi
ShowFenShuDuan VarRs,"SLiushi",BanJi
PhyAvg VarRs,BanJi
ShowTongJi ShowXiangMu,BanJi,YuWen,ShuXue,WaiYu,WuLi,HuaXue,Zongfen
End Function
Function ShowFenShuDuan(VarRs,XiangMu,BanJi)
WuLi = PhyCount(VarRs,XiangMu,"物理",BanJi)
ShuXue = PhyCount(VarRs,XiangMu,"数学",BanJi)
YuWen = PhyCount(VarRs,XiangMu,"语文",BanJi)
WaiYu = PhyCount(VarRs,XiangMu,"外语",BanJi)
HuaXue = PhyCount(VarRs,XiangMu,"化学",BanJi)
ShowTongJi ShowXiangMu,BanJi,YuWen,ShuXue,WaiYu,WuLi,HuaXue,Zongfen
End Function
 
Function PhyAvg(VarRs,VarBanJi) '平均值统计
dim sql
sql = "Select avg(语文) as T语文,avg(数学) as T数学,avg(外语) as T外语,avg(物理) as T物理,avg(化学) as T化学,avg(总分) as T总分 From "&Table
If VarBanJi <> "1-3" Then sql= sql & " Where 班级='"&VarBanJi&"'"
ShowXiangMu = "平均分"
BanJi = VarBanJi
VarRs.Open sql, conn,1,1
If VarRs.eof Then response.write "没有相关记录!":response.end
YuWen=round(VarRs("T语文"),2)
ShuXue=round(VarRs("T数学"),2)
WaiYu=round(VarRs("T外语"),2)
HuaXue = round(VarRs("T化学"),2)
WuLi=round(VarRs("T物理"),2)
ZongFen =round(VarRs("T总分"),2)
VarRs.close
End Function
Function PhyCount(VarRs,XiangMu,KeMu,BanJi) '分数段统计
dim sql
sql = "Select * From Table Where "& KeMu
If BanJi <> "1-3" Then sql="Select * From "& Table &" Where 班级='"&BanJi&"' And " & KeMu
Select Case XiangMu
Case "BJiuShi"
sql = sql & ">=90"
ShowXiangMu = "大于90"
Case "BaShiJiuShi"
sql = sql & "<90 and "& KeMu &">=80"
ShowXiangMu = "80-90"
Case "QishiBashi"
sql = sql & "<80 and "& KeMu &">=70"
ShowXiangMu = "70-80"
Case "LiushiQishi"
sql = sql & "<70 and "& KeMu &">=60"
ShowXiangMu = "60-70"
Case "SLiushi"
sql = sql & "<60"
ShowXiangMu = "小于60"
End Select
'response.write sql
VarRs.Open sql, conn,1,1
PhyCount = VarRs.recordcount
VarRs.close
End function
Function ShowTongJi(ShowXiangMu,BanJi,YuWen,ShuXue,WaiYu,WuLi,HuaXue,ZongFen)
Tab = ""
Tab = Tab &"    " &VbCrlf
Tab = Tab &"      " &VbCrlf
Tab = Tab &"      " &VbCrlf
Tab = Tab &"      " &VbCrlf
Tab = Tab &"     " &VbCrlf
Tab = Tab &"      " &VbCrlf
Tab = Tab &"      " &VbCrlf
Tab = Tab &"      " &VbCrlf
Tab = Tab &"      " &VbCrlf
Tab = Tab &"      " &VbCrlf
Tab = Tab &"    " &VbCrlf
Response.write Tab
End Function
'********************************函数部分结束******************************************
%>

项目班级语文数学外语物理化学 总分
"& ShowXiangMu &"  "& BanJi &"  "& YuWen &"  "& ShuXue &"  "& WaiYu &"  "& WuLi &"  "& HuaXue &"  "& ZongFen &" 

页面执行时间:
<%
TimeEnd = timer()
TimeSpan= TimeEnd - TimeBegin
response.write cstr(int(( TimeSpan*10000 )+0.5)/10) &"毫秒" ' 保留小数点后一位
%>