请写一个数据库版的Java学生信息管理系统代码要求只写更改学生信息的功能和界面还有删除学生信息的功能和界面代码
由于缺少具体的数据表结构和界面设计,我只能给出基本的代码框架和思路,希望能对您有所帮助。
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
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.删除学生信息的功能和界面代码:
//删除学生信息的方法,需要传入学生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(); //关闭窗口 }
原文地址: https://www.cveoy.top/t/topic/hqtH 著作权归作者所有。请勿转载和采集!