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

📄 inputselectedlessoninfo.java~371~

📁 Tt s a good book ,if you want to learn java good
💻 JAVA~371~
📖 第 1 页 / 共 4 页
字号:
                if (temp1.equals(tempNumber)) {
                    strLessonName = temp2;
                    strLessonNumber = temp3;
                    strLessonNature = temp4;
                    break;
                }
            }
            stmt.close();
            con.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        boolean haveSelectedThisSubject = false; //标记是否已选了jComboBox中选定的课程
        for (int i = 0; i < haveSelected.length; i++) { //利用数组检查是否选择了某一门课程
            if (strLessonName.equals(haveSelected[i])) {
                haveSelectedThisSubject = true;
                JOptionPane.showMessageDialog(this, "该同学已经选择了这门课程!", "注意!", 2);
                break;
            }
        }
        if (!haveSelectedThisSubject) { //将要选课程加入数组
            for (int i = 0; i < haveSelected.length; i++) { //注意选课已满的情况!!
                if (haveSelected[i] == null) {
                    haveSelected[i] = strLessonName;
                    haveSelectedScore[i] = strLessonNumber;
                    haveSelectedNature[i] = strLessonNature;
                    break;
                }
            }
            inputOneSubject();
            haveSelectedCount++;
            jTextField_SelectedAll.setText(haveSelectedCount + "");
            haveSelectedScoreAll += Integer.parseInt(strLessonNumber.trim());
            jTextField_Score.setText(haveSelectedScoreAll + "");
            JOptionPane.showMessageDialog(this, "这门课程成功录入!", "录入成功!", 2);
            jComboBox_HaveSelected.setEnabled(true);
            jComboBox_HaveSelected.removeAllItems();
            for (int i = 0; i < haveSelected.length; i++) {
                if (haveSelected[i] != null) {
                    jComboBox_HaveSelected.addItem(haveSelected[i]);
                }
            }
            jButton_SelectedAllLookMore.setEnabled(true);
            jButton_DeleteSelected.setEnabled(true);
            haveSelectedThisSubject = false;
        }
    }

    public void resetAll() { //dispose窗口以后以及点击继续以后执行的方法
        for (int i = 0; i < haveSelected.length; i++) { //清空数组
            haveSelected[i] = haveSelectedNature[i] = "";
            haveSelectedScore[i] = haveSelectedResult[i] = "0";
        }
        haveSelectedCount = blankSubject = 0;
        strNumber = strName = strStatus = strLessonNumber = strLessonName =
                strLessonNature = "";
        hasInput = canInputSelectedInfo = false;
        //  jComboBox_ScoreHad.removeAllItems();应该进一步完善!!!
        jComboBox_ScoreHad.setEnabled(false);
        jComboBox_HaveSelected.removeAllItems();
        jComboBox_HaveSelected.setEnabled(false);
        jComboBox_CanBeSelected.setSelectedIndex(0);
        jTextField_SN.setEditable(true);
        jTextField_SN.setText("");
        jTextField_Name.setText("");
        jTextField_Status.setText("");
        jTextField_SelectedAll.setText("");
        jTextField_Score.setText("");
        jTextField_ScoreHad.setText("");
        jTextField_CanBeSelected.setEditable(false);
        jTextField_CanBeSelected.setText("");
        jButton_SelectedAllLookMore.setEnabled(false);
        jButton_DeleteSelected.setEnabled(false);
        jButton_More.setEnabled(false);
        jButton_InputOther.setEnabled(false);
    }

    public void deleteFromComboBox() {
        strLessonName = jComboBox_HaveSelected.getSelectedItem().toString();
        int deleteOrNot = JOptionPane.showConfirmDialog(this, "确定要删除该门已选课程?",
                "删除已选课程?", 1);
        if (deleteOrNot == 0) {
            haveSelectedCount--;
            deleteOneSubject();
            jTextField_SelectedAll.setText(haveSelectedCount + "");
        }
        strLessonNumber = strLessonName = strLessonNature = "";
    }

    public void deleteOneSubject() { //删除一门课程时将后面的课程信息向前提的方法
//需要注意前移课程名称和学分的问题以及删除一门课程以后jTextField和jComboBox的内容要及时更新。
        int shouldBeDeleted = -1; //考虑重置的位置和时机
        for (int i = 0; i < haveSelected.length; i++) { //通过数组来确定需要删除的课程在表中的列号
            if (strLessonName.equals(haveSelected[i])) {
                shouldBeDeleted = i;
                break;
            }
        }
        if (shouldBeDeleted != -1) { //将需要删除的课程信息从数组中删除
            shouldBeDeleted = -1; //将其重置
            for (int i = 0; i < haveSelected.length; i++) { //将要删除的课程的学分从总学分中扣除
                if (strLessonName.equals(haveSelected[i])
                        ) {
                    haveSelectedScoreAll -=
                            Integer.parseInt(haveSelectedScore[i].trim());
                    jTextField_Score.setText(haveSelectedScoreAll + "");
                    break;
                }
            }
            for (int i = 0; i < haveSelected.length; i++) {
                if (strLessonName.equals(haveSelected[i])) {
                    while (true) {
                        if (i == haveSelected.length - 1) {
                            haveSelected[i] = null;
                            haveSelectedNature[i] = null;
                            haveSelectedScore[i] = "0";
                            haveSelectedResult[i] = "0";
                            break;
                        }
                        haveSelected[i] = haveSelected[i + 1];
                        haveSelectedNature[i] = haveSelectedNature[i + 1];
                        haveSelectedScore[i] = haveSelectedScore[i + 1];
                        haveSelectedResult[i] = haveSelectedResult[i + 1];
                        i++;
                    }
                    break;
                }
            }
        }
        try {
            Statement stmt;
            ResultSet rs;
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            Connection con = DriverManager.getConnection("jdbc:odbc:db_STU",
                    "",
                    "");
            stmt = con.createStatement();
            String tempOrder = "update Result_Info set ";
            for (int i = 0; i < haveSelected.length; i++) { //确定命令语句的循环
                if (haveSelected[i] != null) {
                    tempOrder += "课程" + (i + 1) + "='" + haveSelected[i] +
                            "',属性" + (i + 1) + "='" + haveSelectedNature[i] +
                            "',学分" +
                            (i + 1) + "=" +
                            haveSelectedScore[i] + ",成绩" + (i + 1) + "=" +
                            haveSelectedResult[i] + ",";
                } else {
                    tempOrder += "课程" + (i + 1) + "=null,属性" + (i + 1) +
                            "=null,学分" + (i + 1) +
                            "=0,成绩" + (i + 1) + "=0,";
                }
            }
            tempOrder = tempOrder.substring(0, tempOrder.length() - 1) +
                        " where 学号='" + strNumber + "'";
            stmt.executeUpdate(tempOrder);
            stmt.close();
            con.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        //将JComboBox等新
        jComboBox_HaveSelected.removeAllItems();
        for (int i = 0; i < haveSelected.length; i++) {
            if (haveSelected[i] != null) {
                jComboBox_HaveSelected.addItem(haveSelected[i]);
            }
        }
        if (jComboBox_HaveSelected.getItemCount() > 0) {
            jComboBox_HaveSelected.setEnabled(true);
        } else if (
                jComboBox_HaveSelected.getItemCount() == 0) {
            jComboBox_HaveSelected.addItem("尚未选定课程");
            jComboBox_HaveSelected.setEnabled(false);
            jButton_SelectedAllLookMore.setEnabled(false);
            jButton_DeleteSelected.setEnabled(false);
        }
        JOptionPane.showMessageDialog(this, "已成功删除该课程记录。", "成功删除记录", 2);
    }

    public void inputFromComboBox() { //将JCombobox中选择的课程录入
        strLessonName = jComboBox_CanBeSelected.getSelectedItem().toString();
        try { //从数据库中得到与课程名称相匹配的学分信息
            String temp1, temp2, temp3; //分别暂时保存课程名称,学分,课程性质
            Statement stmt;
            ResultSet rs;
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            Connection con = DriverManager.getConnection("jdbc:odbc:db_STU",
                    "",
                    "");
            stmt = con.createStatement();
            rs = stmt.executeQuery("select * from LessonInfo");
            while (rs.next()) {
                temp1 = rs.getString(3); //名称
                temp3 = rs.getString(4); //性质
                temp2 = rs.getString(5); //学分
                if (temp1.equals(strLessonName)) {
                    strLessonNumber = temp2;
                    strLessonNature = temp3;
                    break;
                }
            }
            stmt.close();
            con.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        boolean haveSelectedThisSubject = false; //标记是否已选了jComboBox中选定的课程
        for (int i = 0; i < haveSelected.length; i++) { //利用数组检查是否选择了某一门课程
            if (strLessonName.equals(haveSelected[i])) {
                haveSelectedThisSubject = true;
                JOptionPane.showMessageDialog(this, "该同学已经选择了这门课程!", "注意!", 2);
                break;
            }
        }
        if (!haveSelectedThisSubject) { //将要选课程加入数组
            for (int i = 0; i < haveSelected.length; i++) { //注意选课已满的情况!!
                if (haveSelected[i] == null) {
                    haveSelected[i] = strLessonName;
                    haveSelectedScore[i] = strLessonNumber;
                    haveSelectedNature[i] = strLessonNature;
                    break;
                }
            }
            inputOneSubject();
            haveSelectedCount++;
            jTextField_SelectedAll.setText(haveSelectedCount + "");
            haveSelectedScoreAll += Integer.parseInt(strLessonNumber.trim());
            jTextField_Score.setText(haveSelectedScoreAll + "");
            JOptionPane.showMessageDialog(this, "这门课程成功录入!", "录入成功!", 2);
            jComboBox_HaveSelected.setEnabled(true);
            jButton_SelectedAllLookMore.setEnabled(true);
            jButton_DeleteSelected.setEnabled(true);
            haveSelectedThisSubject = false;
        }
        haveSelectedThisSubject = false; //重新置false
        jComboBox_HaveSelected.removeAllItems();
        for (int i = 0; i < haveSelected.length; i++) { //重置JComboBox
            if (haveSelected[i] != null) {
                jComboBox_HaveSelected.addItem(haveSelected[i]);
            }
        }
        strLessonNumber = strLessonName = strLessonNature = ""; //录入结束,清空信息
    }

    public void getSelectedInfo() { //从Result_Info中获得已选的课程信息并输出在JComboBox中,保存在四个数组中
        try {
            Statement stmt;
            ResultSet rs;
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            Connection con = DriverManager.getConnection("jdbc:odbc:db_STU", "",
                    "");
            stmt = con.createStatement();
            rs = stmt.executeQuery("select 学号,课程1,课程2,课程3,课程4,课程5,课程6,课程7,课程8,课程9,课程10,课程11,课程12,课程13,课程14,课程15 from Result_Info");
            while (rs.next()) {
                if (rs.getString(1).equals(strNumber)) {
                    for (int i = 1; i <= 15; i++) {
                        String temp = rs.getString(i + 1);
                        if (temp != null) {
                            haveSelectedCount++;
                            jComboBox_HaveSelected.addItem(temp);
                            haveSelected[i - 1] = temp.trim(); //将已选课程记录入数组,但要注意数组的清空时机!!
                        }
                    }
                }
            }

⌨️ 快捷键说明

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