inst_submit_test_additions.asp
来自「A java project in e-bussiness module.」· ASP 代码 · 共 428 行 · 第 1/2 页
ASP
428 行
<html>
<head>
<% help_location = "inst_submit_test_additions" %>
<!-- Author: Brad Pierce -->
<title>Teacher Add Questions</title>
<link href="../instructor/inst_basics.css" rel="stylesheet" type="text/css">
<table border='0'><tr><td><img src="../images/netest.png"></td><td width='5%'></td><td width='100%'><br><h2>Add Test Questions</h2></td></tr>
<!-- #include file="../inst_navbar/teacher_navbar_print.inc" -->
<%
If not Session("inst_authenticated") Then
Response.Redirect("inst_login.asp")
End If
IF Session("added") = TRUE THEN
response.write "<td valign='top'><br>"
Response.Write "<p><div id=warning><img src='../images/warning.gif'> You cannot resubmit the added question(s).</div><br>"
Response.Write "<a href='inst_choose_test_modifications.asp'>Click here to add more questions to the test.</a><br>"
Response.Write "<a href='inst_home.asp'>Click here to return to the home page.</a></p>"
%>
</table><br><br><table width='86%' align='right' border='0'><tr><td>
<hr size='2' color='#000000'>
<font size='1'>Powered by Netest</font>
</td></tr></table>
<%
Response.End
END IF
%>
</head>
<TD valign='top'><br>
<%
dim oConn ' Connection Object
dim oRS ' Record Set Object
dim question_counter ' counter to loop through each question type
dim choices_counter ' choice counter for questions with multiple choices
dim choices ' contains all multiple choice possible answers
dim error_message ' contains the error message for the question
dim return_previous ' flag to indicate if the database can be updated or not
'----------------------------------------------------------------------------------------------
'ERROR CHECK BEFORE SUBMITTING TO DATABASE
'----------------------------------------------------------------------------------------------
question_counter = 1
return_previous = FALSE
' error check multiple choice
FOR question_counter=1 to session("num_multiple_choice")
IF trim(request("mc_question_" & question_counter)) = "" THEN
error_message = "Question #" & question_counter & " QUESTION cannot be blank"
call DisplayError()
END IF
FOR choices_counter=1 to session("num_mc_choices")
choices = choices & trim(request("mc_choice_" & question_counter & chr(64 + choices_counter)))
NEXT
IF choices = "" THEN
error_message = "Question #" & question_counter & " must have at least one CHOICE"
call DisplayError()
END IF
NEXT
' error check true/false
FOR question_counter=question_counter to (question_counter + session("num_true_false") - 1)
IF trim(request("tf_question_" & question_counter)) = "" THEN
error_message = "Question #" & question_counter & " QUESTION cannot be blank"
call DisplayError()
END IF
NEXT
' error check modified true/false
FOR question_counter=question_counter to (question_counter + session("num_m_true_false") - 1)
IF trim(request("mtf_question_" & question_counter)) = "" THEN
error_message = "Question #" & question_counter & " QUESTION cannot be blank"
call DisplayError()
END IF
IF trim(request("mtf_keyword_" & question_counter)) = "" THEN
error_message = "Question #" & question_counter & " KEYWORD cannot be blank"
call DisplayError()
END IF
IF request("mtf_answer_" & question_counter) = "FALSE" AND trim(request("mtf_correction_" & question_counter)) = "" THEN
error_message = "Question #" & question_counter & " CORRECTION cannot be blank if the ANSWER is FALSE"
call DisplayError()
END IF
IF request("mtf_answer_" & question_counter) = "TRUE" AND trim(request("mtf_correction_" & question_counter)) <> "" THEN
error_message = "Question #" & question_counter & " CORRECTION must be blank if the ANSWER is TRUE"
call DisplayError()
END IF
NEXT
' error check matching
FOR question_counter=question_counter to (question_counter + session("num_matching") - 1)
IF trim(request("match_list_" & question_counter)) = "" THEN
error_message = "Question #" & question_counter & " LIST cannot be blank"
call DisplayError()
END IF
IF trim(request("match_jumbled_" & question_counter)) = "" THEN
error_message = "Question #" & question_counter & " JUMBLED cannot be blank"
call DisplayError()
END IF
NEXT
' error check completion
FOR question_counter=question_counter to (question_counter + session("num_completion") - 1)
IF trim(request("comp_question_" & question_counter)) = "" THEN
error_message = "Question #" & question_counter & " STATEMENT cannot be blank"
call DisplayError()
END IF
IF trim(request("comp_answer_" & question_counter)) = "" THEN
error_message = "Question #" & question_counter & " COMPLETION cannot be blank"
call DisplayError()
END IF
NEXT
' error check short answer
FOR question_counter=question_counter to (question_counter + session("num_short_answer") - 1)
IF trim(request("sa_question_" & question_counter)) = "" THEN
error_message = "Question #" & question_counter & " QUESTION cannot be blank"
call DisplayError()
END IF
IF trim(request("sa_answer_" & question_counter)) = "" THEN
error_message = "Question #" & question_counter & " ANSWER/KEYWORDS cannot be blank"
call DisplayError()
END IF
NEXT
' error check essay
FOR question_counter=question_counter to (question_counter + session("num_essay") - 1)
IF trim(request("essay_question_" & question_counter)) = "" THEN
error_message = "Question #" & question_counter & " QUESTION cannot be blank"
call DisplayError()
END IF
IF trim(request("essay_answer_" & question_counter)) = "" THEN
error_message = "Question #" & question_counter & " ANSWER/KEYWORDS cannot be blank"
call DisplayError()
END IF
NEXT
sub DisplayError()
Response.Write "<div id=warning><img src='../images/warning.gif'> " & error_message & "</div>"
return_previous = TRUE
end sub
'----------------------------------------------------------------------------------------------
'IF NO ERRORS, SUBMIT TO DATABASE
'----------------------------------------------------------------------------------------------
IF return_previous = FALSE THEN
Set oConn=Server.CreateObject("ADODB.connection")
set oRS=Server.CreateObject("ADODB.recordset")
oConn.Open "DSN=sd2db; UserID=Admin; pwd=netest"
' get number of questions in the test
sqltext = "SELECT * FROM Question WHERE Test_Code=" & session("selected_test") & ""
oRS.Open sqltext, oConn, 3
record_count = oRS.RecordCount
oRS.Close
' Populate question table
sqltext = "SELECT * FROM Question"
oRS.Open sqltext, oConn, 2, 2
question_counter=1
' Populate question table with multiple choice
FOR question_counter=1 to session("num_multiple_choice")
choices=""
FOR choices_counter=1 to session("num_mc_choices")
IF trim(request("mc_choice_" & question_counter & chr(64 + choices_counter))) <> "" THEN
choices = choices & "|" & trim(request("mc_choice_" & question_counter & chr(64 + choices_counter)))
END IF
NEXT
oRS.AddNew
oRS.Fields("Test_Code") = session("selected_test")
oRS.Fields("Question_Number") = record_count + question_counter
oRS.Fields("Question_Type_Code") = "MC"
oRS.Fields("Question_Ask") = trim(request("mc_question_" & question_counter)) & choices
oRS.Fields("Question_Answer") = request("mc_answer_" & question_counter)
oRS.Update
NEXT
' Populate question table with true/false
FOR question_counter=question_counter to (question_counter + session("num_true_false") - 1)
oRS.AddNew
oRS.Fields("Test_Code") = session("selected_test")
oRS.Fields("Question_Number") = record_count + question_counter
oRS.Fields("Question_Type_Code") = "TF"
oRS.Fields("Question_Ask") = trim(request("tf_question_" & question_counter))
oRS.Fields("Question_Answer") = request("tf_answer_" & question_counter)
oRS.Update
NEXT
' Populate question table with modified true/false
FOR question_counter=question_counter to (question_counter + session("num_m_true_false") - 1)
oRS.AddNew
oRS.Fields("Test_Code") = session("selected_test")
oRS.Fields("Question_Number") = record_count + question_counter
oRS.Fields("Question_Type_Code") = "MTF"
oRS.Fields("Question_Ask") = trim(request("mtf_question_" & question_counter)) & "|" & _
trim(request("mtf_keyword_" & question_counter))
IF request("mtf_answer_" & question_counter) = "TRUE" THEN
oRS.Fields("Question_Answer") = request("mtf_answer_" & question_counter)
ELSE
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?