<%
rst.close
Set rst = Nothing
conn.close
set conn = nothing
%>
4.3.2 添加考试成绩功能的实现
在添加学生信息界面add_ach.asp中输入信息后,信息被提交到
add_ach1.asp中。添加学生信息界面中的系部、专业、班级以下拉列表框
的形式实现动态关联。输入的成绩必须是0到100之间的数字,如果所输
信息不在此范围内,就会提示:“所输成绩有误,请重新输入!”,如果输入
的成绩信息是正确的,那么成绩就会被添加到成绩表和总分表。以下是
add_ach.asp中的代码:
<%
if session("user")="" then
response.write "您无此权限"
response.end
end if
%>
<%
if session("user")="reader" then
response.write ""
response.write ""
response.end
end if
%>
<%
if request("stdep")<>"" and request("qq")=1 then
set myrs=server.createobject("ADODB.recordset")
mysql="select * from major where stdep='"&request("stdep")&"'"
myrs.open mysql,conn,1,1
elseif request("stmajor")<>"" and request("qq")=2 then
set myrs=server.createobject("ADODB.recordset")
mysql="select * from major where stdep='"&request("stdep")&"'"
myrs.open mysql,conn,1,1
set myrs1=server.createobject("ADODB.recordset")
mysql1="select * from class where
stmajor='"&request("stmajor")&"'"
myrs1.open mysql1,conn,1,1
end if
%>
添加考试成绩
下面是add_ach1.asp中的代码:
<%
if session("user")="" then
response.write "您无此权限"
response.end
end if
%>
<%
dim
user_number,user_name,user_dep,user_major,user_class,testno,subj
ect,ach
user_number=trim(request("user_number"))
user_name=trim(request("user_name"))
user_dep=trim(request("stdep"))
user_major=trim(request("stmajor"))
user_class=trim(request("stclass"))
testno=trim(request("testno"))
subject=trim(request("subject"))
ach=trim(request("ach"))
%>
<%if ach<0 or ach>100 then
response.write ""
response.write "" else
%>
<%
set rs=server.createobject("adodb.recordset") sql="select * from ach where user_number='"&user_number&"'" rs.open sql,conn,1,3
%>
<%
rs.addnew
rs("user_number")=user_number
rs("user_name")=user_name
rs("user_dep")=user_dep
rs("user_major")=user_major
rs("user_class")=user_class
rs("testno")=testno
rs("subject")=subject
rs("ach")=ach
rs.update
rs.close
set rs=nothing
%>
<%
set rs1=server.createobject("adodb.recordset") sql1="select * from total_ach where user_number='"&user_number&"'"
rs1.open sql1,conn,1,3
if not rs1.eof then
rs1("total_ach")=rs1("total_ach")+ach
rs1.update
rs1.close
set rs1=nothing
response.write ""
response.write ""
else
rs1.addnew
rs1("user_number")=user_number
rs1("user_name")=user_name
rs1("user_dep")=user_dep
rs1("user_major")=user_major
rs1("user_class")=user_class
rs1("testno")=testno
rs1("subject")=subject
rs1("total_ach")=total_ach
rs1.update
rs1.close
set rs1=nothing
response.write ""
response.write ""
end if
end if
%>
4.3.2 删除考试成绩功能的实现
在浏览学生成绩时,如果要删除某个成绩信息时,可以点击此成绩信
息后的“删除”按纽,执行delete_ach.asp,这样此成绩信息就会从成绩
表和总分表中删除。delete_ach.asp中的代码如下:
<%
if session("user")="" then
response.write "您无此权限"
response.end
end if
%>
<%
if session("user")="reader" then
response.write ""
response.write ""
response.end
end if
%>
<%
dim id
id=trim(request("id"))
set rs=server.createobject("adodb.recordset")
sql="select * from ach where id="& id rs.open sql,conn,1,3
user_number=rs("user_number")
ach=rs("ach")
%>
<%
rs.delete
rs.close
set rs=nothing
%>
<%
set rs1=server.createobject("adodb.recordset")
sql1="select * from total_ach where user_number='"&user_number&"'"
rs1.open sql1,conn,1,3
%>
<%
rs1("total_ach")=rs1("total_ach")-ach if rs1("total_ach")=0 then
rs1.delete
end if
rs1.update
rs1.close
response.redirect "ach_manager.asp"
%>
4.3.3 查询考试成绩功能的实现
在查询考试成绩界面search_ach.asp中选择相应的查询类别后,信息
被提交到相应的处理页面。如果选择的是“按学号、课程、学期查询”,则
信息被提交到search_ach1.asp中;如果选择的是“按系部、专业、班级、课程、学期查询”,则信息被提交到search_ach2.asp中;如果选择的是“按
姓名、学期查询”,则信息被提交到search_ach3.asp中。search_ach1.asp
中的代码如下:
<%
if session("user")="" then
response.write "您无此权限"
response.end
end if
%>
<%
dim user_number,subject,testno
user_number=trim(request("user_number"))
subject=trim(request("subject"))
testno=trim(request("testno"))
%>
<%
set rs=server.createobject("adodb.recordset")
sql="select * from ach where user_number='"&user_number&"' and
subject='"&subject&"' and testno='"&testno&"'"
rs.open sql,conn,1,1
%>
查询结果
search_ach2.asp中的代码如下:
<%
if session("user")="" then
response.write "您无此权限"
response.end
end if
%>
<%
dim user_dep,user_major,user_class,subject,testno user_dep=trim(request("stdep"))
user_major=trim(request("stmajor"))
user_class=trim(request("stclass"))
subject=trim(request("subject"))
testno=trim(request("testno"))
%>
<%
set rs=server.createobject("adodb.recordset") sql="select * from ach where user_dep='"&user_dep&"' and user_major='"&user_major&"' and user_class='"&user_class&"' and subject='"&subject&"' and testno='"&testno&"' order by user_number
asc"
rs.open sql,conn,1,1
%>
查询结果
search_ach3.asp中的代码如下:
<%
if session("user")="" then
response.write "您无此权限"
response.end
end if
%>
<%
dim user_name,testno
user_name=trim(request("user_name"))
'subject=trim(request("subject"))
testno=trim(request("testno"))
%>
<%
set rs=server.createobject("adodb.recordset") sql="select * from ach where user_name='"&user_name&"' and
testno='"&testno&"'"
rs.open sql,conn,1,1
%>
查询结果
4.3.4 查询补考重修信息功能的实现
在补考重修查询界面search_redo.asp中选择相应的查询条件后,信
息被提交到search_ach4.asp中。下面是search_ach4.asp中的代码:
<%
if session("user")="" then
response.write "您无此权限"
response.end
end if
%>
<%
dim user_dep,user_major,user_class,testno,level
user_dep=trim(request("stdep"))
user_major=trim(request("stmajor"))
user_class=trim(request("stclass"))
testno=trim(request("testno"))
level=trim(request("level"))
%>
<%
set rs=server.createobject("adodb.recordset")
select case level
case 1
sql="select * from ach where ach>=40 and ach<=59 and user_dep='"&user_dep&"' and user_major='"&user_major&"' and user_class='"&user_class&"' and testno='"&testno&"' order by ach desc"
case 2
sql="select * from ach where ach<40 and user_dep='"&user_dep&"'
and user_major='"&user_major&"' and user_class='"&user_class&"'
and testno='"&testno&"' order by ach desc"
end select
'response.write sql
rs.open sql,conn,1,1
%>
查询结果
4.3.5 单科成绩排序功能的实现
在单科成绩排序界面ach_top.asp中选择相应的查询条件后,信息被
提交到ach_top_1.asp中。下面是ach_top_1.asp中的代码:
<%
if session("user")="" then
response.write "您无此权限"
response.end
end if
%>
<%
dim user_dep,user_major,user_class,subject,testno
user_dep=trim(request("stdep"))
user_major=trim(request("stmajor"))
user_class=trim(request("stclass"))
subject=trim(request("subject"))
testno=trim(request("testno"))
%>
<%
set rs=server.createobject("adodb.recordset")
sql="select * from ach where user_dep='"&user_dep&"' and user_major='"&user_major&"' and user_class='"&user_class&"' and subject='"&subject&"' and testno='"&testno&"' order by ach desc"
rs.open sql,conn,1,1
%>
查询结果
4.3.6 总分成绩排序功能的实现
在总分成绩排序界面total_top.asp中选择相应的查询条件后,信息
被提交到total_top_1.asp中。下面是total_top_1.asp中的代码:
<%
if session("user")="" then
response.write "您无此权限"
response.end
end if
%>
<%
dim user_dep,user_major,user_class,testno
user_dep=trim(request("stdep"))
user_major=trim(request("stmajor"))
user_class=trim(request("stclass"))
testno=trim(request("testno"))
%>
<%
set rs=server.createobject("adodb.recordset")
sql="select * from total_ach where user_dep='"&user_dep&"' and user_major='"&user_major&"' and user_class='"&user_class&"' and testno='"&testno&"' order by total_ach desc"
rs.open sql,conn,1,3
%>
查询结果
4.3.7 考试成绩分析功能的实现
在考试成绩分析界面all.asp中选择相应的查询条件后,信息被提交到all_1.asp中。下面是all_1.asp中的代码:
<%
if session("user")="" then
response.write "您无此权限"
response.end
end if
%>
<%
dim testno,subject,user_dep,user_major,user_class testno=trim(request("testno"))
subject=trim(request("subject"))
user_dep=trim(request("stdep"))
user_major=trim(request("stmajor"))
user_class=trim(request("stclass"))
set rs=server.createobject("adodb.recordset") if user_class="all" then
sql="select * from ach where user_dep='"&user_dep&"' and user_major='"&user_major&"' and testno='"&testno&"' and subject='"&subject&"'"
else
sql="select * from ach where user_dep='"&user_dep&"' and user_major='"&user_major&"' and user_class='"&user_class&"' and testno='"&testno&"' and subject='"&subject&"'" end if
rs.open sql,conn,1,1
if not rs.eof then
levelz=rs.recordcount
else
Response.Write ""
Response.Write "" response.end
end if
rs.close
set rs1=server.createobject("adodb.recordset")
if user_class="all" then
sql1="select * from ach where ach>=60 and testno='"&testno&"' and subject='"&subject&"'"
else
sql1="select * from ach where user_class='"&user_class&"' and ach>=60 and testno='"&testno&"' and subject='"&subject&"'" end if
rs1.open sql1,conn,1,1
if not rs1.eof then
level1=rs1.recordcount
else
level1=0
end if
rs1.close
level2=levelz-level1
level3=level1/levelz*100
%>
合格率情况