打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
ASP 考试成绩统计 部分源代码
userphoto

2010.05.02

关注

<!--#include file="SetMdbTab.asp"-->
<html>

<head>
<meta http-equiv='Content-Type' content='text/html; charset=gb2312'>
<meta name='GENERATOR' content='Microsoft FrontPage 4.0'>
<meta name='ProgId' content='FrontPage.Editor.Document'>
<title>成绩统计查询</title>
</head>

<body>

<center>

<form Name='Searchfrm' method="POST" action="TongJiContent.asp">
  
   <input type="hidden" name="Num">        
</form>

<script>
function RUNonclick(){
with(document.Searchfrm){

Num.value=parent.Num.value;
submit();
}
}
</script>


<table border='1' borderColorDark='#ffffff' borderColorLight='#000000' cellSpacing='0' width='700'>
<tbody>
    <tr>
      <td align='center' vAlign='top' width='50'><small>项目</small></td>
      <td align='center' vAlign='top' width='40'><small>班级</small></td>
      <td align='center' vAlign='top' width='58'><small>语文</small></td>
      <td align='center' vAlign='top' width='58'><small>数学</small></td>
      <td align='center' vAlign='top' width='58'><small>外语</small></td>
      <td align='center' vAlign='top' width='58'><small>物理</small></td>
      <td align='center' vAlign='top' width='58'><small>化学</small></td>
      <!--td align='center' vAlign='top' width='51'><small>政治</small></td-->
      <td align='center' vAlign='top' width='120'><small> 总分</small></td>
    </tr>

<%
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 &"    <tr>" &VbCrlf
Tab = Tab &"      <td align='center' vAlign='top' width='50'><small>"& ShowXiangMu &"  </small></td>" &VbCrlf
Tab = Tab &"      <td align='center' vAlign='top' width='40'><small>"& BanJi &"  </small></td>" &VbCrlf
Tab = Tab &"      <td align='center' vAlign='top' width='58'><small>"& YuWen &"  </small></td>" &VbCrlf
Tab = Tab &"     <td align='center' vAlign='top' width='58'><small>"& ShuXue &"  </small></td>" &VbCrlf
Tab = Tab &"      <td align='center' vAlign='top' width='58'><small>"& WaiYu &"  </small></td>" &VbCrlf
Tab = Tab &"      <td align='center' vAlign='top' width='58'><small>"& WuLi &"  </small></td>" &VbCrlf
Tab = Tab &"      <td align='center' vAlign='top' width='58'><small>"& HuaXue &"  </small></td>" &VbCrlf
Tab = Tab &"      <!--td align='center' vAlign='top' width='51'><small>"& ZhengZhi &"  </small></td-->" &VbCrlf
Tab = Tab &"      <td align='center' vAlign='top' width='120'><small>"& ZongFen &"  </small></td>" &VbCrlf
Tab = Tab &"    </tr>" &VbCrlf
Response.write Tab
End Function

'********************************函数部分结束******************************************
%>

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

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
左栏书架制作代码
ASP分页代码详解,代码解释!!
微星横向菜单
6.20日:震荡触及敏感区,牛股升势无所虑!,量学,量学官网,股海明灯,股票交流,中国最牛的股票交流...
用ASP连接读写ACCESS数据库实例
一周学会用代码做音画贴
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服