📄 savescore.asp
字号:
<%option explicit%>
<%session.CodePage="936"%>
<!--#include file="Conn.asp"-->
<!--#include file="include/md5.asp"-->
<!--#include file="include/ReplaceHtml.asp"-->
<!--#include file="include/PublicFunction.asp"-->
<!--#include file="include/TeacherSession.asp"-->
<% call checkouterurl()
'强制浏览器重新访问服务器下载页面
Response.Buffer = True
Response.Expires = -1
Response.ExpiresAbsolute = Now() - 1
Response.Expires = 0
Response.CacheControl = "no-cache"
%>
<html>
<head>
<title>保存分数 </title>
<meta HTTP-EQUIV="Content-Type" Content="text-html; charset=gb2312">
</head>
<body bgcolor="white">
<%
Dim SqlNumber,ii,DoInsertSql,iii,TotalElementNum
SqlNumber=request.Form("StudentRsNum")
'为了防止数据提交失败,必须保证表单中的每一项的数值都不为空,此处逐个校验表单中的每一个元素
TotalElementNum=(SqlNumber*2)+6 '此处的6代表是表单中除了分数元素之外,其余元素的数目
For iii=1 to TotalElementNum-2
IF request.Form(iii)="" then
Response.Write("<script>alert('数据不完整,无法保存,请您输入完成之后,再保存!');window.close(); </script>")
Response.End()
'******If Err Then Err.Clear
'****** response.Write request.Form'TotalElementNum-1
'****** Response.End()
exit for
End IF
NEXT
'*******************************************************
' 下面这段代码决定 如何处理当前表单提交过来的数据,
'根据term_id, department_id, teacher_id,class_id,subject_id这几个字段,
'使用count(*)筛选出符合这几个字段的记录的条数,如果记录数等于0,说明
'当前班级本学期的这门课程的成绩还没有添加,那么此时则执行添加数据的操作;
'如果记录数大于0,说明 当前班级本学期的这门课程的成绩已经添加过了,那么
'此时访问者提交数据的目的是修改数据,则应执行修改操作。
Dim Add_or_Edit,Add_or_Edit_Sql,CurrentScoreNum
Add_or_Edit_Sql="select count(*) from [score] where [term_id]='"&request.Form("term_id")&"' and [department_id]='"&request.Form("department_id")&"' and [teacher_id]='"&request.Form("teacher_id")&"' and [class_id]='"&request.Form("class_id")&"' and [subject_id]='"&request.Form("subject_id")&"'"
Set Add_or_Edit=Initialize_Conn.execute(Add_or_Edit_Sql)
CurrentScoreNum=Add_or_Edit(0): Add_or_Edit.close: Set Add_or_Edit=nothing
IF CurrentScoreNum=0 Then
Call DoSaveScore()
else
Call DoEditScore()
End If
'***************************************************
'下面是数据入库代码,此处使用For循环依次向数据库中插入分数
Sub DoSaveScore()
For ii=0 to SqlNumber-1
DoInsertSql="Insert into score(subject_id,sore,student_id,Term_id,teacher_id,department_id,HaveBeenAdd,class_id) values("&request.Form("subject_id")&","&request.Form("Score_"&ii)&","&request.Form("StuID_"&ii)&","&request.Form("term_id")&","&request.Form("teacher_id")&","&request.Form("department_id")&",1,"&request.Form("class_id")&")"
Initialize_Conn.execute(DoInsertSql)
NEXT
Response.Write "<script>alert('恭喜!分数保存成功,按确定返回。');window.close();</script>"
End Sub
'***************************************************
'下面是数据修改代码,此处使用For循环依次向数据库中修改分数
Sub DoEditScore()
Dim DoEditSql,iiii
For iiii=0 to SqlNumber-1
DoEditSql="Update [score] Set sore='"&request.Form("Score_"&iiii)&"' where [term_id]='"&request.Form("term_id")&"' and [department_id]='"&request.Form("department_id")&"' and [teacher_id]='"&request.Form("teacher_id")&"' and [class_id]='"&request.Form("class_id")&"' and [subject_id]='"&request.Form("subject_id")&"' and [student_id]='"&request.Form("StuID_"&iiii)&"'"
Initialize_Conn.execute(DoEditSql)
'Response.Write(DoEditSql&"<br>")
NEXT
Response.Write "<script>alert('恭喜,分数编辑保存成功,按确定返回。');window.close();</script>"
End Sub
'response.Write request.Form()&"<br>"
'response.Write request.Form("submit")
%>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -