Java数据库学生信息管理系统:修改和删除学生信息功能代码

本文提供了使用Java开发的数据库学生信息管理系统中修改和删除学生信息的代码实现,包括数据库操作、界面设计和事件处理。代码使用PreparedStatement进行数据库操作,并通过Swing组件实现界面交互。

1. 更改学生信息功能和界面代码

//更新学生信息的方法,需要传入学生ID和新的学生信息
public void updateStudentInfo(int studentId, StudentInfo newInfo) {
    Connection conn = null;
    PreparedStatement ps = null;
    try {
        conn = getConnection(); //获取数据库连接
        ps = conn.prepareStatement('UPDATE students SET name=?, age=?, gender=?, grade=? WHERE id=?');
        //使用PreparedStatement对象进行更新操作,注意参数顺序
        ps.setString(1, newInfo.getName());
        ps.setInt(2, newInfo.getAge());
        ps.setString(3, newInfo.getGender());
        ps.setString(4, newInfo.getGrade());
        ps.setInt(5, studentId);
        ps.executeUpdate(); //执行更新操作
    } catch (SQLException e) {
        e.printStackTrace();
    } finally {
        close(conn, ps, null); //关闭连接和PreparedStatement对象
    }
}

//更新学生信息的界面代码,需要使用JFrame和JPanel等Swing组件
public class UpdateStudentInfoFrame extends JFrame {
    private JLabel nameLabel;
    private JTextField nameField;
    private JLabel ageLabel;
    private JTextField ageField;
    private JLabel genderLabel;
    private JComboBox<String> genderComboBox;
    private JLabel gradeLabel;
    private JTextField gradeField;
    private JButton updateButton;
    private JButton cancelButton;

    public UpdateStudentInfoFrame(int studentId, StudentInfo oldInfo) {
        //初始化界面
        nameLabel = new JLabel('姓名:');
        nameField = new JTextField(oldInfo.getName());
        ageLabel = new JLabel('年龄:');
        ageField = new JTextField(String.valueOf(oldInfo.getAge()));
        genderLabel = new JLabel('性别:');
        genderComboBox = new JComboBox<>(new String[]{'男', '女'});
        genderComboBox.setSelectedItem(oldInfo.getGender());
        gradeLabel = new JLabel('年级:');
        gradeField = new JTextField(oldInfo.getGrade());
        updateButton = new JButton('更新');
        cancelButton = new JButton('取消');

        //添加事件监听器
        updateButton.addActionListener(e -> {
            StudentInfo newInfo = new StudentInfo(nameField.getText(), Integer.parseInt(ageField.getText()), genderComboBox.getSelectedItem().toString(), gradeField.getText());
            updateStudentInfo(studentId, newInfo); //调用更新方法
            JOptionPane.showMessageDialog(this, '更新成功!');
            dispose(); //关闭窗口
        });
        cancelButton.addActionListener(e -> {
            dispose(); //关闭窗口
        });

        //布局界面
        JPanel panel = new JPanel(new GridLayout(5, 2));
        panel.add(nameLabel);
        panel.add(nameField);
        panel.add(ageLabel);
        panel.add(ageField);
        panel.add(genderLabel);
        panel.add(genderComboBox);
        panel.add(gradeLabel);
        panel.add(gradeField);
        panel.add(updateButton);
        panel.add(cancelButton);
        add(panel);

        //设置窗口属性
        setTitle('更新学生信息');
        setSize(300, 200);
        setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        setLocationRelativeTo(null);
        setResizable(false);
        setVisible(true);
    }
}

### 2. 删除学生信息的功能和界面代码

```java
//删除学生信息的方法,需要传入学生ID
public void deleteStudentInfo(int studentId) {
    Connection conn = null;
    PreparedStatement ps = null;
    try {
        conn = getConnection(); //获取数据库连接
        ps = conn.prepareStatement('DELETE FROM students WHERE id=?');
        //使用PreparedStatement对象进行删除操作,注意参数顺序
        ps.setInt(1, studentId);
        ps.executeUpdate(); //执行删除操作
    } catch (SQLException e) {
        e.printStackTrace();
    } finally {
        close(conn, ps, null); //关闭连接和PreparedStatement对象
    }
}

//删除学生信息的界面代码,需要使用JFrame和JOptionPane等Swing组件
public class DeleteStudentInfoFrame extends JFrame {
    public DeleteStudentInfoFrame(int studentId) {
        int option = JOptionPane.showConfirmDialog(this, '确认删除该学生的信息吗?', '删除学生信息', JOptionPane.YES_NO_OPTION);
        //使用JOptionPane显示确认对话框,让用户确认是否删除学生信息
        if (option == JOptionPane.YES_OPTION) {
            deleteStudentInfo(studentId); //调用删除方法
            JOptionPane.showMessageDialog(this, '删除成功!');
        }
        dispose(); //关闭窗口
    }
}

注意:

  • 以上代码中,getConnection() 方法用于获取数据库连接,close() 方法用于关闭连接和PreparedStatement对象,具体实现需要根据您的数据库配置进行调整。
  • StudentInfo 类用于表示学生信息,需要根据您的数据表结构进行定义。
  • 代码示例中使用了 Swing 组件,您可以根据您的需求进行调整。
  • 代码中缺少具体的数据表结构和界面设计,仅供参考。
Java数据库学生信息管理系统:修改和删除学生信息功能代码

原文地址: https://www.cveoy.top/t/topic/oTjz 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录