inst_submit_test_additions.asp

来自「A java project in e-bussiness module.」· ASP 代码 · 共 428 行 · 第 1/2 页

ASP
428
字号
	     oRS.Fields("Question_Answer") = request("mtf_answer_" & question_counter)& "|" & _
		                                 trim(request("mtf_correction_" & question_counter))
	  END IF
	  oRS.Update
   NEXT
   
   ' Populate question table with matching
   FOR question_counter=question_counter to (question_counter + session("num_matching") - 1)
      oRS.AddNew
	  oRS.Fields("Test_Code") = session("selected_test")
	  oRS.Fields("Question_Number") = record_count + question_counter
      oRS.Fields("Question_Type_Code") = "MATCH"
	  oRS.Fields("Question_Ask") = trim(request("match_list_" & question_counter)) & "|" & _
	                               trim(request("match_jumbled_" & question_counter))
	  oRS.Fields("Question_Answer") = request("match_answer_" & question_counter)
	  oRS.Update
   NEXT
   
   ' Populate question table with completion
   FOR question_counter=question_counter to (question_counter + session("num_completion") - 1)
      oRS.AddNew
	  oRS.Fields("Test_Code") = session("selected_test")
	  oRS.Fields("Question_Number") = record_count + question_counter
      oRS.Fields("Question_Type_Code") = "COMP"
	  oRS.Fields("Question_Ask") = trim(request("comp_question_" & question_counter))
	  oRS.Fields("Question_Answer") = trim(request("comp_answer_" & question_counter))
	  oRS.Update
   NEXT
   
   ' Populate question table with short answer
   FOR question_counter=question_counter to (question_counter + session("num_short_answer") - 1)
      oRS.AddNew
	  oRS.Fields("Test_Code") = session("selected_test")
	  oRS.Fields("Question_Number") = record_count + question_counter
      oRS.Fields("Question_Type_Code") = "SA"
	  oRS.Fields("Question_Ask") = trim(request("sa_question_" & question_counter))
	  oRS.Fields("Question_Answer") = trim(request("sa_answer_" & question_counter))
	  oRS.Update
   NEXT
   
   ' Populate question table with essay
   FOR question_counter=question_counter to (question_counter + session("num_essay") - 1)
      oRS.AddNew
	  oRS.Fields("Test_Code") = session("selected_test")
	  oRS.Fields("Question_Number") = record_count + question_counter
      oRS.Fields("Question_Type_Code") = "ESSAY"
	  oRS.Fields("Question_Ask") = trim(request("essay_question_" & question_counter))
	  oRS.Fields("Question_Answer") = trim(request("essay_answer_" & question_counter))
	  oRS.Update
   NEXT
   
   oRS.Close
   
   ' get the new number of questions in the test
   sqltext = "SELECT Question_Type_Code FROM Question WHERE Test_Code=" & session("selected_test") & " ORDER BY Question_Number"
   oRS.Open  sqltext, oConn, 3
   record_count = oRS.RecordCount

   'get number of each type of question
   mc_count = 0
   tf_count = 0
   mtf_count = 0
   match_count = 0
   comp_count = 0
   sa_count = 0
   essay_count = 0
   
   FOR x=1 TO record_count
      SELECT CASE oRS("Question_Type_Code")
	     CASE "MC"
		    mc_count = mc_count + 1
		 CASE "TF"
		    tf_count = tf_count + 1
		 CASE "MTF"
		    mtf_count = mtf_count + 1
		 CASE "MATCH"
		    match_count = match_count + 1
		 CASE "COMP"
		    comp_count = comp_count + 1
		 CASE "SA"
		    sa_count = sa_count + 1
		 CASE "ESSAY"
		    essay_count = essay_count + 1
      END SELECT
	  oRS.MoveNext
   NEXT
   oRS.Close
   
   'renumber the test with high-values
   sqltext = "SELECT Question_Number FROM Question WHERE Test_Code=" & session("selected_test") & " ORDER BY Question_Number"
   oRS.Open sqltext, oConn

   FOR x=1 TO record_count		 
      oRS.Fields("Question_Number") = x + 999999
	  oRS.Update
	  oRS.MoveNext
   NEXT
   oRS.Close
   
'------------------------------------------------------------------
'RENUMBER THE TEST
'THIS CODE WILL SORT THE NEW TEST QUESTIONS INTO THEIR PROPER ORDER
'BELOW THE QUESTION TYPES THAT WERE ALREADY ON THE TEST
'------------------------------------------------------------------  
   question_counter = 1
  
   'Renumber multiple choice
   sqltext = "SELECT Question_Number FROM Question WHERE Test_Code=" & session("selected_test") & " AND Question_Type_Code='MC' ORDER BY Question_Number"
   oRS.Open sqltext, oConn
   
   FOR question_counter=question_counter TO (question_counter + mc_count - 1)
	  oRS.Fields("Question_Number") = question_counter
	  oRS.Update
	  oRS.MoveNext
   NEXT
   oRS.Close
   
   'Renumber true false
   sqltext = "SELECT Question_Number FROM Question WHERE Test_Code=" & session("selected_test") & " AND Question_Type_Code='TF' ORDER BY Question_Number"
   oRS.Open sqltext, oConn
   
   FOR question_counter=question_counter TO (question_counter + tf_count - 1)
	  oRS.Fields("Question_Number") = question_counter
	  oRS.Update
	  oRS.MoveNext
   NEXT
   oRS.Close
   
   'Renumber modified true false
   sqltext = "SELECT Question_Number FROM Question WHERE Test_Code=" & session("selected_test") & " AND Question_Type_Code='MTF' ORDER BY Question_Number"
   oRS.Open sqltext, oConn
   
   FOR question_counter=question_counter TO (question_counter + mtf_count - 1)
	  oRS.Fields("Question_Number") = question_counter
	  oRS.Update
	  oRS.MoveNext
   NEXT
   oRS.Close
   
   'Renumber matching
   sqltext = "SELECT Question_Number FROM Question WHERE Test_Code=" & session("selected_test") & " AND Question_Type_Code='MATCH' ORDER BY Question_Number"
   oRS.Open sqltext, oConn
   
   FOR question_counter=question_counter TO (question_counter + match_count - 1)
	  oRS.Fields("Question_Number") = question_counter
	  oRS.Update
	  oRS.MoveNext
   NEXT
   oRS.Close
   
   'Renumber completion
   sqltext = "SELECT Question_Number FROM Question WHERE Test_Code=" & session("selected_test") & " AND Question_Type_Code='COMP' ORDER BY Question_Number"
   oRS.Open sqltext, oConn
   
   FOR question_counter=question_counter TO (question_counter + comp_count - 1)
	  oRS.Fields("Question_Number") = question_counter
	  oRS.Update
	  oRS.MoveNext
   NEXT
   oRS.Close
   
   'Renumber short answer
   sqltext = "SELECT Question_Number FROM Question WHERE Test_Code=" & session("selected_test") & " AND Question_Type_Code='SA' ORDER BY Question_Number"
   oRS.Open sqltext, oConn
   
   FOR question_counter=question_counter TO (question_counter + sa_count - 1)
	  oRS.Fields("Question_Number") = question_counter
	  oRS.Update
	  oRS.MoveNext
   NEXT
   oRS.Close
   
   'Renumber essay
   sqltext = "SELECT Question_Number FROM Question WHERE Test_Code=" & session("selected_test") & " AND Question_Type_Code='ESSAY' ORDER BY Question_Number"
   oRS.Open sqltext, oConn
   
   FOR question_counter=question_counter TO (question_counter + essay_count - 1)
	  oRS.Fields("Question_Number") = question_counter
	  oRS.Update
	  oRS.MoveNext
   NEXT
   oRS.Close
   
   Session("added") = TRUE
   
   '------------------------------------------------
   'PRINT THE TEST OUT AND VERIFY THAT IT IS CORRECT
   '------------------------------------------------
   session("multi_visit") = FALSE
   session("print_header") = TRUE
%>
   <!-- #include file="inst_view_test.asp" -->
<%
   if question_counter > 1 then
      response.write "</table>"
   end if
%>
   <br><hr><br>
   <table border='0'><tr><td><img src="../images/question.gif"></td><td><font color='#003333'><b>Finished?</b></font></td><td><a href='inst_home.asp'>Return to teacher home page.</a></td></tr>
   <tr><td><img src="../images/question.gif"></td><td><font color='#003333'><b>Modify Test?</b></font></td><td><a href="inst_choose_test_modifications.asp">Add, Edit, or Delete Questions</a></td></tr></table>
<%
   oRS.Close
ELSE
   Response.Write "<br><div id=warning><u>Your test contained errors.  "
   Response.Write "Hit the back button on your browser to make corrections.</u></div>"
END IF
%>
</td></tr>

<tr><td></td><td colspan='2'><br><br><hr size='2' color='#000000'>
<font size='1'>Powered by Netest</font>
</td></tr></table>
</body>
</html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?