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

📄 fexammanage.java~83~

📁 中小学校园的教师
💻 JAVA~83~
📖 第 1 页 / 共 2 页
字号:
      DbUtil.close(psCoursesCount);
    }catch(Exception ee){
      ee.printStackTrace();
    }finally{
      DbUtil.close(conCourses);
      DbUtil.close(conCoursesCount);
    }
  //-----------------------------------------------------------------------------//

    //读出所有班级
    Connection conClasses = null;
    Connection conClassesCount = null;
    Connection conClassesSize = null;

    String sqlClasses = "SELECT * "+
        "FROM class "+
        "WHERE (grade_name = '"+jCBGrade.getSelectedItem().toString()+"')";
    try{
      conClasses = DBConnection.getConnection();
      PreparedStatement psClasses = conClasses.prepareStatement(sqlClasses);
      System.out.print(sqlClasses+"\n") ;
      System.out.print(jCBGrade.getSelectedItem().toString()) ;

      ResultSet rsClasses = psClasses.executeQuery();
      //班级总数
      String sqlClassesCount = "SELECT COUNT(*) AS classes_count "+
        "FROM class "+
        "WHERE (grade_name = '"+jCBGrade.getSelectedItem().toString()+"')";
    conClassesCount = DBConnection.getConnection();
    PreparedStatement psClassesCount = conClassesCount.prepareStatement(sqlClassesCount);
    System.out.print(sqlClassesCount+"\n") ;
    System.out.print(jCBGrade.getSelectedItem().toString()+"\n") ;
    ResultSet rsClassesCount = psClassesCount.executeQuery();
      if(rsClassesCount.next()){
        ClasssesCount=rsClassesCount.getInt("classes_count");
        Classes_Info = new  String[ClasssesCount][3];
        for(i=0;i<ClasssesCount;i++){
          if(rsClasses.next()){
            //读出班级号
            Classes_Info[i][0] =rsClasses.getString("class_id");
            //读出班级名
            String Str_Class_Name;
            Str_Class_Name=rsClasses.getString("class_name");
            Classes_Info[i][1] =Str_Class_Name;
            //读出班级大小
            String sqlClassesSize = "SELECT COUNT(*) AS class_size "+
                "FROM student INNER JOIN "+
                "class ON student.class_id = class.class_id "+
                    "WHERE (class.class_name = '"+Str_Class_Name+"')";
                System.out.print(sqlClassesSize+"\n") ;
                conClassesSize = DBConnection.getConnection();
                PreparedStatement psClassesSize = conClassesSize.prepareStatement(sqlClassesSize);
                ResultSet rsClassesSize = psClassesSize.executeQuery();
                if(rsClassesSize.next() ){
                  Classes_Info[i][2]  =rsClassesSize.getString("class_size");
                }
                DbUtil.close(rsClassesSize);
                DbUtil.close(psClassesSize);

            //---------------------------
          }
        }
      }
      DbUtil.close(rsClasses);
      DbUtil.close(psClasses);
      DbUtil.close(rsClassesCount);
      DbUtil.close(psClassesCount);
    }catch(Exception ee){
      ee.printStackTrace();
    }finally{
      DbUtil.close(conClasses);
      DbUtil.close(conClassesCount);
      DbUtil.close(conClassesSize);

    }


    //////-------------------------------------------------------------
    //安排考场和考试
    for(i=0;i<CoursesCount;i++){
      for(j=0;j<ClasssesCount;j++){
        //添加考场
        Connection con = null;
        try{
          String sql = "INSERT INTO exam_room "+
              "(classroom_name, term_id, exam_name, exam_type) "+
              "VALUES ('"+Classes_Info[j][1]+"', '"+jCBTerm.getSelectedItem().toString() +"', '"+jCBTerm.getSelectedItem().toString()+Course_Name[i]+"', '"+jdbExamType.getSelectedItem().toString()+"')";
          con = DBConnection.getConnection();
          PreparedStatement ps = con.prepareStatement(sql);
          System.out.print(sql+"\n") ;
          ps.executeUpdate();
          DbUtil.close(ps);
        }catch(Exception ee){
          ee.printStackTrace();
        }finally{
          DbUtil.close(con);
        }
      }
      //安排考试
      //-------------------------------------
      //选出该年级的所有学生
      Connection conStudent = null;

      try{
        String sqlStudent = "SELECT * "+
            "FROM student INNER JOIN "+
            "class ON student.class_id = class.class_id INNER JOIN "+
            "grade ON class.grade_name = grade.grade_name "+
            "WHERE (grade.grade_name = '"+jCBGrade.getSelectedItem().toString()+"') ";
        conStudent = DBConnection.getConnection();
        PreparedStatement psStudent = conStudent.prepareStatement(sqlStudent);
        System.out.print(sqlStudent+"\n");
        ResultSet rsStudent = psStudent.executeQuery();
        while(rsStudent.next()){
          int Classno=0,Seatno=0;
          Random ClassnoRandom=new Random();
          Classno=ClassnoRandom.nextInt(ClasssesCount);
          Seatno=ClassnoRandom.nextInt(Integer.valueOf(Classes_Info[Classno][2]).intValue()+1);
          //System.out.print(ClasssesCount+"\n");
          System.out.print(Classno+"\n");
          //System.out.print(Integer.valueOf(Classes_Info[Classno][2]).intValue() +"\n");
          System.out.print(Seatno+"\n");

          //查询是否已有该座位

          Connection conSeatno = null;
          try{
            System.out.print(String.valueOf(i) +"\n");
            String sqlSeatno = "SELECT exam.* "+
                "FROM exam "+
                "WHERE (exam_class = '"+Classes_Info[Classno][1]+"') AND (exam_seat_no = '"+Seatno+"') AND (exam_name = '"+jCBTerm.getSelectedItem().toString()+Course_Name[i]+"')";
            conSeatno = DBConnection.getConnection();
            PreparedStatement psSeatno = conSeatno.prepareStatement(sqlSeatno);
            System.out.print(sqlSeatno+"\n");
            ResultSet rsSeatno = psSeatno.executeQuery();
            if(rsSeatno.next()){
              rsStudent.previous();
              DbUtil.close(conSeatno);
              continue;
            }
            DbUtil.close(rsSeatno);
            DbUtil.close(psSeatno);
          }catch(Exception ee){
           ee.printStackTrace();
          }finally{
            DbUtil.close(conSeatno);
          }

          //-----------------


          //可以写入考场信息
          Connection conExam = null;
          try{
            String sqlExam = "INSERT INTO exam "+
                "(card_id, exam_name, exam_class, exam_seat_no) "+
                "VALUES ('"+rsStudent.getString("card_id") +"', '"+jCBTerm.getSelectedItem().toString()+Course_Name[i]+"', '"+Classes_Info[Classno][1]+"', '"+String.valueOf(Seatno)+"')";
            conExam = DBConnection.getConnection();
            PreparedStatement psExam = conExam.prepareStatement(sqlExam);
            psExam.executeUpdate();
            DbUtil.close(psExam);
          }catch(Exception ee){
            ee.printStackTrace();
          }finally{
            DbUtil.close(conExam);
          }
        }
        DbUtil.close(rsStudent);
        DbUtil.close(psStudent);
      }catch(Exception ee){
        ee.printStackTrace();
      }finally{
        DbUtil.close(conStudent);
      }
    }

    DB_DataModule.getDataModule().getQDSExam().refresh();
    DB_DataModule.getDataModule().getQDSExamRoom() .refresh();
  }
}

class FExamManage_this_windowAdapter extends java.awt.event.WindowAdapter {
  FExamManage adaptee;

  FExamManage_this_windowAdapter(FExamManage adaptee) {
    this.adaptee = adaptee;
  }
  public void windowActivated(WindowEvent e) {
    adaptee.this_windowActivated(e);
  }
}

class FExamManage_jBCourseAdd_actionAdapter implements java.awt.event.ActionListener {
  FExamManage adaptee;

  FExamManage_jBCourseAdd_actionAdapter(FExamManage adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jBCourseAdd_actionPerformed(e);
  }
}

⌨️ 快捷键说明

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