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

📄 errorpad.jsp

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


<jsp:useBean id="DBCon" class="jinghua.JinghuaConn" scope="session">
</jsp:useBean>
<%!Connection con;
boolean debug=false;
String studentID="";
String gradenote="";
String gradename="";
Statement stmt=null;
ResultSet rs=null;
String sql="";
int pageNumber=0;
String sqlCon=null;
int testNumber=0;
//ArrayList arrQuestSel=null;
String[] arrID=null;
String[] arrSelect=null;

//QuestSel qs=null;
int EveryPage=10;//每页显示的记录数;
int OnPage=1; //当前显示的页数;
int Total=0;//记录的总数;
int TotalPage=0;//记录的总页数;
%>
<%
String strPage=request.getParameter("page");//查询页数
String prePage=request.getParameter("OnPage");
if(debug) {
	out.print("<br>page="+strPage);
	out.print("<br>OnPage="+prePage);
}

if(strPage==null)
	OnPage=1;
else
	OnPage=Integer.parseInt(strPage);

String studentID ="s11"; //tools.getString((String)session.getAttribute(Configure.sessUserNo));
//BaseInfo objBase = new BaseInfo(studentID);
//Privs objPrivs = objBase.getPrivs();
//String vcGrade = objPrivs.getGrade();

try{
    con=DBCon.getConnection();

    //获取学生的年级信息
    gradenote="c1";
    gradename="初一";
    //查询学生所属年级的错题

%>
<%
//构造查询条件
//String errorpad_grade=(String)session.getAttribute("errorpad_grade");
//String errorpad_sub=(String)session.getAttribute("errorpad_sub");
//String errorpad_knowpoint=(String)session.getAttribute("errorpad_knowpoint");
//String errorpad_testtype=(String)session.getAttribute("errorpad_testtype");
//String errorpad_errorcount=(String)session.getAttribute("errorpad_errorcount");
sqlCon="";
//String errorpad_grade=request.getParameter("Grade");

String errorpad_sub=request.getParameter("Subject");

String errorpad_knowpoint=request.getParameter("KnowPoint");
String errorpad_testtype=request.getParameter("testtype");
String errorpad_errorcount=request.getParameter("errorcount");

if(debug){
    out.print("<br>grade="+//errorpad_grade+
    "<br>sub="+errorpad_sub+
    "<br>knowpoint="+errorpad_knowpoint+
    "<br>testtype="+errorpad_testtype+
    "<br>errorcunt="+errorpad_errorcount);
}

//if(errorpad_grade!=null)
//{
//    session.setAttribute("errorpad_grade",errorpad_grade);
//}
//else
//{
//    errorpad_grade=(String)session.getAttribute("errorpad_grade");
//}
if(errorpad_sub!=null)
{
    session.setAttribute("errorpad_sub",errorpad_sub);
}else
{
    errorpad_sub=(String)session.getAttribute("errorpad_sub");
}
if(errorpad_knowpoint!=null)
{
    session.setAttribute("errorpad_knowpoint",errorpad_knowpoint);
}
else
{
    errorpad_knowpoint=(String)session.getAttribute("errorpad_knowpoint");
}
if(errorpad_testtype!=null)
{
    session.setAttribute("errorpad_testtype",errorpad_testtype);
}
else
{
    errorpad_testtype=(String)session.getAttribute("errorpad_testtype");
}
if(errorpad_errorcount!=null)
{
    session.setAttribute("errorpad_errorcount",errorpad_errorcount);
}
else
{
    errorpad_errorcount=(String)session.getAttribute("errorpad_errorcount");
}
//if(errorpad_grade==null)
//    errorpad_grade="all";
if(errorpad_sub==null)
    errorpad_sub="all";
if(errorpad_knowpoint==null)
    errorpad_knowpoint="all";
if(errorpad_testtype==null)
    errorpad_testtype="all";
if(errorpad_errorcount==null)
    errorpad_errorcount="0";

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

if(errorpad_sub!=null){
    if(!errorpad_sub.equals("all")){
        if (!sqlCon.equals(""))
            sqlCon=sqlCon +" AND (question.SubjectID="+errorpad_sub+")";
        else
            sqlCon=" (question.SubjectID="+errorpad_sub+")";
    }
}
if(debug)
    out.println("<br>subject sql="+sqlCon);

if(errorpad_knowpoint!=null){
    if(!errorpad_knowpoint.equals("all")){
        if(!sqlCon.equals(""))
            sqlCon=sqlCon+" AND(question.KnowPointID1="+errorpad_knowpoint +
                " OR question.KnowPointID2="+errorpad_knowpoint+
                " OR question.KnowPointID3="+errorpad_knowpoint+")";
        else
            sqlCon=" (question.KnowPointID1="+errorpad_knowpoint +
                " OR question.KnowPointID2="+errorpad_knowpoint+
                " OR question.KnowPointID3="+errorpad_knowpoint+")";
    }
}
if(debug)
    out.println("<br>knowpoint sql="+sqlCon);


if(errorpad_testtype!=null){
    if(!errorpad_testtype.equals("all")){
        if(!sqlCon.equals(""))
            sqlCon=sqlCon+ " AND(errorpad.sourcetype="+errorpad_testtype+")";
        else
            sqlCon= " (errorpad.sourcetype="+errorpad_testtype+")";
    }
}
if(debug)
    out.println("<br>testtype sql="+sqlCon);

if(errorpad_errorcount!=null){
    if(!sqlCon.equals(""))
        sqlCon=sqlCon+ " AND(errorpad.errorcount>="+errorpad_errorcount+")";
    else
        sqlCon=" (errorpad.errorcount>="+errorpad_errorcount+")";
}
if(debug)
    out.println("<br>errorcount sql="+sqlCon);
sqlCon="(`errorpad`.`stu_id` = 's11')"+" AND"+sqlCon;
//查询满足条件的错题
sql="SELECT  `errorpad`.`id`, `errorpad`.`question_id`, `question`.`QuestText`, DATE_FORMAT( `errorpad`.`add_date`,\"%Y-%m-%e %H:%i:%S\") AS add_date, "+
    " `errorpad`.`errorcount`,  ELT(`errorpad`.`sourcetype`,\"自由测试\",\"自由单元测试\",\"模拟考试\") as sourcename, "+
    " `grade`.`Name` AS `gradename`,`subject`.`name` as `subname`"+
    " FROM  `errorpad`"+
    "  LEFT OUTER JOIN `question` ON (`errorpad`.`question_id` = `question`.`ID`)"+
    "  LEFT OUTER JOIN `grade` ON (`question`.`gradenote` = `grade`.`note`)"+
	"  LEFT OUTER JOIN `subject` ON (`question`.`SubjectID` = `subject`.`ID`)"+
    " WHERE  "+sqlCon+
    " ORDER BY  `errorpad`.`add_date` ASC,`errorpad`.`ID`";

session.setAttribute("errorpad_sqlcon",sqlCon);
session.setAttribute("errorpad_sql",sql);
 if(debug)
    out.println("<br>at last sql="+sql);
stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(sql);

//是否是新的查询
String newQuery=request.getParameter("newQuery");
if(newQuery==null)
	newQuery="false";

if(debug)
	out.print("<br>newQuery="+newQuery);
if(newQuery.equals("true"))
{//构造新的试题选择数组
	StringBuffer sb1=new StringBuffer();
	StringBuffer sb2=new StringBuffer();
	//arrQuestSel=new ArrayList();

	while(rs.next()){
		//QuestSel qs=new QuestSel();
		//qs.id=rs.getInt("ID");
		sb1.append(rs.getString("ID")+",");
		sb2.append("0,");
		//arrQuestSel.add(qs);


	}
	arrID=sb1.toString().split(",");
	arrSelect=sb2.toString().split(",");

	//session.setAttribute("arrQuestSel",arrQuestSel);


	session.setAttribute("arrID",arrID);
	session.setAttribute("arrSelect",arrSelect);




}else{
//arrQuestSel=(ArrayList)session.getAttribute("arrQuestSel");
arrID=(String[])session.getAttribute("arrID");
arrSelect=(String[])session.getAttribute("arrSelect");
}

//if(arrQuestSel==null)
//	out.print("<br>arrQuestSel=null");




//处理旧页面
String order_chk=request.getParameter("order_chk");
if(debug){
	out.print("<br>order_chk="+order_chk);
	out.print("<br>arrID="+arrID.toString());
	out.print("<br>arrSelect="+arrSelect.toString());
}
if(order_chk!=null && !order_chk.equals("temp")){
//145:0#146:1#
	String arrOrder_Sin[]=null;
	String arrOrder_chk[]=order_chk.split("#");

	for(int i=0;i<arrOrder_chk.length;i++){
		if(debug)
			out.print("<br> arrorder_chk["+i+"]="+arrOrder_chk[i]);
		arrOrder_Sin=arrOrder_chk[i].split(":");
		arrSelect[Integer.parseInt(arrOrder_Sin[0])-1]=arrOrder_Sin[1];

	}

}



rs.last();//移到最后一条记录;
Total=rs.getRow();//记录的总数;
//计算出总的页数TotalPage;
if(Total%EveryPage==0)
TotalPage=Total/EveryPage;
else
TotalPage=Total/EveryPage+1;

 if(OnPage>TotalPage)
 {
  OnPage=TotalPage;
 }
 else if(OnPage<=0)
 {
  OnPage=1;
 }
//生成一个javascript数组
//<script language ="JavaScript">
//Quest_Order=new Array()
//Quest_Order[0]=new Array(91,98);
//Quest_Order[9]=new Array(91,107);
//</script>
out.println("<script language =\"JavaScript\">");
out.println("Quest_Order=new Array();");
rs.absolute((OnPage-1)*EveryPage+1);//指定指针的位置;
pageNumber=0;
testNumber=(OnPage-1)*EveryPage+1;
while( pageNumber<EveryPage ) {
	out.println("Quest_Order["+pageNumber+"]=new Array("+testNumber+","+rs.getInt("ID")+");");

	pageNumber++;
	testNumber++;
	if(!rs.next())
		break;
}
out.println("var QOCount="+pageNumber+";");
out.println("</script>");





⌨️ 快捷键说明

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