⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 modify_test.jsp

📁 在线考试软件。 在线考试软件详细设计说明书:说明在线测试这一模块各部分的功能和结构
💻 JSP
📖 第 1 页 / 共 2 页
字号:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" %>

<%@ page import="java.sql.*"%>
<%@ page import="jinghua.*"%>
<%@ page import="java.util.*"%>
<jsp:useBean id="DBCon" class="jinghua.JinghuaConn" scope="session">
</jsp:useBean>
<%!boolean debug=false;
Connection con;
class Test{
    String id;
    String name;
    String grade;
    String time;
    String totalMark;
    String testclass;
    String status;
    public String toString(){
        String temp="";
        temp="<br> id="+id+"<br> name="+name;
        return temp;
   }
};



Statement stmt=null;
ResultSet rs=null;
String sql="";
String sqlCon=null;
int testNumber=0;
int EveryPage=5;//每页显示的记录数;
int OnPage=1; //当前显示的页数;
int Total=0;//记录的总数;
int TotalPage=0;//记录的总页数;
%>
<%
ArrayList testSet=new ArrayList();

try{
    con=DBCon.getConnection();



%>



<%
//构造查询条件
//String query_grade=(String)session.getAttribute("query_grade");
//String query_sub=(String)session.getAttribute("query_sub");
//String query_knowpoint=(String)session.getAttribute("query_knowpoint");
//String query_testtype=(String)session.getAttribute("query_testtype");
//String errorpad_errorcount=(String)session.getAttribute("errorpad_errorcount");
sqlCon="";
String query_grade=request.getParameter("Grade");
String query_sub=request.getParameter("Subject");
String query_knowpoint=request.getParameter("KnowPoint");
String query_testtype=request.getParameter("testtype");



if(query_grade!=null)
{
    session.setAttribute("query_grade",query_grade);
}
else
{
    query_grade=(String)session.getAttribute("query_grade");
}
if(query_sub!=null)
{
    session.setAttribute("query_sub",query_sub);
}else
{
    query_sub=(String)session.getAttribute("query_sub");
}
if(query_knowpoint!=null)
{
    session.setAttribute("query_knowpoint",query_knowpoint);
}
else
{
    query_knowpoint=(String)session.getAttribute("query_knowpoint");
}
if(query_testtype!=null)
{
    session.setAttribute("query_testtype",query_testtype);
}
else
{
    query_testtype=(String)session.getAttribute("query_testtype");
}

if(query_grade==null)
    query_grade="all";
if(query_sub==null)
    query_sub="all";
if(query_knowpoint==null)
    query_knowpoint="all";
if(query_testtype==null)
    query_testtype="2";

if(debug){
    out.print("<br>grade="+query_grade+
    "<br>sub="+query_sub+
    "<br>knowpoint="+query_knowpoint+
    "<br>testtype="+query_testtype
    );
}
sqlCon="";
int itesttype=Integer.parseInt(query_testtype);
switch (itesttype){
	case 1://自由测试
		//test.status=3:模拟考试,4:自由测试, 2:单元测试
		sqlCon=" (test.status<>3 AND test.status<>2)";
        if(query_grade!=null){
            if(!query_grade.equals("all")){
                if(query_grade.equals("c")){
                    if(sqlCon.equals(""))
                        sqlCon=" (test.gradenote='c1' OR test.gradenote='c2' OR test.gradenote='c3')";
                    else
                        sqlCon=sqlCon+ " AND "+" (test.gradenote='c1' OR test.gradenote='c2' OR test.gradenote='c3')";
                }else if(query_grade.equals("g")){
                    if(sqlCon.equals(""))
                        sqlCon=" (test.gradenote='g1' OR test.gradenote='g2' OR test.gradenote='g3l' OR test.gradenote='g3w')";
                    else
                        sqlCon=sqlCon+ " AND "+" (test.gradenote='g1' OR test.gradenote='g2' OR test.gradenote='g3l' OR test.gradenote='g3w')";
                }
                else if(sqlCon.equals(""))
                        sqlCon=" (test.gradenote='"+query_grade+"')";
                    else
                        sqlCon=sqlCon+ " AND "+" (test.gradenote='"+query_grade+"')";
            }
        }
        if(debug)   out.println("<br>grade sql="+sqlCon);

        if(query_sub!=null){
        if(!query_sub.equals("all")){
            if (!sqlCon.equals(""))
                sqlCon=sqlCon +" AND (test.subid="+query_sub+")";
            else
                sqlCon=" (test.subid="+query_sub+")";
            }
        }
        if(debug)    out.println("<br>subject 4"+sqlCon);

        if(query_knowpoint!=null){
            if(!query_knowpoint.equals("all")){
                if(!sqlCon.equals(""))
                    sqlCon=sqlCon+" AND(test.knowpointid1="+query_knowpoint +
                        " OR test.knowpointid2="+query_knowpoint+
                        " OR test.knowpointid3="+query_knowpoint+")";
                else
                    sqlCon=" (test.knowpointid1="+query_knowpoint +
                        " OR test.knowpointid2="+query_knowpoint+
                        " OR test.knowpointid3="+query_knowpoint+")";
            }
        }
        if(debug)    out.println("<br>knowpoint sql="+sqlCon);
        sql="SELECT   `test`.`id`, `test`.`status`, `grade`.`Name` AS `gradename`,"+
            "  `test`.`title` AS `testname`,  `test`.`mark`,  `test`.`date` AS `testdate`"+
            "  FROM  `test`  LEFT OUTER JOIN `grade` ON (`test`.`gradenote` = `grade`.`note`)";

        if(!sqlCon.equals("")) sql=sql+" WHERE "+sqlCon;
        sql=sql+" ORDER BY  `test`.`gradenote`,`test`.`subid`,`test`.`id`";

        if(debug) out.println("<br>test sql="+sql);
        stmt=con.createStatement();
        rs=stmt.executeQuery(sql);
        while(rs.next()){
            Test t=new Test();
            if(rs.getInt("status")==4)
                t.status="已发布";
            else
                t.status="己注销";
            t.id=rs.getString("id");
            //<a href="Query_test_mn.jsp" target="_self">test</a>
            t.name="<a href="+"modify_test_free.jsp?testID="+t.id+" target=\"_self\">"+
                        rs.getString("testname")+"</a>";
            t.grade=rs.getString("gradename");
            t.totalMark=rs.getString("mark");
            t.testclass="单元测试";
            t.time=rs.getString("testdate");
            testSet.add(t);
        }
        rs.close();
        stmt.close();

        break;
    case 2://单元测试
		//test.status=3:模拟考试,4:自由测试
		sqlCon=" (test.status<>3 AND test.status<>4)";
        if(query_grade!=null){
            if(!query_grade.equals("all")){
                if(query_grade.equals("c")){
                    if(sqlCon.equals(""))
                        sqlCon=" (test.gradenote='c1' OR test.gradenote='c2' OR test.gradenote='c3')";
                    else
                        sqlCon=sqlCon+ " AND "+" (test.gradenote='c1' OR test.gradenote='c2' OR test.gradenote='c3')";
                }else if(query_grade.equals("g")){
                    if(sqlCon.equals(""))
                        sqlCon=" (test.gradenote='g1' OR test.gradenote='g2' OR test.gradenote='g3l' OR test.gradenote='g3w')";
                    else
                        sqlCon=sqlCon+ " AND "+" (test.gradenote='g1' OR test.gradenote='g2' OR test.gradenote='g3l' OR test.gradenote='g3w')";
                }
                else if(sqlCon.equals(""))
                        sqlCon=" (test.gradenote='"+query_grade+"')";
                    else
                        sqlCon=sqlCon+ " AND "+" (test.gradenote='"+query_grade+"')";
            }
        }
        if(debug)   out.println("<br>grade sql="+sqlCon);

        if(query_sub!=null){
        if(!query_sub.equals("all")){
            if (!sqlCon.equals(""))
                sqlCon=sqlCon +" AND (test.subid="+query_sub+")";
            else
                sqlCon=" (test.subid="+query_sub+")";
            }
        }
        if(debug)    out.println("<br>subject 4"+sqlCon);

        if(query_knowpoint!=null){
            if(!query_knowpoint.equals("all")){
                if(!sqlCon.equals(""))
                    sqlCon=sqlCon+" AND(test.knowpointid1="+query_knowpoint +
                        " OR test.knowpointid2="+query_knowpoint+
                        " OR test.knowpointid3="+query_knowpoint+")";
                else
                    sqlCon=" (test.knowpointid1="+query_knowpoint +
                        " OR test.knowpointid2="+query_knowpoint+
                        " OR test.knowpointid3="+query_knowpoint+")";
            }
        }
        if(debug)    out.println("<br>knowpoint sql="+sqlCon);
        sql="SELECT   `test`.`id`, `test`.`status`, `grade`.`Name` AS `gradename`,"+
            "  `test`.`title` AS `testname`,  `test`.`mark`,  `test`.`date` AS `testdate`"+
            "  FROM  `test`  LEFT OUTER JOIN `grade` ON (`test`.`gradenote` = `grade`.`note`)";

        if(!sqlCon.equals("")) sql=sql+" WHERE "+sqlCon;
        sql=sql+" ORDER BY  `test`.`gradenote`,`test`.`subid`,`test`.`id`";

        if(debug) out.println("<br>test sql="+sql);
        stmt=con.createStatement();
        rs=stmt.executeQuery(sql);
        while(rs.next()){
            Test t=new Test();
            if(rs.getInt("status")==2)
                t.status="已发布";
            else
                t.status="己注销";
            t.id=rs.getString("id");
            //<a href="Query_test_mn.jsp" target="_self">test</a>
            t.name="<a href="+"modify_test_unit.jsp?testID="+t.id+" target=\"_self\">"+
                        rs.getString("testname")+"</a>";
            t.grade=rs.getString("gradename");
            t.totalMark=rs.getString("mark");
            t.testclass="单元测试";
            t.time=rs.getString("testdate");
            testSet.add(t);
        }
        rs.close();
        stmt.close();

        break;
    case 3://模拟测试

        if(query_grade!=null){
            if(!query_grade.equals("all")){
                if(query_grade.equals("c")){
                    if(sqlCon.equals(""))
                        sqlCon=" (mn_test.grade_note='c1' OR mn_test.grade_note='c2' OR mn_test.grade_note='c3')";
                    else
                        sqlCon=sqlCon+" AND "+" (mn_test.grade_note='c1' OR mn_test.grade_note='c2' OR mn_test.grade_note='c3')";
                }else if(query_grade.equals("g")){
                    if(sqlCon.equals(""))
                        sqlCon=" (mn_test.grade_note='g1' OR mn_test.grade_note='g2' OR mn_test.grade_note='g3l' OR mn_test.grade_note='g3w')";
                    else
                        sqlCon=sqlCon+" AND "+" (mn_test.grade_note='g1' OR mn_test.grade_note='g2' OR mn_test.grade_note='g3l' OR mn_test.grade_note='g3w')";
                }
            else  if(sqlCon.equals(""))
                    sqlCon=" (mn_test.grade_note='"+query_grade+"')";
                else
                    sqlCon=sqlCon+" AND "+" (mn_test.grade_note='"+query_grade+"')";
            }
        }
        if(debug)   out.println("<br>grade sql="+sqlCon);

        sql="SELECT   `mn_test`.`id`,`mn_test`.`status`,  `mn_test`.`name` AS `testname`,"+
            "  `grade`.`Name` AS `gradename`,  `mn_test`.`mntotalmark`,"+
            "  CONCAT(`mn_test`.`begin_date`,\"至\",  `mn_test`.`end_date`) as testtime FROM  `mn_test`"+
            "  LEFT OUTER JOIN `grade` ON (`mn_test`.`grade_note` = `grade`.`note`)";
        if(!sqlCon.equals("")) sql=sql+" WHERE "+sqlCon;
        sql=sql+" ORDER BY  `mn_test`.`grade_note`,`mn_test`.`begin_date`";
        stmt=con.createStatement();
        rs=stmt.executeQuery(sql);
		if(debug) out.print("<br>mn_test sql="+sql);
        while(rs.next()){
            Test t=new Test();
            if(rs.getInt("status")==2)
                t.status="已发布";
            else
                t.status="己注销";
            t.id=rs.getString("id");
            //<a href="Query_test_mn.jsp" target="_self">test</a>
            t.name="<a href="+"modify_test_mn.jsp?mnID="+t.id+" target=\"_self\">"+
                        rs.getString("testname")+"</a>";
            t.grade=rs.getString("gradename");
            t.totalMark=rs.getString("mntotalmark");
            t.testclass="模拟考试";
            t.time=rs.getString("testtime");
            testSet.add(t);
        }
        rs.close();
        stmt.close();
        break;
    default:
}







if(debug)
    out.println("<br>at last sql="+sql);

//rs.last();//移到最后一条记录;
//Total=rs.getRow();//记录的总数;

//TotalPage=(Total%EveryPage==0)?(Total/EveryPage):(Total/EveryPage+1);


%>

<!--年级,科目,知识点三个下拉列表框联动-->
<%
out.print(Tools.sub_know(con));
out.print(Tools.grade_sub(con));
%>
<script language="JavaScript">
function changegs(locationid){
	document.myform.Subject.length =1;
        document.myform.KnowPoint.length =1;
        var locationid=locationid;
        var i;
        for (i=0;i < gscount; i++){
            if (grade_sub[i][0] == locationid) {
	            document.myform.Subject.options[document.myform.Subject.length] = new Option(grade_sub[i][2], grade_sub[i][1]);
            }
	}
}

function changesk(locationid){
	document.myform.KnowPoint.length =1;
	var locationid=locationid;
	var i;
	for (i=0;i < gskcount; i++){
		if (grade_sub_know[i][1] == locationid){
			document.myform.KnowPoint.options[document.myform.KnowPoint.length] = new Option(grade_sub_know[i][3], grade_sub_know[i][2]);
		}
	}
}


function delit(myform)
{
  if (confirm("将删除所有选择的知识点数据?"))
  {
    myform.action="errorpaddel.jsp";
    myfrom.target="_self";
    myform.submit();
  }
}
function del_check()
{

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -