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

教育系统应用

开发平台:

WORD

  1. <%@ page contentType="text/html; charset=gb2312" language="java" %>
  2. <%@ page import="java.sql.*" %>
  3. <%@ page import="jinghua.*"%>
  4. <%@ page import="java.util.*"%>
  5. <%@ page import="java.text.*"%>
  6. <%! boolean debug=false;%>
  7. <jsp:useBean id="DBCon" class="jinghua.JinghuaConn" scope="session">
  8. </jsp:useBean>
  9. <%
  10. String testID=request.getParameter("testid");
  11. String studentID=request.getParameter("studentid");
  12. String mn_testID=request.getParameter("mn_testID");
  13. int valid=Integer.parseInt(request.getParameter("valid"));
  14. int old=Integer.parseInt(request.getParameter("old"));
  15. //String testID="62";
  16. //String studentID="1";
  17. if(studentID==null){
  18.     Tools.showalert("您还没有登录,或连接超时,请重新登录!",out);
  19.     Tools.showJS("window.open('../login.jsp','_self')",out);
  20. }
  21. ResultSet rs=null;
  22. String sql="";
  23. String title="";
  24. int testnum=0;
  25. StringBuffer sb=null;
  26. PreparedStatement pstmt=null;
  27. Statement stmt=null;
  28. String name="";//考生姓名
  29. int correct=0;
  30. int error=0;
  31. String correctAns="";
  32. String youAns="";
  33. StringBuffer dbmsg=new StringBuffer();
  34. StringBuffer testIDs=new StringBuffer();
  35. StringBuffer Answer=new StringBuffer();
  36. StringBuffer Mark=new StringBuffer();
  37. StringBuffer SubAns=new StringBuffer();
  38. StringBuffer SubMark=new StringBuffer();
  39. StringBuffer TF=new StringBuffer();
  40. StringBuffer Dif=new StringBuffer();
  41. int sub_num=0;
  42. Vector explain=new Vector();
  43. String [] arrMark=null;
  44. String [] arrAnswer=null;
  45. String [] arrSubAns=null;
  46. String [] arrTestID=null;
  47. String [] arrTF=null;
  48. String temp="";
  49. String subid="";//科目ID
  50. String markPercent="";//百分制的分数
  51. float testmark=0.0f;
  52. float totalmark=0.0f;
  53. int testNumber=0;
  54. try{
  55.     Connection con=DBCon.getConnection();
  56.     sql="select id,paper,title,testnum,subid from test where id="+testID;
  57.     pstmt=con.prepareStatement(sql);
  58.     rs=pstmt.executeQuery();
  59.    // pstmt.close();
  60.     if(debug){
  61.         out.print("<br>sql="+sql);
  62.     }
  63.     if(rs.next()){
  64.         //分析试题:试题ID@答案@分数@难易度;     一道试题的格式,以#号结束
  65.         if(debug) out.print("<br>begin:");
  66.         String paper=rs.getString("paper");
  67.         title=rs.getString("title");
  68.         testnum=rs.getInt("testnum");//总试题数量
  69.         subid=rs.getString("subid");
  70.         if(debug) out.print("<br>paper="+paper+"<br>testnum="+testnum);
  71.         String [] tests=paper.split("#");
  72.         for(int i=0;i<testnum;i++){
  73.             //取回试题号
  74.             String [] test=tests[i].split("@");
  75.             if(debug) {
  76.                 out.print("<BR>tests["+i+"]="+tests[i]);
  77.             }
  78.             testIDs.append(test[0]+",");//题号
  79.             Answer.append(test[1]+",");//答案
  80. Mark.append(test[2]+",");
  81.             Dif.append(test[3]+",");
  82.             testmark+=Float.parseFloat(test[2]);//总分数
  83.         }
  84.         arrMark=Mark.toString().split(",");
  85.         arrAnswer=Answer.toString().split(",");
  86.         arrTestID=testIDs.toString().split(",");
  87.         //根据arrTestID提取考生提交的答案信息,不填写的为"空";
  88.         if(debug){
  89.             out.print("<br>Mark="+Mark.toString());
  90.             out.print("<br>Answer="+Answer.toString());
  91.             out.print("<br>TestID="+testIDs.toString());
  92.             out.print("<br>Mark="+Mark.toString() );
  93.             out.print("<br>Dif="+Dif.toString());
  94.         }
  95.         //取回用户提交的答案
  96.         for(int i=0;i<testnum;i++){
  97.            temp=request.getParameter("radio"+arrTestID[i]);
  98.            if (temp==null){
  99.                SubAns.append("空"+",") ;
  100.                //arrSubAns[i]=new String("@");
  101.            }else{
  102.                SubAns.append(temp+",");
  103.                //arrSubAns[i]=new String(temp);
  104.            }
  105.         }
  106.         if(debug){
  107.             out.print("<br>Mark="+Mark.toString());
  108.             out.print("<br>Answer="+Answer.toString());
  109.             out.print("<br>TestID="+testIDs.toString());
  110.             out.print("<br>SubAns="+SubAns.toString());
  111.         }
  112.         arrSubAns=SubAns.toString().split(",");
  113.         //评分
  114.         correct=0;
  115.         error=0;
  116.         testmark=0;
  117.         totalmark=0.0f;
  118.         for(int i=0;i<testnum;i++)
  119.         {
  120.             if(valid==1 && old==0){
  121.                 jinghua.T_Question.addUsedCount(con,Integer.parseInt(arrTestID[i]));
  122.             }
  123.             totalmark+=Float.parseFloat(arrMark[i]);
  124.             if(arrSubAns[i].equals(arrAnswer[i])){
  125.                 if(valid==1 && old==0){
  126.                     jinghua.T_Question.addCorrectCount(con,Integer.parseInt(arrTestID[i]));
  127.                 }
  128.                 TF.append("T,");
  129.                 SubMark.append(arrMark[i]+",");
  130.                 correct++;
  131.                 if(debug){
  132.                     Tools.debugmsg("<br>arrMark["+i+"]="+arrMark[i],out);
  133.                 }
  134.                 testmark+=Float.parseFloat(arrMark[i]);
  135.             }else {
  136.                 error++;
  137.                 SubMark.append("0,");
  138.                 if(arrSubAns[i].equals(" "))
  139.                     TF.append("@,");
  140.                 else
  141.                     TF.append("F,");
  142.             }
  143.         }
  144.         if(debug){
  145.             out.print("<br>TF="+TF.toString() );
  146.             out.print("<br>SubMark="+SubMark.toString() );
  147.             out.print("<br>TF[2]="+TF.toString().charAt(2));
  148.         }
  149.         arrTF=TF.toString().split(",");
  150.         //考生信息
  151.         rs.close();
  152.         pstmt.close();
  153.         sql="select vcUserNo,vcName from UserInfo where vcUserNo="+"'"+studentID+"'";
  154.         pstmt=con.prepareStatement(sql);
  155.         rs=pstmt.executeQuery();
  156.         if(rs.next()){
  157.             name=""+rs.getString("vcName");
  158.         }
  159.         rs.close();
  160.         pstmt.close();
  161.         //将错题插入错题本
  162. for(int i=0;i<testnum;i++){
  163. if(debug) out.println("<BR>question error id="+arrTestID[i]+
  164.              ": result="+arrTF[i] );
  165. if(!arrTF[i].equals("T")){
  166. int count=0;
  167. sql=" select count(*) as errcount from errorpad where stu_id='"+studentID+"'"+
  168. " and question_id="+arrTestID[i];
  169. try{
  170.      stmt=con.createStatement();
  171.      rs=stmt.executeQuery(sql);
  172.      if(rs.next()){
  173. count=rs.getInt("errcount");
  174.      }
  175. rs.close();
  176. stmt.close();
  177. if(debug){
  178.              out.print("<br>errorpad question_id="+arrTestID[i]+
  179. "<br>count="+count);
  180.          }
  181. if(count==0){//插入新记录
  182. sql=" insert into errorpad(stu_id,question_id,add_date,errorcount,test_id,mn_test_id,sourcetype)"+
  183. " values('"+studentID+"',"+arrTestID[i]+",CURRENT_TIMESTAMP,1,"+testID+","+mn_testID+",3) ";
  184. stmt=con.createStatement();
  185. stmt.executeUpdate(sql);
  186. stmt.close();
  187. }else{
  188. sql=" update errorpad set errorcount=errorcount+1 where stu_id='"+studentID+"'"+
  189. " and question_id="+arrTestID[i];
  190. stmt=con.createStatement();
  191. stmt.executeUpdate(sql);
  192. stmt.close();
  193. }
  194. }
  195.      catch(SQLException se){
  196.              out.print("<br> query errorpad info error sql="+sql);
  197.          out.print("<br>"+se.toString());
  198.      }
  199.     catch(Exception e){
  200.          out.print("<br> query errorpad info error sql="+sql);
  201.         out.print("<br>"+e.toString());
  202.     }
  203. }//end_if
  204. }//end for errorpad
  205. //记录考试结果
  206. if(valid==1 && old==0){
  207.         DecimalFormat df=new DecimalFormat("###.0");//分数换算
  208.         markPercent=df.format(testmark/totalmark*100);
  209. //将分数记录到mn_scores表:
  210.         //查询mn_scores中是否有相应记录,有则删除
  211.         sql="select * from mn_scores where stu_id='"+studentID+"' and mn_test_id="+mn_testID+" and sub_id="+subid;
  212.         try{
  213.             stmt=con.createStatement();
  214.             rs=stmt.executeQuery(sql);
  215.             if(rs.next()){//已经有记录,则不更新
  216.                 rs.close();
  217.                 stmt.close();
  218.             }else
  219.             {
  220.                 rs.close();
  221.                 stmt.close();
  222.                 //在mn_scores中增加新的记录
  223.                 //构造test_rs串:正确答案串#分数串#个人答案串#TF串#难易度串#得分串
  224.                 //temp=Answer.toString()+"#"+Mark.toString()+"#"+SubAns.toString()+"#"+
  225.                 //TF.toString()+"#"+Dif.toString()+"#"+SubMark.toString();
  226.                 temp=SubAns.toString()+"#"+TF.toString()+"#"+SubMark.toString();
  227.                 sql=" insert into mn_scores(stu_id,mn_test_id,sub_id,score,tea_id,test_date,test_id,test_rs)"+
  228.                     " values( "+
  229.                      "'"+studentID+"',"+mn_testID+","+subid+","+testmark+",1,CURRENT_DATE,"+testID+",'"+
  230.                      temp+"'"+" )";
  231.                 try{
  232.                 stmt=con.createStatement();
  233.                 stmt.executeUpdate(sql);
  234.                 stmt.close();
  235.                 if(debug){
  236.                     out.print("<br>insert into mn_scores sql="+sql);
  237.                 }
  238.                 }catch(SQLException se){
  239.                     out.print("<br> insert into mn_scores error sql="+sql);
  240.                     out.print("<br>"+se.toString());
  241.                 }
  242.                 catch(Exception e){
  243.                     out.print("<br> insert into mn_scores error sql="+sql);
  244.                     out.print("<br>"+e.toString());
  245.                 }
  246.                     //检查这次模拟考试的总科目数
  247.         try{
  248.             sql="select sub_num from mn_test where id="+mn_testID;
  249.             stmt=con.createStatement();
  250.             rs=stmt.executeQuery(sql);
  251.             if(rs.next())
  252.                 sub_num=rs.getInt("sub_num");
  253.             else
  254.                 sub_num=Integer.MAX_VALUE;
  255.             rs.close();
  256.             stmt.close();
  257.             if(debug){
  258.                 out.print("<br>select subnum sql="+sql);
  259.             }
  260.         }
  261.         catch(SQLException se){
  262.             out.print("<br> query mn_test error sql="+sql);
  263.             out.print("<br>"+se.toString());
  264.         }
  265.         catch(Exception e){
  266.             out.print("<br> query mn_test error sql="+sql);
  267.             out.print("<br>"+e.toString());
  268.         }
  269.         //查询已经完成的科目数
  270.         int have_test=0;
  271.         try{
  272.             sql="select count(*) as tnum from mn_scores where stu_id='"+studentID+"' and mn_test_id="+mn_testID;
  273.             stmt=con.createStatement();
  274.             rs=stmt.executeQuery(sql);
  275.             if(rs.next()){
  276.                 have_test=rs.getInt("tnum");
  277.             }
  278.             rs.close();
  279.             stmt.close();
  280.             if(debug){
  281.                 out.print("<br>have test subs="+have_test);
  282.             }
  283.         }
  284.         catch(SQLException se){
  285.             out.print("<br> query mn_scores error sql="+sql);
  286.             out.print("<br>"+se.toString());
  287.         }
  288.         catch(Exception e){
  289.             out.print("<br> query mn_scores error sql="+sql);
  290.             out.print("<br>"+e.toString());
  291.         }
  292.         if(have_test==sub_num){
  293.             //如果完成了模拟考试,则在mn_history中增加记录,表明学生完成了这次测试
  294.             sql="select * from mn_history where stu_id='"+studentID+"' and mn_test_id="+mn_testID;
  295.             try{
  296.                 stmt=con.createStatement();
  297.                 rs=stmt.executeQuery(sql);
  298.                 if(rs.next()){
  299.                    rs.close();
  300.                    stmt.close();
  301.                 }else{
  302.                     rs.close();
  303.                     stmt.close();
  304.                     //查询这次模拟考试的总分及积各科目分数
  305.                      sql=" SELECT  `subject`.`id` AS  `subid`,`subject`.`Name` AS `subname`, "+
  306.                     " FORMAT(`test`.`mark`,0) AS `totalmark`,  FORMAT(`mn_scores`.`score`,0) AS `score` "+
  307.         " FROM  `mn_scores`  LEFT OUTER JOIN `subject` ON (`mn_scores`.`sub_id` = `subject`.`ID`)"+
  308.         " LEFT JOIN `test` ON (`mn_scores`.`test_id` = `test`.`id`)"+
  309.         " WHERE  (`mn_test_id` = "+mn_testID+") AND (`stu_id` = '"+studentID+"')"+
  310.         " ORDER BY `subid`";
  311.                         int his_subnum=0;
  312.                         int hisreal=0;
  313.                         sb=new StringBuffer();//化学:50#物理:20#英语:40#
  314.                         stmt=con.createStatement();
  315.                         rs=stmt.executeQuery(sql);
  316.                         while(rs.next()){
  317.                             his_subnum++;
  318.                             hisreal+=rs.getInt("score");
  319.                             sb.append(rs.getString("subname")+":"+rs.getString("score")+"#");
  320.                         }
  321.                         rs.close();
  322.                         stmt.close();
  323.                     sql="insert into mn_history(stu_id,mn_test_id,test_date,totalmark,submark,sub_num) "+
  324.                     " values('"+studentID+"',"+mn_testID+",CURRENT_DATE,"+hisreal+",'"+sb.toString()+"',"+
  325.                      his_subnum+")";
  326.                     stmt=con.createStatement();
  327.                     stmt.executeUpdate(sql);
  328.                 }
  329.                 if(debug){
  330.                     out.print("<br>insert into mn_history sql="+sql);
  331.                 }
  332.             }
  333.             catch(SQLException se){
  334.                 out.print("<br>insert into mn_history sql="+sql);
  335.                 out.print("<br>"+se.toString());
  336.             }
  337.             catch(Exception e){
  338.                 out.print("<br>insert into mn_history sql="+sql);
  339.                 out.print("<br>"+e.toString());
  340.             }
  341.             //增加参加考试的人数
  342.              //获取参加模拟考试的总人数,而且必须完成这次模拟考试的全部测试
  343.              int testPeople=0;
  344.             sql="SELECT count(*) as tested from mn_history where mn_test_id="+mn_testID;
  345.             try{
  346.                 stmt=con.createStatement();
  347.                 rs=stmt.executeQuery(sql);
  348.                 if(rs.next()){
  349.                     testPeople=rs.getInt("tested");
  350.                 }
  351.                 else{
  352.                     testPeople=0;
  353.                 }
  354.                 rs.close();
  355.                 stmt.close();
  356.             }
  357.             catch(SQLException se){
  358.                 out.print("<br> query mn_history error sql="+sql);
  359.                 out.print("<br>"+se.toString());
  360.             }
  361.             catch(Exception e){
  362.                 out.print("<br> query mn_history error sql="+sql);
  363.                 out.print("<br>"+e.toString());
  364.             }
  365.             //有人做完模拟考试
  366.             //将参加模拟考试的总人数写入数据库
  367.             try{
  368.             sql="update mn_test set testpeople="+testPeople+" where id="+mn_testID;
  369.             stmt=con.createStatement();
  370.             stmt.executeUpdate(sql);
  371.             stmt.close();
  372.             }
  373.             catch(SQLException se){
  374.                 out.print("<br> update mn_test.testpeople error sql="+sql);
  375.                 out.print("<br>"+se.toString());
  376.             }
  377.             catch(Exception e){
  378.                 out.print("<br> update mn_test.testpeople error sql="+sql);
  379.                 out.print("<br>"+e.toString());
  380.             }
  381.             if(debug){
  382.                 out.print("<br>mn_test totalpeople sql="+sql);
  383.                 out.print("<br>mn_test totalpeople="+testPeople);
  384.             }
  385.         }//end if(have_test==sub_num)
  386.         }
  387.         }catch(SQLException se){
  388.             out.print("<br> query mn_scores error sql="+sql);
  389.             out.print("<br>"+se.toString());
  390.         }
  391.         catch(Exception e){
  392.             out.print("<br> query mn_scores error sql="+sql);
  393.             out.print("<br>"+e.toString());
  394.         }
  395.         }//end if(valid=1)
  396.     //试题记录集
  397. sql=testIDs.toString().substring(0,testIDs.length()-1);
  398.         sql="select id,questtext,tip,mark from question where id in ("+sql+") order by id";
  399. pstmt=con.prepareStatement(sql);
  400.         rs=pstmt.executeQuery();
  401.      }
  402. %>
  403. <html>
  404. <head>
  405. <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  406. <title>成绩查询 | 考试成绩 |  | 单项选择题</title>
  407. <link rel="stylesheet" type="text/css" href="../css.css">
  408. </head>
  409. <body>
  410. <center>
  411.   <table border="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber2" height="25">
  412.     <tr>
  413.       <td width="100%" height="29" style="border-left-style: solid; border-left-width: 0; border-right-style: solid; border-right-width: 0; border-top-style: solid; border-top-width: 0; border-bottom: 1px solid #000000">
  414.         <img border="0" src="../images/cxcj.gif"></td>
  415.     </tr>
  416.     <tr>
  417.       <p>&nbsp;</p>
  418.     </tr>
  419.   </table>
  420.   <p>&nbsp;</p>
  421. </center>
  422. <div align="center">
  423.   <center>
  424.   <table cellspacing="1" style="border-collapse: collapse" bordercolor="#799AE1" width="469" id="AutoNumber2" border="1">
  425.       <form method="POST" action=""><tr>
  426.       <td width="100%" height="25" bgcolor="#6699CC" background="images/admin_bg_1.gif" bordercolor="#799AE1">
  427.       <p align="center"><b>&nbsp;<font color="#FFFFFF">成绩单</font></b></td>
  428.     </tr>
  429.     <tr>
  430.       <td width="100%" height="160" bgcolor="#FFFDE8" bordercolor="#799AE1">
  431.         <p align="center"> </p>
  432.             <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" height="202">
  433.               <tr>
  434.                 <td width="8%" height="28"> <p align="right">考生编号:</td>
  435.                 <td height="28" colspan="4"> <%=studentID%></td>
  436.               </tr>
  437.               <tr>
  438.                 <td width="8%" height="29"> <p align="right">姓&nbsp;&nbsp;&nbsp;
  439.                     名:</td>
  440.                 <td height="29" colspan="4"><%=name%>&nbsp;</td>
  441.               </tr>
  442.               <tr>
  443.                 <td width="8%" height="29"> <p align="right">得&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;分:</td>
  444.                 <td width="13%" height="29">卷面分:</td>
  445.                 <td width="23%"><%=testmark%>&nbsp;</td>
  446.                 <td width="15%">百分制:</td>
  447.                 <td width="41%">
  448.                 <% DecimalFormat df=new DecimalFormat("###");
  449.                     String r=df.format(testmark/totalmark*100);
  450.                     out.print(r);
  451.                 %>
  452.             &nbsp;&nbsp;</td>
  453.               </tr>
  454.               <tr>
  455.                 <td width="8%" height="29"> <p align="right">答&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;错:</td>
  456.                 <td height="29" colspan="4"><%=error%>&nbsp;</td>
  457.               </tr>
  458.               <tr>
  459.                 <td width="8%" height="29"> <p align="right">答&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;对:</td>
  460.                 <td height="29" colspan="4"><%=correct%>&nbsp;</td>
  461.               </tr>
  462.               <tr>
  463.                 <td height="29"> <p align="right">正确答案:</p></td>
  464.                 <td height="29" colspan="4"><%=Answer.toString() %>&nbsp;</td>
  465.               </tr>
  466.               <tr>
  467.                 <td height="29"><p align="right">您的答案:</p></td>
  468.                 <td height="29" colspan="4"><%=SubAns.toString()%>&nbsp;</td>
  469.               </tr>
  470.             </table>
  471.         <p align="center"> </p>
  472.       </td>
  473.     </tr>
  474.     <tr>
  475.           <td width="100%" height="25" bgcolor="#FFFFFF" bordercolor="#799AE1"> <p align="center">
  476.               <INPUT class="s02" onclick="window.close()" type=button value=返回 name=close2>
  477.               <span lang="en-us"> </span></td>
  478.  </tr></form>
  479.   </table>
  480.   </center>
  481. </div>
  482. <center><form name="viewdatabase"  ACTION=""  method="post">
  483.   <table border="1" cellspacing="1" style="border-collapse: collapse" bordercolor="#799AE1" width="100%" id="AutoNumber1" height="82">
  484.     <tr class="trh">
  485.       <td width="44" align="center" bgcolor="#799AE1" height="24">
  486.       <font color="#FFFFFF"><b>序号</b></font></td>
  487.         <td align="center" bgcolor="#799AE1" width="592" height="24"> <p align="center"><font color="#FFFFFF">
  488. <b>单项选择题(共<%=testnum%>&nbsp;题,<%=totalmark%>分)</b></font></td>
  489.     </tr>
  490. <% testNumber=0;
  491. while(rs.next()){%>
  492.     <tr class="trh1">
  493.         <td align="center"   height="35" width="44"> 
  494. <center>
  495.             <table width="100%" border="0" cellspacing="0" cellpadding="0">
  496.               <tr>
  497.                 <td> <div align="center">
  498.                     <%out.print(testNumber+1);%>.
  499.                   </div></td>
  500.               </tr>
  501.               <tr>
  502.                 <td><div align="center">(<%=arrMark[testNumber]%>分)</div></td>
  503.               </tr>
  504.             </table>
  505.           </center>&nbsp;</td>
  506.         <td align="left" width="592" height="35"><br>
  507. <%
  508. out.print("正确答案是"+arrAnswer[testNumber]+",&nbsp;&nbsp;");
  509.                         if(arrTF[testNumber].equals("T")){
  510.                             out.print("您的答案是"+arrSubAns[testNumber] +"<br>");
  511.                         }else{
  512.                             out.print("<font color=Red>您的答案是"+arrSubAns[testNumber] +"</font><br>");
  513.                         }
  514. out.print("原题目:<br>"+rs.getString("questtext"));
  515. out.print("<br>提示:<br>"+""+rs.getString("tip"));
  516. testNumber++;
  517. %>
  518. </td>
  519.     </tr>
  520. <%}
  521.     rs.close();
  522.     pstmt.close();
  523.     %>
  524.     <tr>
  525.       <td align="center" bgcolor="#FFFFFF" height="16" width="640" colspan="2" bordercolor="#FFFFFF">
  526.       <p align="center">
  527.       <INPUT class="s02" onclick="window.close()" type=button value=返回 name=close>
  528.       </p>
  529.       </td>
  530.       </tr>
  531.   </table>
  532. </form>
  533.  </center>
  534.  <center> <form ACTION="" METHOD="GET">
  535.     <table style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0">
  536.       <tr>
  537.         <td width="576">
  538.         <p ALIGN="center">&nbsp;</p>
  539.         <p> </td>
  540.       </tr>
  541.     </table>
  542.   </form>
  543.  </center>
  544. </body>
  545. </html>
  546. <%}
  547. catch (Exception e){
  548.     if(debug){
  549.        Tools.debugmsg("<BR>Exception:"+e.toString() ,out);
  550.     }
  551. }
  552. finally{
  553.     DBCon.dropConnection();
  554. }
  555. %>