getscore.jsp
上传用户:hjt198082
上传日期:2015-04-16
资源大小:95k
文件大小:4k
源码类别:

MySQL数据库

开发平台:

Java

  1. <%@page contentType="text/html;charset=GBK"%>
  2. <%@page import="java.sql.*"%>
  3. <jsp:useBean id="conn" scope="page" class="test.ConnOracle"/>
  4. <%@ include file="/public/checkvalidstudent.jsp"%>
  5. <%!
  6.     ResultSet rs     = null;                      // 执行Sql语句返回的结果集
  7. String sql = "";
  8. String paperid = "";
  9. String student_answer[] = new String[100];
  10. String paper_answer[]  = new String[100];
  11. int correct_question = 0;                     // 记录共答对了多少道题
  12. int score = 0;                                // 总分
  13. int tmp_paper_id;
  14. int tmp_questionid;
  15. int tmp_selectid;
  16. %>
  17. <%
  18.     // session paperid的值在exam2.jsp中设置
  19. paperid = (String) session.getAttribute("paperid");
  20. if(paperid == null) {
  21.     out.println("读取试卷信息错误!");
  22. return;
  23. }
  24. sql = "select paper_id,questionid,selectid,classid,classname,qname,choice1,choice2,choice3,choice4,answer from test_paper_info where paper_id=" + session.getAttribute("paperid");
  25. rs = conn.executeQuery( sql );
  26. int answer_index = 0;
  27. String tmpbuffer[] = new String[4];        // 为了处理多选题,而使用的一个字符串数组
  28.      
  29. correct_question=0;
  30. while(rs.next()) {
  31. // 对单选题的处理
  32. tmp_paper_id = rs.getInt("paper_id");
  33. tmp_questionid = rs.getInt("questionid");
  34. tmp_selectid = rs.getInt("selectid");
  35. student_answer[answer_index] = "";
  36. if(tmp_selectid==1) { //单项选择和多项选择的问题真多,郁闷,getInt总是出现无效的描述符索引错误,待解决中。。。
  37.    student_answer[answer_index] = request.getParameter(""+ tmp_questionid );
  38. }else {  // 对多选题的处理
  39.     tmpbuffer = request.getParameterValues(""+ tmp_questionid );
  40. if(tmpbuffer!=null) {
  41. for(int i=0; i<tmpbuffer.length; i++) {
  42. if(tmpbuffer[i] != null)
  43.    student_answer[answer_index] += tmpbuffer[i];
  44. }
  45. }
  46. }
  47. paper_answer[answer_index] = rs.getString(11);
  48. if(student_answer[answer_index]!=null && student_answer[answer_index].equals(paper_answer[answer_index]))
  49. correct_question++;
  50. answer_index++;
  51. }
  52. score = (int) (correct_question * 100 / answer_index);
  53. // 下面将学生考试结果保存到test_result表中
  54.    sql = "insert into test_result (studentid,score,starttime,classid) values (";
  55.    sql+= (String)(session.getAttribute("studentid")) ;
  56.    // 下面用到的classid在页面exam2.jsp中赋值
  57.    sql+= "," + score + ",getdate(),'" + (String)(session.getAttribute("classid")) + "')";
  58.    conn.executeUpdate( sql );
  59. %>
  60. <html>
  61. <head>
  62.   <title>入学测试得分</title>
  63.   <link rel="stylesheet" href="../public/style.css">
  64. </head>
  65. <body bgcolor="#FFFFFF" background="../images/bg3.gif">
  66. <center>
  67. <br><br><br><br><br><br><br><br><br>
  68. <table class=dbt2 width=640 cellSpacing=1 cellPadding=3 border=0>
  69.   <tr class=dbt3>
  70.     <td colspan=2 align="center">入学测试得分</td>
  71.   </tr>
  72.  
  73.   <tr class=dbt4>
  74.     <td width="18%">id号:</td>
  75.     <td width="82%" align="center">
  76. <%
  77. if(session.getAttribute("studentid") != null)
  78.     out.println(session.getAttribute("studentid"));
  79. %>
  80. </td>
  81.   </tr>
  82.   <tr class=dbt4>
  83.     <td width="18%">姓名:</td>
  84.     <td width="82%" align="center">
  85. <%
  86. if(session.getAttribute("studentname") != null)
  87.     out.println(session.getAttribute("studentname"));
  88. %>
  89. </td>
  90.   </tr>
  91.   <tr class=dbt4>
  92.     <td width="18%">考试用时:</td>
  93.     <td width="82%" align="center">
  94. <%
  95. if(request.getParameter("totaltime")!=null)
  96.     out.println(request.getParameter("totaltime"));
  97. %>分钟</td>
  98.   </tr>
  99.   <tr class=dbt4>
  100.     <td width="18%">考试成绩:</td>
  101.     <td width="82%" align="center">答对<%=correct_question%>道题,分数为<%=score%>分</td>
  102.   </tr>
  103.   <tr class=dbt4>
  104.     <td align="center" colspan="2">&nbsp;谢谢你参加此次考试!</td>
  105.   </tr>
  106.   <tr class=dbt4>
  107.     <td align="center" colspan="2">【<a href="javascript:window.close()">关闭窗口</a>】</td>
  108.   </tr>
  109. </table>
  110. </center>
  111. </body>
  112. </html>