用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - java代码库

Java 数据库练习

2015-04-18 作者: java源代码大全举报

[java]代码库

package student;
 
import javax.swing.*;
import java.util.Vector;
import java.awt.*;
import java.sql.*;
import java.awt.event.*;
 
@SuppressWarnings("serial")
public class MainFrame extends JFrame implements Runnable, ActionListener {
    CardLayout cards;
    Font font;
    JMenuBar menuBar;
    Statement state;
    String sql;
 
    // 定义外来码时用到
    Vector MID;
 
    // 记录下一个空ID
    static int stuID;
    static int majorID;
 
    // 学生操作对应的面板
    JPanel SR;
    JPanel SQ;
    JPanel SD;
    JPanel SU;
 
    // 专业操作对应的面板
    JPanel MR;
    JPanel MQ;
    JPanel MD;
    JPanel MU;
 
    // 学生信息登记面板组件
    JTextField SR_ID;
    JTextField SR_Name;
    JTextField SR_Sex;
    JTextField SR_Class;
    // JTextField SR_Major;
    JComboBox<Vector> SR_Major;
    JButton SR_Yes;
    JButton SR_No;
 
    // 学生信息查询面板的组件
    JTextField SQ_ID;
    JTextField SQ_Name;
    JTextField SQ_Sex;
    JTextField SQ_Class;
    JTextField SQ_Major;
    JButton SQ_Yes;
 
    // 学生信息更新面板的组件
    JTextField SU_ID;
    JTextField SU_Name;
    JTextField SU_Sex;
    JTextField SU_Class;
    JTextField SU_Major;
    JButton SU_Update;
    JButton SU_Show;
 
    // 学生信息删除面板的组件
    JTextField SD_Field;
 
    // 专业信息登记面板的组件
    JTextField MR_ID;
    JTextField MR_Name;
    JButton MR_Yes;
    JButton MR_No;
 
    // 专业信息查询面板的组件
    JTextField MQ_ID;
    JTextField MQ_Name;
    JButton MQ_Yes;
 
    // 专业信息更新面板的组件
    JTextField MU_ID;
    JTextField MU_Name;
    JButton MU_Update;
 
    // 专业信息删除面板的组件
    JLabel MD_Tip;
    JTextField MD_Field;
    JButton MD_Delete;
 
    // 菜单项
    JMenuItem stuR;
    JMenuItem stuQ;
    JMenuItem stuD;
    JMenuItem stuU;
    JMenuItem majorR;
    JMenuItem majorQ;
    JMenuItem majorD;
    JMenuItem majorU;
 
    public MainFrame() {
 
        SR = new JPanel();
        SQ = new JPanel();
        SD = new JPanel();
        SU = new JPanel();
 
        MR = new JPanel();
        MQ = new JPanel();
        MU = new JPanel();
        MD = new JPanel();
 
        majorID = 1;
        stuID = 1;
        new Thread(this).start();
 
        cards = new CardLayout();
        font = new Font("myFont", Font.PLAIN, 15);
        MID = new Vector();
 
        // 当Major的ID的删除完时,显示
        MID.add("");
 
        // 菜单条
        menuBar = new JMenuBar();
        Main_Menu();
 
        setTitle("学生管理");
        setSize(400, 377);
        setLocation(530, 200);
        Main_Pane(this.getContentPane());
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
    }
 
    public void Main_Pane(Container pane) {
 
        pane.setLayout(cards);
 
        pane.add(SR, "0");
        pane.add(SQ, "1");
        pane.add(SU, "2");
        pane.add(SD, "3");
        pane.add(MR, "4");
        pane.add(MQ, "5");
        pane.add(MU, "6");
        pane.add(MD, "7");
    }
 
    public void Main_Menu() {
 
        stuR = new JMenuItem("登记");
        stuQ = new JMenuItem("查询");
        stuD = new JMenuItem("删除");
        stuU = new JMenuItem("更新");
        JMenu stu = new JMenu("学生");
        stu.add(stuR);
        stu.add(stuQ);
        stu.add(stuU);
        stu.add(stuD);
 
        majorR = new JMenuItem("登记");
        majorQ = new JMenuItem("查询");
        majorU = new JMenuItem("更新");
        majorD = new JMenuItem("删除");
        JMenu major = new JMenu("专业");
        major.add(majorR);
        major.add(majorQ);
        major.add(majorU);
        major.add(majorD);
 
        menuBar.add(stu);
        menuBar.add(major);
        this.setJMenuBar(menuBar);
 
        // 增加监听器
        stuR.addActionListener(this);
        stuQ.addActionListener(this);
        stuD.addActionListener(this);
        stuU.addActionListener(this);
        majorR.addActionListener(this);
        majorQ.addActionListener(this);
        majorD.addActionListener(this);
        majorU.addActionListener(this);
 
    }
 
    @Override
    public void run() {
        SR_Pane();
        SQ_Pane();
        SD_Pane();
        SU_Pane();
        MR_Pane();
        MQ_Pane();
        MU_Pane();
        MD_Pane();
 
    }
 
    // 学生登记和查询面板
    public void SR_Pane() {
        SR.setLayout(new GridLayout(6, 2));
 
        JLabel labelID = new JLabel("学号", JLabel.CENTER);
        JLabel labelName = new JLabel("姓名", JLabel.CENTER);
        JLabel labelSex = new JLabel("性别", JLabel.CENTER);
        JLabel labelClass = new JLabel("班级", JLabel.CENTER);
        JLabel labelMajor = new JLabel("专业码", JLabel.CENTER);
        labelID.setFont(font);
        labelName.setFont(font);
        labelSex.setFont(font);
        labelClass.setFont(font);
        labelMajor.setFont(font);
 
        SR_ID = new JTextField();
        SR_ID.setText(String.valueOf(stuID));
        SR_Name = new JTextField();
        SR_Sex = new JTextField();
        SR_Class = new JTextField();
 
        SR_Major = new JComboBox<Vector>(MID);
 
        SR_Yes = new JButton("登记");
        SR_No = new JButton("取消");
        SR_Yes.addActionListener(this);
        SR_No.addActionListener(this);
 
        SR.add(labelID);
        SR.add(SR_ID);
        SR.add(labelName);
        SR.add(SR_Name);
        SR.add(labelSex);
        SR.add(SR_Sex);
        SR.add(labelClass);
        SR.add(SR_Class);
        SR.add(labelMajor);
        SR.add(SR_Major);
        SR.add(SR_Yes);
        SR.add(SR_No);
 
    }
 
    public void SQ_Pane() {
        SQ.setLayout(new GridLayout(6, 2));
 
        JLabel labelID = new JLabel("学号", JLabel.CENTER);
        JLabel labelName = new JLabel("姓名", JLabel.CENTER);
        JLabel labelSex = new JLabel("性别", JLabel.CENTER);
        JLabel labelClass = new JLabel("班级", JLabel.CENTER);
        JLabel labelMajor = new JLabel("专业码", JLabel.CENTER);
        JLabel SD_Tip = new JLabel("输入学号", JLabel.CENTER);
        labelID.setFont(font);
        labelName.setFont(font);
        labelSex.setFont(font);
        labelClass.setFont(font);
        labelMajor.setFont(font);
        SD_Tip.setFont(font);
 
        SQ_ID = new JTextField();
        SQ_Name = new JTextField();
        SQ_Sex = new JTextField();
        SQ_Class = new JTextField();
        SQ_Major = new JTextField();
 
        SQ_Yes = new JButton("查询");
        SQ_Yes.addActionListener(this);
 
        SQ.add(labelID);
        SQ.add(SQ_ID);
        SQ.add(labelName);
        SQ.add(SQ_Name);
        SQ.add(labelSex);
        SQ.add(SQ_Sex);
        SQ.add(labelClass);
        SQ.add(SQ_Class);
        SQ.add(labelMajor);
        SQ.add(SQ_Major);
        SQ.add(SD_Tip);
        SQ.add(SQ_Yes);
    }
 
    public void SD_Pane() {
        SD.setLayout(new GridBagLayout());
        GridBagConstraints c = new GridBagConstraints();
        JLabel label = new JLabel("学号", JLabel.CENTER);
        SD_Field = new JTextField();
        JButton delete = new JButton("删除");
        c.fill = GridBagConstraints.HORIZONTAL;
 
        c.gridwidth = 1;
        c.insets = new Insets(10, 10, 10, 10);
        SD.add(label, c);
 
        c.gridx = 1;
        c.gridwidth = 3;
        c.ipadx = 120;
        SD.add(SD_Field, c);
 
        c.gridwidth = 1;
        c.gridx = 3;
        c.ipadx = 0;
        SD.add(delete, c);
 
        delete.addActionListener(new ActionListener() {
 
            @Override
            public void actionPerformed(ActionEvent e) {
                sql = "Delete from student where ID=";
                sql += SD_Field.getText();
                sql += ";";
                System.out.println(sql);
                try {
                    int i = Integer.valueOf(SD_Field.getText());
                    if (isStuExist(i)) {
                        state.execute(sql);
                        JOptionPane.showMessageDialog(SD, "已删除");
                    } else {
                        JOptionPane.showMessageDialog(SD, "删除失败");
                    }
                } catch (SQLException e1) {
                    JOptionPane.showMessageDialog(SD, "删除失败");
                }
            }
        });
    }
 
    public void SU_Pane() {
        SU.setLayout(new GridLayout(6, 2));
 
        JLabel labelID = new JLabel("学号", JLabel.CENTER);
        JLabel labelName = new JLabel("姓名", JLabel.CENTER);
        JLabel labelSex = new JLabel("性别", JLabel.CENTER);
        JLabel labelClass = new JLabel("班级", JLabel.CENTER);
        JLabel labelMajor = new JLabel("专业码", JLabel.CENTER);
        labelID.setFont(font);
        labelName.setFont(font);
        labelSex.setFont(font);
        labelClass.setFont(font);
        labelMajor.setFont(font);
 
        SU_ID = new JTextField();
        SU_Name = new JTextField();
        SU_Sex = new JTextField();
        SU_Class = new JTextField();
        SU_Major = new JTextField();
 
        SU_Update = new JButton("更新");
        SU_Update.addActionListener(this);
 
        SU_Show = new JButton("显示");
        SU_Show.addActionListener(this);
 
        SU.add(labelID);
        SU.add(SU_ID);
        SU.add(labelName);
        SU.add(SU_Name);
        SU.add(labelSex);
        SU.add(SU_Sex);
        SU.add(labelClass);
        SU.add(SU_Class);
        SU.add(labelMajor);
        SU.add(SU_Major);
        SU.add(SU_Show);
        SU.add(SU_Update);
    }
 
    public void MR_Pane() {
        MR.setLayout(new GridLayout(3, 2));
        JLabel labelID = new JLabel("专业码", JLabel.CENTER);
        JLabel labelName = new JLabel("专业名", JLabel.CENTER);
        labelID.setFont(font);
        labelName.setFont(font);
 
        MR_ID = new JTextField();
        MR_Name = new JTextField();
        MR_ID.setText(String.valueOf(majorID));
        MR_Yes = new JButton("登记");
        MR_Yes.addActionListener(this);
        MR_No = new JButton("取消");
        MR_No.addActionListener(this);
 
        MR.add(labelID);
        MR.add(MR_ID);
        MR.add(labelName);
        MR.add(MR_Name);
        MR.add(MR_Yes);
        MR.add(MR_No);
 
    }
 
    public void MQ_Pane() {
        MQ.setLayout(new GridLayout(3, 2));
        JLabel labelID = new JLabel("专业码", JLabel.CENTER);
        JLabel labelName = new JLabel("专业名", JLabel.CENTER);
        labelID.setFont(font);
        labelName.setFont(font);
 
        MQ_ID = new JTextField();
        MQ_Name = new JTextField();
 
        MQ_Yes = new JButton("查询");
        MQ_Yes.addActionListener(this);
 
        MQ.add(labelID);
        MQ.add(MQ_ID);
        MQ.add(labelName);
        MQ.add(MQ_Name);
        MQ.add(new JLabel("输入专业码", JLabel.CENTER));
        MQ.add(MQ_Yes);
 
    }
 
    public void MU_Pane() {
        MU.setLayout(new GridLayout(3, 2));
        JLabel labelID = new JLabel("专业码", JLabel.CENTER);
        JLabel labelName = new JLabel("专业名", JLabel.CENTER);
        labelID.setFont(font);
        labelName.setFont(font);
 
        MU_ID = new JTextField();
        MU_Name = new JTextField();
 
        MU_Update = new JButton("更新");
        MU_Update.addActionListener(this);
 
        MU.add(labelID);
        MU.add(MU_ID);
        MU.add(labelName);
        MU.add(MU_Name);
        MU.add(new JLabel("输入专业码", JLabel.CENTER));
        MU.add(MU_Update);
    }
 
    public void MD_Pane() {
        MD.setLayout(new GridLayout(2, 2));
        JLabel labelID = new JLabel("专业码", JLabel.CENTER);
        MD_Tip = new JLabel("输入专业码", JLabel.CENTER);
        labelID.setFont(font);
 
        MD_Field = new JTextField();
 
        MD_Delete = new JButton("删除");
        MD_Delete.addActionListener(this);
 
        MD.add(labelID);
        MD.add(MD_Field);
        MD.add(MD_Tip);
        MD.add(MD_Delete);
 
    }
 
    @Override
    public void actionPerformed(ActionEvent e) {
        Object source = e.getSource();
        Container pane = getContentPane();
        try {
            if (source == SR_Yes) {
                String ID = SR_ID.getText();
                String Name = SR_Name.getText();
                String Sex = SR_Sex.getText();
                String Class = SR_Class.getText();
                String Major = String.valueOf(SR_Major.getSelectedItem());
                if (ID.length() > 0 && Name.length() > 0 && Sex.length() > 0
                        && Class.length() > 0 && Major.length() > 0) {
                    sql = "Insert into student values(" + ID + ", '" + Name
                            + "' , '" + Sex + "' ," + Class + "," + Major
                            + ");";
                     
                    state.execute(sql);
                    stuID++;
                    SR_ID.setText(String.valueOf(stuID));
                    SR_Name.setText("");
                    SR_Sex.setText("");
                    SR_Class.setText("");
                }
            }
            if (source == SR_No) {
                SR_Name.setText("");
                SR_Sex.setText("");
                SR_Class.setText("");
 
            }
 
            if (source == SQ_Yes) {
                String ID = SQ_ID.getText();
                if (ID.length() > 0) {
                    if (isStuExist(Integer.valueOf(ID))) {
                        sql = "Select * from student where ID="+ID+";";
                         
                        ResultSet rs = state.executeQuery(sql);
                        while (rs.next()) {
                            SQ_Name.setText(rs.getString(2));
                            SQ_Sex.setText(rs.getString(3));
                            SQ_Class.setText(String.valueOf(rs.getInt(4)));
                            SQ_Major.setText(String.valueOf(rs.getInt(5)));
                        }
                    } else
                        JOptionPane.showMessageDialog(this, "输入的ID不存在");
                }
            }
 
            if (source == SU_Show) {
                showInformation_SU_Pane();
            }
 
            if (source == SU_Update) {
                String SUID = SU_ID.getText();
                if (SUID.length() > 0) {
                    String Name = SU_Name.getText();
                    String Sex = SU_Sex.getText();
                    String Class = SU_Class.getText();
                    String Major = SU_Major.getText();
                    sql = "Update student Set Name = '" + Name + "', Sex= ' "
                            + Sex + "', Class= " + Class + ", Major = " + Major
                            + "  Where ID =" + SUID;
                     
                    state.executeUpdate(sql);
                    JOptionPane.showMessageDialog(this, "更新成功");
 
                }
            }
 
            if (source == MR_Yes) {
                String ID = MR_ID.getText();
                String MName = MR_Name.getText();
                if (ID.length() > 0 && MName.length() > 0) {
                    sql = "Insert into major values( " + ID + ",'" + MName
                            + "');";
                     
                    state.execute(sql);
                    majorID++;
                    MID.add(Integer.valueOf(ID));
                    MR_ID.setText(String.valueOf(majorID));
                    MR_Name.setText("");
                }
            }
 
            if (source == MR_No) {
                MR_Name.setText("");
            }
 
            if (source == MQ_Yes) {
                String ID = MQ_ID.getText();
                if (ID.length() > 0) {
                    if (isMajorExist(Integer.valueOf(ID))) {
                        sql = "Select * from major where ID=" + ID + ";";
                        ResultSet rs = state.executeQuery(sql);
                        while (rs.next())
                            MQ_Name.setText(rs.getString(2));
                    } else
                        JOptionPane.showMessageDialog(this, "输入的ID不存在");
 
                }
            }
 
            if (source == MU_Update) {
                String ID = MU_ID.getText();
                String Name = MU_Name.getText();
                if (ID.length() > 0 && Name.length() > 0) {
                    sql = "Update major set Name = '" + Name + "' where ID ="
                            + ID;
 
                    state.executeUpdate(sql);
                    JOptionPane.showMessageDialog(this, "更新成功");
                }
            }
 
            if (source == MD_Delete) {
                String ID = MD_Field.getText();
                if (ID.length() > 0) {
                    int i = Integer.valueOf(ID);
                    if (isMajorExist(i)) {
                        try {
                            sql = "Delete from major where ID = " + ID;
 
                            state.execute(sql);
                            MID.remove((Integer) i);
                            SR_Major.setSelectedItem("");
                            JOptionPane.showMessageDialog(this, "已删除");
                        } catch (SQLException e2) {
                            JOptionPane.showMessageDialog(this,
                                    "删除失败 ,学生中包含相关专业");
                        }
 
                    } else
                        JOptionPane.showMessageDialog(this, "删除失败");
                }
            }
 
        } catch (SQLException e1) {
 
            e1.printStackTrace();
        }
 
        if (source == stuR) {
            cards.show(pane, "0");
            Reset_S_Pane();
            Reset_M_Pane();
            setSize(400, 377);
        }
        if (source == stuQ) {
            cards.show(pane, "1");
            Reset_S_Pane();
            Reset_M_Pane();
            setSize(400, 377);
        }
        if (source == stuU) {
            cards.show(pane, "2");
            Reset_S_Pane();
            Reset_M_Pane();
            setSize(400, 377);
        }
        if (source == stuD) {
            cards.show(pane, "3");
            Reset_S_Pane();
            Reset_M_Pane();
            setSize(400, 377);
        }
        if (source == majorR) {
            cards.show(pane, "4");
            Reset_S_Pane();
            Reset_M_Pane();
            setSize(400, 250);
        }
        if (source == majorQ) {
            cards.show(pane, "5");
            Reset_S_Pane();
            Reset_M_Pane();
            setSize(400, 250);
        }
        if (source == majorU) {
            cards.show(pane, "6");
            Reset_S_Pane();
            Reset_M_Pane();
            setSize(400, 250);
        }
        if (source == majorD) {
            cards.show(pane, "7");
            Reset_S_Pane();
            Reset_M_Pane();
            setSize(400, 250);
        }
    }
 
    public void Reset_S_Pane() {
 
        SR_Name.setText("");
        SR_Sex.setText("");
        SR_Class.setText("");
 
        SR_Major.setSelectedItem("");
        SQ_ID.setText("");
        SQ_Name.setText("");
        SQ_Sex.setText("");
        SQ_Class.setText("");
        SQ_Major.setText("");
 
        SU_ID.setText("");
        SU_Name.setText("");
        SU_Sex.setText("");
        SU_Class.setText("");
        SU_Major.setText("");
 
        SD_Field.setText("");
    }
 
    public void Reset_M_Pane() {
        MR_Name.setText("");
        MQ_ID.setText("");
        MQ_Name.setText("");
        MU_ID.setText("");
        MU_Name.setText("");
        MD_Field.setText("");
    }
 
    public boolean isStuExist(int ID) {
        try {
            ResultSet rs = state.executeQuery("Select * from student");
            while (rs.next()) {
                int rsID = rs.getInt("ID");
                stuID = rsID;
                SR_ID.setText(String.valueOf(++stuID));
                if (ID == rsID)
                    return true;
            }
        } catch (SQLException e) {
 
            e.printStackTrace();
        }
        return false;
    }
 
    public boolean isMajorExist(int ID) {
        try {
            ResultSet rs = state.executeQuery("Select *from major");
            while (rs.next()) {
                int rsID = rs.getInt("ID");
                if (!MID.contains(rsID))
                    MID.add(rsID);
                majorID = rsID;
                MR_ID.setText(String.valueOf(++majorID));
                if (ID == rsID)
                    return true;
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return false;
    }
 
    public void showInformation_SU_Pane() {
        String SuID = SU_ID.getText();
        if (SuID.length() > 0) {
            sql = "Select * from student where ID="+SuID+";";
         
 
            try {
                ResultSet rs = state.executeQuery(sql);
                while (rs.next()) {
                    SU_Name.setText(rs.getString(2));
                    SU_Sex.setText(rs.getString(3));
                    SU_Class.setText(String.valueOf(rs.getInt(4)));
                    SU_Major.setText(String.valueOf(rs.getInt(5)));
                }
 
            } catch (SQLException e1) {
                e1.printStackTrace();
            }
        }
    }
 
    public static void main(String args[]) {
 
        try {
            UIManager
                    .setLookAndFeel("org.jvnet.substance.skin.SubstanceRavenGraphiteLookAndFeel");
        } catch (ClassNotFoundException | InstantiationException
                | IllegalAccessException | UnsupportedLookAndFeelException e) {
            e.printStackTrace();
        }
        JFrame.setDefaultLookAndFeelDecorated(true);
        JDialog.setDefaultLookAndFeelDecorated(true);
        MainFrame MF = new MainFrame();
        new StuDataBase(MF);
 
    }
 
}
//源代码片段来自云代码http://yuncode.net
            


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...