mn_test_quest_del.jsp
上传用户:nbluoke
上传日期:2013-08-09
资源大小:4851k
文件大小:4k
源码类别:

教育系统应用

开发平台:

WORD

  1. <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
  2. <%@ page import="jinghua.*"%>
  3. <jsp:useBean id="DBCon" class="jinghua.JinghuaConn" scope="session">
  4. </jsp:useBean>
  5. <%!boolean debug=false;
  6. Connection con=null;
  7. class Test{
  8.     long id;
  9.     String name;
  10.     String grade;
  11.     String time;
  12.     float mark;
  13.     String paper;
  14. int testnum;
  15. int mntotalmark;
  16. long mntestID;
  17.     public String toString(){
  18.         String temp="";
  19.         temp="<br> id="+id+"<br> name="+name;
  20.         return temp;
  21.    }
  22. };
  23. %>
  24. <%
  25. String testID=request.getParameter("testID");
  26. String mntestID=request.getParameter("mntestID");
  27. if(debug){
  28.     out.print("<br>testID="+testID+
  29. "<br>mntestID="+mntestID);
  30. }
  31. String [] ids=request.getParameterValues("id");
  32. if(ids==null || testID==null|| mntestID==null)
  33. throw new Exception("调用参数不足!");
  34. Test t=new Test();
  35. t.id=Long.parseLong(testID);
  36. t.mntestID=Long.parseLong(mntestID);
  37. String sql=null;
  38. StringBuffer sb=null;
  39. ResultSet rs=null;
  40. Statement stmt=null;
  41. try{
  42.     con=DBCon.getConnection();
  43. con.setAutoCommit(false);
  44. sql="SELECT   `mn_test`.`mntotalmark` FROM  `mn_test`"+
  45. " WHERE  (`mn_test`.`id` = "+t.mntestID+")";
  46. stmt=con.createStatement();
  47.     rs=stmt.executeQuery(sql);
  48. if(rs.next()){
  49. t.mntotalmark=rs.getInt("mntotalmark");
  50. rs.close();
  51. stmt.close();
  52. }
  53. else{
  54. rs.close();
  55. stmt.close();
  56. throw new Exception("没有查询到模拟考试的总分!");
  57. }
  58. sql="SELECT  `test`.`paper`,`test`.`testnum`,`test`.`mark` "+
  59. " FROM  `test` WHERE  (`test`.`id` = "+t.id+")";
  60.     stmt=con.createStatement();
  61.     rs=stmt.executeQuery(sql);
  62.     if(rs.next()){
  63.      t.paper=rs.getString("paper");
  64. t.mark=rs.getFloat("mark");
  65. t.testnum=rs.getInt("testnum");
  66. rs.close();
  67.      stmt.close();
  68. }
  69. else{
  70. rs.close();
  71. stmt.close();
  72. throw new Exception("没有查询到试卷信息!");
  73. }
  74.     if(debug) out.print("<br>mntotalmark="+t.mntotalmark+
  75. "<br>test paper="+t.paper+
  76. "<br>testnum="+t.testnum+
  77. "<br>mark="+t.mark);
  78. for(int i=0;i<ids.length;i++){
  79. //删除一道题
  80. if(debug) out.print("<br>delete quest id="+ids[i]);
  81. int pos1=0,pos2=0;
  82. pos1=t.paper.indexOf(ids[i]);
  83. if(pos1>=0){
  84. pos2=t.paper.indexOf('#',pos1);
  85. if(pos2>0){
  86. if(debug) out.print("<br>pos1="+pos1+" pos2="+pos2);
  87. String quest=t.paper.substring(pos1,pos2);
  88. if(debug) out.print("<br>quest paper="+quest);
  89. String [] temp=quest.split("@");
  90. float questmark=Float.parseFloat(temp[2]);
  91. if(debug) out.print("<br> quest id="+temp[0]+
  92.          " mark="+temp[2]);
  93. t.mark-=questmark;
  94. t.testnum--;
  95. t.mntotalmark-=questmark;
  96. t.paper=t.paper.substring(0,pos1)+t.paper.substring(pos2+1);
  97. sql="delete from question where ID="+ids[i];
  98. stmt=con.createStatement();
  99. stmt.executeUpdate(sql);
  100. stmt.close();
  101. if(debug) out.print("<br>delete quest sql="+sql);
  102. }
  103. }
  104. }//end for i
  105. sql="update test set paper='"+t.paper+"',testnum="+t.testnum+",mark="+t.mark+
  106. " where id="+t.id;
  107. stmt=con.createStatement();
  108. stmt.executeUpdate(sql);
  109. stmt.close();
  110. if(debug)
  111. out.print("<br>update test sql="+sql);
  112. sql="update mn_test set mntotalmark="+t.mntotalmark+
  113. " where id="+t.mntestID;
  114. stmt=con.createStatement();
  115. stmt.executeUpdate(sql);
  116. stmt.close();
  117. if(debug)
  118. out.print("<br>update mn_test sql="+sql);
  119. con.commit();
  120. if(!debug)
  121. response.sendRedirect("modify_test_mn_paper.jsp?testID="+t.id+"&mnID="+t.mntestID);
  122.         //Tools.showJS("window.open('admin_subject.jsp','_self')",out);
  123. }
  124. catch(SQLException se){
  125. con.rollback();
  126. out.println(se.toString());
  127. out.print("<br>sql="+sql);
  128. }
  129. catch(Exception e){
  130. con.rollback();
  131. out.print("<br>"+e.toString());
  132. }
  133. finally{
  134. DBCon.dropConnection();
  135. }
  136. %>