?? updatetest_mn.jsp
字號:
knowPointID1+","+knowPointID2+","+knowPointID3+","+mark+")";
//缺省testtypeid=1:單一的選擇題;statue=2:已經發布;status=3為正式考試
Statement stmt=con.createStatement();
stmt.executeUpdate(sql);
stmt.close();
if(debug){
Tools.debugmsg("<br>insert into test:SQL="+sql,out);
}
stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select LAST_INSERT_ID() as newid from question");
if(rs.next()){
newtestID=rs.getInt("newID");
rs.close();
stmt.close();
if(newtestID>0){//將這一試卷增加到mn_test表中的相應記錄中去
if(debug){
out.print("<br>mn_testID="+mntestID);
}
int test_num=-1;
String test_paper="";
int sub_num=-1;
String subs="";
int mntotalmark=0;
sql="select * from mn_test where id="+mntestID;
try{
stmt=con.createStatement();
rs=stmt.executeQuery(sql);
if(rs.next()){
test_num=rs.getInt("test_num");
test_paper=rs.getString("test_paper");
sub_num=rs.getInt("sub_num");
subs=rs.getString("subs");
mntotalmark=rs.getInt("mntotalmark");
if(test_paper==null){
test_paper="";
}
if(subs==null){
subs="";
}
}
rs.close();
stmt.close();
if(debug){
out.print("<br>mn_test:test_num="+test_num);
out.print("<br>mn_test:test_paper="+test_paper);
out.print("<br>mn_test:sub_num="+sub_num);
out.print("<br>mn_test:subs="+subs);
}
//add test
if(test_paper.equals("")){
test_paper+=String.valueOf(newtestID);//一份試卷以","分隔
}else{
test_paper+=","+String.valueOf(newtestID);//一份試卷以","分隔
}
test_num++;
//add sub
if(subs.indexOf(String.valueOf(subjectID))<0){//new sub
mntotalmark+=mark;
if(subs.equals("")){
subs+=String.valueOf(subjectID);
}else{
subs+=","+String.valueOf(subjectID);
}
sub_num++;
}
if(debug){
out.print("<br>mn_test:test_num="+test_num);
out.print("<br>mn_test:test_paper="+test_paper);
out.print("<br>mn_test:sub_num="+sub_num);
out.print("<br>mn_test:subs="+subs);
}
sql=" update mn_test set testpeople= 0, test_num="+test_num+",test_paper='"+test_paper+"' ,"+
" sub_num="+sub_num+",subs='"+subs+"',"+
" mntotalmark="+mntotalmark+
" where id="+mntestID;
stmt=con.createStatement();
stmt.executeUpdate(sql);
sql="delete from mn_history where mn_test_id="+mntestID;
stmt=con.createStatement();
stmt.executeUpdate(sql);
}catch(SQLException se){
out.print("<BR>update mn_test error: sql="+sql);
out.print("<BR>"+se.toString());
msgsb.append("update mn_test error: sql="+sql);
try{
con.rollback();
}catch(Exception e1){
msgsb.append("<BR>rollbackcbd:SQL="+sql+"\n"+e1.toString());
}
}
catch(Exception e){
out.print("<BR>update mn_test error: sql="+sql);
out.print("<BR>"+e.toString());
msgsb.append("update mn_test error: sql="+sql);
try{
con.rollback();
}catch(Exception e1){
msgsb.append("<BR>rollbackcbd:SQL="+sql+"\n"+e1.toString());
}
}
}
}
con.commit();
if(debug){
out.print("<br> new test ID is:"+newtestID);
stmt=con.createStatement();
rs=stmt.executeQuery("select id,paper,title from test where id="+newtestID);
if (rs.next()){
Tools.debugmsg("<br> the newest paper is:"+rs.getString("paper"),out);
Tools.debugmsg("<br> the title of the paper is:"+rs.getString("title"),out);
}
rs.close();
stmt.close();
}
}
catch(SQLException e){
try{
con.rollback();
}catch(Exception e1){
msgsb.append("<BR>rollbackcbd:SQL="+sql+"\n"+e1.toString());
}
msgsb.append("insert Error:SQL="+sql+"\n"+e.toString());
}
catch(Exception e){
try{
con.rollback();
}catch(Exception e1){
msgsb.append("<BR>rollbackcbd:SQL="+sql+"\n"+e1.toString());
}
msgsb.append("insert Error:SQL="+sql+"\n"+e.toString());
}
}else{
try{
con.rollback();
}catch(Exception e2){
msgsb.append("rollback:SQL="+sql+"\n"+e2.toString());
}
msgsb.append("Single test is error i="+i);
}
}catch(Exception e){
try{
con.rollback();
}catch(Exception e1){
msgsb.append("<BR>rollbackcbd:SQL="+sql+"\n"+e1.toString());
}
msgsb.append("<br>Batch submit Error\n"+
"<br>strArray["+i+"]="+strArray[i]+"<br>"+e.toString() );
Tools.debugmsg("<br>i="+i,out);
}
return newtestID;
}
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>試題提交</title>
</head>
<body>`
<%
try{
//UN_debug
msgsb.delete(0,msgsb.length() );
msgsb.append("OK");
try{
String TeacherID=(String)session.getAttribute("teacherID");
//Tools.showalert("teaID="+TeacherID,out);
//Tools.showalert("msgdb="+msgsb.toString(),out);
//Tools.showalert(TeacherID,out);
teaID=Integer.parseInt(TeacherID);
}catch(Exception e){
Tools.showalert("您還沒有登錄,或連接超時,請重新登錄!",out);
response.sendRedirect("../login.jsp");
msgsb.append("teacherID Error\n");
Tools.showJS("window.open('../login.jsp','_self')",out);
//response.sendRedirect("../login.jsp");
Tools.goback(out);
}
if (msgsb.toString().equals("OK"))
{
questTypeID=""+request.getParameter("QuestType");//試題類型ID
subjectID=Integer.parseInt(request.getParameter("Subject"));//科目ID
gradeID=""+request.getParameter("Grade");//計算機等級ID
mntestID=Integer.parseInt(request.getParameter("mntest"));//正式考試ID
knowPointID1=""+request.getParameter("KnowPoint1");//知識點ID
knowPointID2=""+request.getParameter("KnowPoint2");//知識點ID
knowPointID3=""+request.getParameter("KnowPoint3");//知識點ID
String strHtml=""+request.getParameter("Content");//獲取提交的試題的HTML
//debug
con=DBCon.getConnection();
//
strHtml=Tools.codestring(strHtml);//轉換字符集
String group=""+request.getParameter("group");
if(group.equals("single")){//提交單個試題
//ID=submitOne(strHtml,answer,mark,difficulty,con,false);
}else{
if(group.equals("suit") ){
String Title=""+request.getParameter("suit_title");
Title=Tools.codestring(Title);
ID=submitAll(strHtml,Title,con,out);
}
}
%>
<%temp=msgsb.toString();
if(debug){
out.print("<br><br><br>New Information");
out.print(temp);
}
if(temp.equals("OK")){
//提交成功
if(group.equals("single")){//提交單個試題
Tools.showalert(" 試題提交成功,新的試題ID為:"+ID,out);
Tools.goback(out);
}else if(group.equals("suit")){
Tools.showalert(" 試卷提交成功,新的試卷ID為:"+ID,out);
Tools.goback(out);
}
%>
<%
}
else{
System.out.print(msgsb.toString());
%>
<SCRIPT language="javascript">
alert("試題未能提交成功,請檢查提交信息或與系統管理員聯系");
//history.go(-1);
</SCRIPT>
<%
}
%>
</body>
</html>
<%
}
%>
<%}
catch(Exception e){
System.out.print(e.toString());
}
finally{
DBCon.dropConnection();
}
%>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -