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

教育系统应用

开发平台:

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.     public String toString(){
  16.         String temp="";
  17.         temp="<br> id="+id+"<br> name="+name;
  18.         return temp;
  19.    }
  20. };
  21. %>
  22. <%
  23. String testID=request.getParameter("testID");
  24. if(debug){
  25.     out.print("<br>testID="+testID);
  26. }
  27. String [] ids=request.getParameterValues("id");
  28. if(ids==null || testID==null)
  29. throw new Exception("调用参数不足!");
  30. Test t=new Test();
  31. t.id=Long.parseLong(testID);
  32. String sql=null;
  33. StringBuffer sb=null;
  34. ResultSet rs=null;
  35. Statement stmt=null;
  36. try{
  37.     con=DBCon.getConnection();
  38. con.setAutoCommit(false);
  39. sql="SELECT  `test`.`paper`,`test`.`testnum`,`test`.`mark` "+
  40. " FROM  `test` WHERE  (`test`.`id` = "+t.id+")";
  41.     stmt=con.createStatement();
  42.     rs=stmt.executeQuery(sql);
  43.     if(rs.next()){
  44.      t.paper=rs.getString("paper");
  45. t.mark=rs.getFloat("mark");
  46. t.testnum=rs.getInt("testnum");
  47.     }
  48.     rs.close();
  49.     stmt.close();
  50. if(debug) out.print("<br>test paper="+t.paper+
  51. "<br>testnum="+t.testnum+
  52. "<br>mark="+t.mark);
  53. for(int i=0;i<ids.length;i++){
  54. //删除一道题
  55. if(debug) out.print("<br>delete quest id="+ids[i]);
  56. int pos1=0,pos2=0;
  57. pos1=t.paper.indexOf(ids[i]);
  58. if(pos1>=0){
  59. pos2=t.paper.indexOf('#',pos1);
  60. if(pos2>0){
  61. if(debug) out.print("<br>pos1="+pos1+" pos2="+pos2);
  62. String quest=t.paper.substring(pos1,pos2);
  63. if(debug) out.print("<br>quest paper="+quest);
  64. String [] temp=quest.split("@");
  65. float questmark=Float.parseFloat(temp[2]);
  66. if(debug) out.print("<br> quest id="+temp[0]+
  67.          " mark="+temp[2]);
  68. t.mark-=questmark;
  69. t.testnum--;
  70. t.paper=t.paper.substring(0,pos1)+t.paper.substring(pos2+1);
  71. sql="delete from question where ID="+ids[i];
  72. stmt=con.createStatement();
  73. stmt.executeUpdate(sql);
  74. stmt.close();
  75. if(debug) out.print("<br>delete quest sql="+sql);
  76. }
  77. }
  78. }//end for i
  79. sql="update test set paper='"+t.paper+"',testnum="+t.testnum+",mark="+t.mark+
  80. " where id="+t.id;
  81. stmt=con.createStatement();
  82. stmt.executeUpdate(sql);
  83. stmt.close();
  84. con.commit();
  85. if(debug)
  86. out.print("<br>update test sql="+sql);
  87. else
  88. response.sendRedirect("modify_test_unit.jsp?testID="+testID);
  89.         //Tools.showJS("window.open('admin_subject.jsp','_self')",out);
  90. }
  91. catch(SQLException se){
  92. con.rollback();
  93. out.println(se.toString());
  94. out.print("<br>sql="+sql);
  95. }
  96. catch(Exception e){
  97. con.rollback();
  98. out.print("<br>"+e.toString());
  99. }
  100. finally{
  101. DBCon.dropConnection();
  102. }
  103. %>