📄 fexammanage.java~83~
字号:
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 + -