Java程序设计数据库综合应用学生教师信息管理系统041440516董迎顺
java毕业设计学生信息管理系统
![java毕业设计学生信息管理系统](https://img.taocdn.com/s3/m/ce629f6f59fb770bf78a6529647d27284b733726.png)
java毕业设计学生信息管理系统学生信息管理系统是一种电子化的管理工具,可以方便学校或教育机构对学生信息进行统一管理和查询。
它通过建立一个数据库来存储学生的个人信息,包括姓名、学号、性别、出生日期、联系方式等。
这个系统的主要功能有以下几个方面:1.学生信息管理:可以对学生的个人信息进行录入、修改和删除操作。
管理员可通过表单录入学生的基本信息,并且可以对已有的信息进行修改和删除。
系统还可以对学生的信息进行分类,比如按年级、班级或专业进行分类,以方便查询。
2.成绩管理:可以对学生的各科成绩进行管理和查询。
管理员可以录入学生的课程成绩,并能够根据需要对特定学生或特定科目的成绩进行查询和统计。
系统还可以自动生成成绩单或成绩报告,以方便教师或家长查看。
3.考勤管理:可以记录学生的出勤情况,并进行统计和分析。
系统可以记录学生每一天的出勤情况,包括请假、迟到、早退等情况,以方便教师和学校对学生的出勤进行监控和管理。
4.奖惩管理:可以记录学生的奖励和惩罚情况,并进行统计和分析。
系统可以记录学生获得的奖项,比如先进个人、先进班集体等,同时也记录学生的违纪情况,比如违反校规、作弊等,以便学校对学生的表现进行奖惩。
5.学生档案管理:可以存储和查看学生的各类档案资料,比如入学档案、体检档案、毕业档案等。
系统可以建立学生的个人档案,存储学生的各类资料,以方便学校和教师查看和管理。
以上是学生信息管理系统的主要功能,实际的系统还可以根据具体的需求进行扩展和完善。
这个系统可以提供给学校的管理部门、教职工和家长使用,通过电子化的方式管理和查询学生的信息,提高信息管理的效率和可靠性。
在设计和开发这个系统时,需要使用Java编程语言,结合数据库技术来存储和管理学生的信息。
可以使用MySQL、Oracle等关系型数据库来存储学生的信息,并通过Java的数据库连接工具实现对数据库的操作。
同时,可以使用Java的GUI编程工具,比如Swing或JavaFX,来设计界面,实现对学生信息的录入、修改和查询等功能。
课程信息管理系统java课程设计
![课程信息管理系统java课程设计](https://img.taocdn.com/s3/m/3c2646b89a89680203d8ce2f0066f5335b81674f.png)
课程信息管理系统java课程设计一、课程目标知识目标:1. 学生能够掌握Java语言基础,包括数据类型、控制结构、类与对象等;2. 学生能够理解课程信息管理系统的功能需求,掌握系统设计的基本原理;3. 学生能够运用所学知识,实现课程信息管理系统的基本功能模块。
技能目标:1. 学生能够运用Java语言编写程序,实现课程信息管理系统的功能;2. 学生能够运用面向对象编程思想,进行系统设计和模块划分;3. 学生能够运用调试工具,调试并优化自己的程序。
情感态度价值观目标:1. 学生通过课程学习,培养对编程的兴趣和热情;2. 学生在团队协作中,学会沟通、分享和承担责任;3. 学生能够认识到编程在生活中的应用,提高对信息技术的认识。
课程性质:本课程为实践性较强的学科,要求学生结合所学理论知识,动手实践,培养编程能力和实际应用能力。
学生特点:学生处于高年级阶段,具有一定的Java编程基础,对面向对象编程有一定的了解,具备一定的自主学习能力。
教学要求:结合课程性质、学生特点,注重理论与实践相结合,培养学生的编程能力和实际应用能力。
通过课程学习,使学生能够独立完成课程信息管理系统的设计与实现。
同时,关注学生的情感态度价值观培养,提高学生的团队协作能力和信息技术素养。
将课程目标分解为具体的学习成果,便于后续教学设计和评估。
二、教学内容1. Java语言基础回顾:数据类型、控制结构、数组、类与对象等基本概念;2. 面向对象编程:封装、继承、多态等核心概念,以及设计模式初步了解;3. 课程信息管理系统需求分析:梳理系统功能,明确模块划分;4. 数据库基础:SQL语句编写,数据库连接与操作;5. Java图形用户界面(GUI)设计:Swing组件的使用,界面布局与美化;6. 课程信息管理系统的设计与实现:- 系统架构设计:分层设计,模块划分;- 功能模块开发:课程信息添加、修改、删除、查询等;- 系统测试与优化:测试用例设计,性能优化;7. 项目实践与团队协作:分组进行项目实践,培养学生的团队协作能力。
Java程序设计数据库综合应用学生教师信息管理系统041440516董迎顺
![Java程序设计数据库综合应用学生教师信息管理系统041440516董迎顺](https://img.taocdn.com/s3/m/8eaceca2ce2f0066f433222c.png)
综合性设计性实验报告实验项目名称:_数据库综合应用所属课程名称:__Java程序设计学生姓名/学号:_董迎顺学生所在班级:_网络五班__依托实验室:__综C601_实验学期:__大二下学期_计算机科学技术学院登陆界面个人中心左侧显示个人信息,右侧显示成绩左下角点击修改个人简历右上角菜单可以注销登陆和修改登陆密码教师端登陆界面录入学生相关科目成绩源代码:admin包package admin;public class adminview extends JFrame implements ActionListener,MenuListener, TableModelListener, MouseListener{private static final long serialVersionUID = -5521764455482148346L;JPanel panel,panel1,panel2,panel3,panel4,panel5,panel6;JMenuBar menu;JMenu m1,m2,m3,m4,m5;JMenuItem item1, item2, item3, item4, item5, item6;JTextField text1,text2,text3,text4,text5,text6,text7;JButton button1,button2,button3,button4,button5,button6,button7;JTextField file1,file2,file3,file4,file5,file6,file7;JButton but1,but2,but3,but4,but5,but6,but7;JComboBox box;JScrollPane scoro;JTable table;ResultSet rs;JPopupMenu jmenu;DefaultTableModel model1,model2,model3;JTableHeader header;public adminview(String str){double width = Toolkit.getDefaultToolkit().getScreenSize().getWidth();double height= Toolkit.getDefaultToolkit().getScreenSize().getHeight();this.setBounds((int)(width*0.1),(int)(height*0.1), (int)(1366*0.8),(int)(800*0.8) );this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setResizable(false);this.setForeground(Color.black);this.setLayout(new BorderLayout());this.setIconImage(new ImageIcon("image\\denglu-image\\zhang.jpg") .getImage());// PopupMenu popupMenu1 = new PopupMenu();menu= new JMenuBar();m1=new JMenu ("菜单");m3=new JMenu ("帮助");menu.add(m1);//menu.add(m2);menu.add(m3);item1=new JMenuItem("查看所有课程");item1.setIcon(new ImageIcon("image\\admin-image\\m.png"));item2=new JMenuItem("查看所有教师");item2.setIcon(new ImageIcon("image\\admin-image\\m.png"));item3=new JMenuItem("查看所有学生");item3.setIcon(new ImageIcon("image\\admin-image\\m.png")); item4=new JMenuItem("修改密码");item4.setIcon(new ImageIcon("image\\admin-image\\key.png")); item5=new JMenuItem("退出");item5.setIcon(new ImageIcon("image\\admin-image\\delete.png"));item6 = new JMenuItem("打印");item6.setIcon(new ImageIcon("image\\admin-image\\print.png")); m1.add(item1);m1.add(item2);m1.add(item3);m1.add(item4);m1.add(item6);m1.add(item5);item1.addActionListener(this);item2.addActionListener(this);item3.addActionListener(this);item4.addActionListener(this);item5.addActionListener(this);item6.addActionListener(this);this.setJMenuBar(menu);//ImageIcon icon1 = new ImageIcon("image\\admin-image\\a-4.jpg"); panel=new BackgroundPanel(icon1.getImage());panel.setLayout(null);this.add(panel,BorderLayout.CENTER);panel1=new JPanel();panel1.setBounds(0, 0,500,282);panel1.setBorder(BorderFactory.createLineBorder(Color.white, 4));panel1.setBorder(BorderFactory.createTitledBorder("教师课程"));panel1.setOpaque(false);panel.add(panel1);//panel2=new JPanel();panel2.setOpaque(false);panel2.setBounds(0, 282,500,310);panel2.setBorder(BorderFactory.createLineBorder(Color.white, 4));panel2.setBorder(BorderFactory.createTitledBorder("学生模块"));panel.add(panel2);panel2.setOpaque(false);//panel1.add(new JLabel("课程号:"));text1=new JTextField(20);text1.setOpaque(false);panel1.add(text1);panel1.add(new JLabel("课程名:"));text2=new JTextField(20);text2.setOpaque(false);panel1.add(text2);button1=new JButton("增加课程");panel1.add(button1);panel1.add(new JLabel("课程号:"));text3=new JTextField(20);text3.setOpaque(false);panel1.add(text3);panel1.add(new JLabel(" "));button2=new JButton("删除课程");panel1.add(button2);panel1.add(new JLabel("----------------------------------------------------------------------------------")); panel1.add(new JLabel("----------------------------------------------------------------------------------")); panel1.add(new JLabel("教师号:"));text5=new JTextField(20);text5.setOpaque(false);panel1.add(text5);panel1.add(new JLabel("姓名:"));text6=new JTextField(20);text6.setOpaque(false);panel1.add(text6);//panel1.add(new JLabel("课程号:"));//text7=new JTextField(11);//panel1.add(text7);button3=new JButton("新增教师");panel1.add(button3);panel1.add(new JLabel("教师号:"));text4=new JTextField(20);text4.setOpaque(false);panel1.add(text4);//panel1.add(new JLabel("----------------------------------------------------------------------------------")); panel1.add(new JLabel(" "));button4=new JButton("删除教师");panel1.add(button4);panel1.add(new JLabel("----------------------------------------------------------------------------------")); panel1.add(new JLabel("----------------------------------------------------------------------------------")); button5=new JButton("查看教师");panel1.add(button5);button6=new JButton("查看课程");panel1.add(button6);button7=new JButton("课程安排");panel1.add(button7);panel1.add(new JLabel("----------------------------------------------------------------------------------")); panel3=new JPanel();panel3.setOpaque(false);panel3.setPreferredSize(new Dimension(500,140));panel3.setBorder(BorderFactory.createLineBorder(Color.white, 2));panel3.setBorder(BorderFactory.createTitledBorder("录入模块"));panel2.add(panel3);panel3.add(new JLabel("学号:"));file1=new JTextField(15);file1.setOpaque(false);panel3.add(file1);panel3.add(new JLabel("姓名:"));file2=new JTextField(15);file2.setOpaque(false);panel3.add(file2);panel3.add(new JLabel("性别:"));box=new JComboBox();box.addItem("男");box.addItem("女");// box.setOpaque(false);panel3.add(box);panel3.add(new JLabel("班级:"));file3=new JTextField(10);file3.setOpaque(false);panel3.add(file3);panel3.add(new JLabel("籍贯:"));file4=new JTextField(72);file4.setOpaque(false);panel3.add(file4);but1=new JButton("确认录入");panel3.add(but1);panel3.add(new JLabel("----------------------------------------------------------------------------------")); panel3.add(new JLabel("----------------------------------------------------------------------------------")); //panel4=new JPanel();panel4.setOpaque(false);panel2.add(panel4);panel4.setPreferredSize(new Dimension(500,210));panel4.setBorder(BorderFactory.createLineBorder(Color.white, 2));panel4.setBorder(BorderFactory.createTitledBorder("删除模块"));panel4.add(new JLabel("学号:"));file5=new JTextField(15);file5.setOpaque(false);panel4.add(file5);panel4.add(new JLabel("==========================================")); but2=new JButton("确认删除");panel4.add(but2);panel4.add(new JLabel("----------------------------------------------------------------------------------")); panel4.add(new JLabel("----------------------------------------------------------------------------------"));but3=new JButton("查看所有学生信息");but4=new JButton("查看所有学生住宿");panel4.add(but3);panel4.add(but4);panel4.add(new JLabel("----------------------------------------------------------------------------------"));panel5 = new JPanel();panel5.setOpaque(false);// ((JXPanel) panel5).setAlpha(0.1F);panel5.setBounds(505, 9, 575, 581);panel5.setBorder(BorderFactory.createLineBorder(Color.white, 2));panel.add(panel5);//button1.addActionListener(this);//增加课程button1.setContentAreaFilled(false);button1.addMouseListener(this);button2.addActionListener(this);//删除课程button2.setContentAreaFilled(false);button2.addMouseListener(this);button3.addActionListener(this);//新增教师button3.setContentAreaFilled(false);button3.addMouseListener(this);button4.addActionListener(this);//删除教师button4.setContentAreaFilled(false);button4.addMouseListener(this);button5.addActionListener(this);//查看教师button5.setContentAreaFilled(false);button5.addMouseListener(this);button6.addActionListener(this);//查看课程button6.setContentAreaFilled(false);button6.addMouseListener(this);button7.addActionListener(this);//课程安排button7.setContentAreaFilled(false);button7.addMouseListener(this);but1.addActionListener(this);//确认录入but1.setContentAreaFilled(false);but1.addMouseListener(this);but2.addActionListener(this);//确认删除but2.setContentAreaFilled(false);but2.addMouseListener(this);but3.addActionListener(this);//查看所有学生信息but3.setContentAreaFilled(false);but3.addMouseListener(this);but4.addActionListener(this);//查看所有学生住宿but4.setContentAreaFilled(false);but4.addMouseListener(this);}@Overridepublic void actionPerformed(ActionEvent e){if(e.getSource()==button1) {int i=0; try{i=Integer.parseInt(text1.getText().trim());try{rs = dengluview.sql.executeQuery("select * from course where 课程号=" + i);if(rs.next()){JOptionPane.showMessageDialog( null ,"课程号已存在!!");}else{dengluview.sql.executeUpdate("insert into course(课程号,课程名) values( '"+ i+ "','"+ text2.getText().trim()+ "')");dengluview.sql.executeUpdate("alter table sc add "+ text2.getText().trim() + " int(3) "); JOptionPane.showMessageDialog( null ,"课程增加成功!"); button6.doClick();}}catch (SQLException e1) {JOptionPane.showMessageDialog( null ,"添加失败!");} }catch(NumberFormatException e1) {JOptionPane.showMessageDialog( null ,"教师号输入有误!");}}if(e.getSource()==button2) {int i=0;String str;try{ i=Integer.parseInt(text3.getText());try {rs = dengluview.sql.executeQuery("select * from course where 课程号=" + i);if(rs.next()){ str=rs.getString(2);dengluview.sql.executeUpdate("delete from course where 课程号="+ i);dengluview.sql.executeUpdate("ALTER TABLE sc DROP " + str);JOptionPane.showMessageDialog( null ,"删除成功!");button6.doClick();}else{JOptionPane.showMessageDialog( null ,"课程号不存在!");} } catch (SQLException e1) {JOptionPane.showMessageDialog( null ,"删除失败!");}}catch(NumberFormatException ea) {JOptionPane.showMessageDialog( null ,"课程号输入有误!");}}if(e.getSource()==button3) {int j=0;try{j=Integer.parseInt(text5.getText().trim());try {rs = dengluview.sql.executeQuery("select * from teacher where 教师号="+ j);if(rs.next()){JOptionPane.showMessageDialog( null ,"教师号已存在!!");}else{ dengluview.sql.executeUpdate("insert into teacher(教师号,姓名) values( '"+ j+ "','"+ text6.getText().trim()+ "')"); JOptionPane.showMessageDialog( null ,"教师增加成功!"); button5.doClick();} }catch(SQLException e1) {JOptionPane.showMessageDialog( null ,"异常!!");} }catch(NumberFormatException e1){JOptionPane.showMessageDialog( null ,"教师号输入有误!");} } if(e.getSource()==button4){int i=0;try{ i=Integer.parseInt(text4.getText());try { rs = dengluview.sql.executeQuery("select * from teacher where 教师号="+ i);if(rs.next()){dengluview.sql.executeUpdate("delete from teacher where 教师号="+ i);JOptionPane.showMessageDialog( null ,"删除成功!");button5.doClick();}else{JOptionPane.showMessageDialog( null ,"教师号不存在!");} } catch (SQLException e1) {JOptionPane.showMessageDialog( null ,"删除失败!"); }}catch(NumberFormatException ea) {JOptionPane.showMessageDialog( null ,"教师号输入有误!"); }} if(e.getSource()==button5){panel5.removeAll();String str="select 教师号,姓名from teacher";Object a[]={"教师号","姓名"};table = new JTable(functionview.getrecord(str), a);table.setRowHeight(25);table.setOpaque(false);scoro = new JScrollPane(table);scoro.setPreferredSize(new Dimension(555, 580));scoro.setColumnHeaderView(table.getTableHeader());scoro.setOpaque(false);scoro.getViewport().setOpaque(false);scoro.getColumnHeader().setOpaque(false);DefaultTableCellRenderer render = new DefaultTableCellRenderer();render.setOpaque(false);table.setDefaultRenderer(Object.class, render);table.setGridColor(Color.white);JTableHeader header = table.getTableHeader();header.setPreferredSize(new Dimension(30, 26));header.setOpaque(false);header.getTable().setOpaque(false);header.setDefaultRenderer(new HeaderCellRenderer());TableCellRenderer headerRenderer = header.getDefaultRenderer();if (headerRenderer instanceof JLabel) {((JLabel) headerRenderer).setHorizontalAlignment(SwingConstants.CENTER);((JLabel) headerRenderer).setOpaque(false);}//panel5.add(scoro);panel5.validate();}if(e.getSource()==button6){panel5.removeAll();String str="select * from course";model3=newMyModel(functionview.getrecord(str),functionview.gengxing("course"));model3.addTableModelListener(this);table = new JTable(model3);table.setCellSelectionEnabled(true);table.setSurrendersFocusOnKeystroke(true);table.setRowHeight(25);table.setOpaque(false);scoro = new JScrollPane(table);scoro.setPreferredSize(new Dimension(555, 580));scoro.setColumnHeaderView(table.getTableHeader());scoro.setOpaque(false);scoro.getViewport().setOpaque(false);scoro.getColumnHeader().setOpaque(false);DefaultTableCellRenderer render = new DefaultTableCellRenderer();render.setOpaque(false);table.setDefaultRenderer(Object.class, render);table.setGridColor(Color.white);JTableHeader header = table.getTableHeader();header.setPreferredSize(new Dimension(30, 26));header.setOpaque(false);header.getTable().setOpaque(false);header.setDefaultRenderer(new HeaderCellRenderer());TableCellRenderer headerRenderer = header.getDefaultRenderer();if (headerRenderer instanceof JLabel) {((JLabel) headerRenderer).setHorizontalAlignment(SwingConstants.CENTER);((JLabel) headerRenderer).setOpaque(false);}panel5.add(scoro);panel5.validate();}if(e.getSource()==button7) {panel5.removeAll();String str="select course.教师号,姓名,课程名from course,teacher where course.教师号=teacher.教师号";Object a[]={"教师号","姓名","课程名"};table = new JTable(functionview.getrecord(str), a);table.setRowHeight(25);table.setOpaque(false);scoro = new JScrollPane(table);scoro.setPreferredSize(new Dimension(555, 580));scoro.setColumnHeaderView(table.getTableHeader());scoro.setOpaque(false);scoro.getViewport().setOpaque(false);scoro.getColumnHeader().setOpaque(false);DefaultTableCellRenderer render = new DefaultTableCellRenderer();render.setOpaque(false);table.setDefaultRenderer(Object.class, render);table.setGridColor(Color.white);JTableHeader header = table.getTableHeader();header.setPreferredSize(new Dimension(30, 26));header.setOpaque(false);header.getTable().setOpaque(false);header.setDefaultRenderer(new HeaderCellRenderer());TableCellRenderer headerRenderer = header.getDefaultRenderer();if (headerRenderer instanceof JLabel) {((JLabel) headerRenderer).setHorizontalAlignment(SwingConstants.CENTER);((JLabel) headerRenderer).setOpaque(false);}panel5.add(scoro);panel5.validate();}if(e.getSource()==but1){String str=file1.getText().trim();try{double a=Double.valueOf(str);if(str.length()==12){try {rs = dengluview.sql.executeQuery("select 学号from student where 学号="+ a);if(rs.next()){JOptionPane.showMessageDialog( null ,"该学号已存在!!");}else{String st1=file2.getText();String st2=(String) box.getSelectedItem();String st3=file3.getText();String st4=file4.getText();System.out.print("insert into student (学号, 姓名, 性别, 班级, 籍贯) values ('"+str+"','"+st1+"','"+st2+"','"+st3+"','"+st4+"');");dengluview.sql.executeUpdate("insert into student (学号, 姓名, 性别, 班级, 籍贯) values ('"+ str+ "','"+ st1+ "','"+ st2+ "','" + st3 + "','" + st4 + "')");JOptionPane.showMessageDialog( null ,"增加成功!!");but3.doClick();}}catch (SQLException e1){JOptionPane.showMessageDialog( null ,"插入异常!!");}}else{JOptionPane.showMessageDialog( null ,"学号为12位长数字");}}catch(NumberFormatException es){JOptionPane.showMessageDialog( null ,"学号输入有误!");} }if(e.getSource()==but2) {String str=file5.getText().trim();try{double a=Double.valueOf(str);if(str.length()==12){try{rs = dengluview.sql.executeQuery("select 学号from student where 学号="+ a);if(rs.next()){ dengluview.sql.executeUpdate("delete from student where 学号="+ str);JOptionPane.showMessageDialog( null ,"删除成功!!");but3.doClick();}else{JOptionPane.showMessageDialog( null ,"该学号不存在!!");}}catch(SQLException e1){} }else{JOptionPane.showMessageDialog( null ,"学号位数不够!");}}catch(NumberFormatException es){ JOptionPane.showMessageDialog( null ,"学号输入有误!");}}if(e.getSource()==but3) {panel5.removeAll();String str="select * from student";model1=newMyModel(functionview.getrecord(str),functionview.gengxing("student"));model1.addTableModelListener(this);table = new JTable(model1);table.setCellSelectionEnabled(true);table.setSurrendersFocusOnKeystroke(true);table.setRowHeight(25);table.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);table.setOpaque(false);scoro = new JScrollPane(table,ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS,ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);scoro.setPreferredSize(new Dimension(555, 572));scoro.setColumnHeaderView(table.getTableHeader());scoro.setOpaque(false);scoro.getViewport().setOpaque(false);scoro.getColumnHeader().setOpaque(false);scoro.getHorizontalScrollBar().addMouseListener(this);DefaultTableCellRenderer render = new DefaultTableCellRenderer();render.setOpaque(false);table.setDefaultRenderer(Object.class, render);table.setGridColor(Color.white);JTableHeader header = table.getTableHeader();header.setPreferredSize(new Dimension(30, 26));header.setOpaque(false);header.getTable().setOpaque(false);header.setDefaultRenderer(new HeaderCellRenderer());TableCellRenderer headerRenderer = header.getDefaultRenderer();if (headerRenderer instanceof JLabel) {((JLabel) headerRenderer).setHorizontalAlignment(SwingConstants.CENTER);((JLabel) headerRenderer).setOpaque(false);}panel5.add(scoro);panel5.validate();}if(e.getSource()==but4) {panel5.removeAll();String str="select * from zhusu";model2=newMyModel(functionview.getrecord(str),functionview.gengxing("zhusu"));model2.addTableModelListener(this);table = new JTable(model2);table.setCellSelectionEnabled(true);table.setSurrendersFocusOnKeystroke(true);table.setRowHeight(25);table.setOpaque(false);scoro = new JScrollPane(table);scoro.setPreferredSize(new Dimension(555, 572));scoro.setColumnHeaderView(table.getTableHeader());scoro.setOpaque(false);scoro.getViewport().setOpaque(false);scoro.getColumnHeader().setOpaque(false);DefaultTableCellRenderer render = new DefaultTableCellRenderer();render.setOpaque(false);table.setDefaultRenderer(Object.class, render);table.setGridColor(Color.white);header = table.getTableHeader();header.setPreferredSize(new Dimension(30, 26));header.setOpaque(false);header.getTable().setOpaque(false);header.setDefaultRenderer(new HeaderCellRenderer());TableCellRenderer headerRenderer = header.getDefaultRenderer();if (headerRenderer instanceof JLabel) {((JLabel) headerRenderer).setHorizontalAlignment(SwingConstants.CENTER);((JLabel) headerRenderer).setOpaque(false);}panel5.add(scoro);panel5.validate();}if(e.getSource()==item1){ button6.doClick();}if(e.getSource()==item2){button5.doClick();}if(e.getSource()==item3){but3.doClick();}if(e.getSource()==item4){}if(e.getSource()==item5){System.exit(0); }if (e.getSource() == item6) {try {table.print();} catch (PrinterException e1) {// TODO Auto-generated catch blockJOptionPane.showMessageDialog(null, "初始化失败!");}} }@Overridepublic void menuCanceled(MenuEvent e){ }@Overridepublic void menuDeselected(MenuEvent arg0) {}@Overridepublic void menuSelected(MenuEvent arg0) {}@Overridepublic void tableChanged(TableModelEvent e){int rr,cc;String vv ,v1,v2;if(e.getSource()==model1) {rr = table.getSelectedRow(); // 取表格tab中的当前行号cc = table.getSelectedColumn(); // 取表格tab中的当前列号vv = ((String) table.getValueAt(rr, cc)).trim(); // 取表格tab中的第rr行、cc列的单元格的数据值System.out.println("当前行是"+rr+"当前列是"+cc+"数据值是"+vv);try{ rs = dengluview.sql.executeQuery("select * from student ");rs.absolute(rr+1);v1=rs.getString(1);v2=(String)functionview.gengxing("student")[cc];dengluview.sql.execute("update student set " + v2 + "='" + vv+ "' where 学号=" + v1);}catch (SQLException e1){JOptionPane.showMessageDialog( null ,"更新异常!");}}if(e.getSource()==model2) {rr = table.getSelectedRow(); // 取表格tab中的当前行号cc = table.getSelectedColumn(); // 取表格tab中的当前列号vv = ((String) table.getValueAt(rr, cc)).trim();// 取表格tab中的第rr行、cc列的单元格的数据值//System.out.println("当前行是"+rr+"当前列是"+cc+"数据值是"+vv);try{ rs = dengluview.sql.executeQuery("select * from zhusu ");rs.absolute(rr+1);v1=rs.getString(1);v2=(String)functionview.gengxing("zhusu")[cc];dengluview.sql.execute("update zhusu set " + v2 + "='" + vv+ "' where 学号=" + v1);}catch (SQLException e1) {JOptionPane.showMessageDialog( null ,"更新异常!"); }}if(e.getSource()==model3){rr = table.getSelectedRow(); // 取表格tab中的当前行号cc = table.getSelectedColumn(); // 取表格tab中的当前列号vv = ((String) table.getValueAt(rr, cc)).trim(); // 取表格tab中的第rr行、cc列的单元格的数据值try {rs = dengluview.sql.executeQuery("select * from course ");rs.absolute(rr+1);v1=rs.getString(1);//v2=(String)function.gengxing("course")[cc];dengluview.sql.execute("update course set 教师号=" + vv+ " where 课程号=" + v1);}catch (SQLException e1){JOptionPane.showMessageDialog( null ,"更新异常!");}}table.repaint();}@Overridepublic void mouseClicked(MouseEvent e) {}@Overridepublic void mouseEntered(MouseEvent e){if (e.getSource() == button1) {button1.setContentAreaFilled(true);}if (e.getSource() == button2) {button2.setContentAreaFilled(true);}if (e.getSource() == button3) {button3.setContentAreaFilled(true);}if (e.getSource() == button4) {button4.setContentAreaFilled(true);}if (e.getSource() == button5) {button5.setContentAreaFilled(true);}if (e.getSource() == button6) {button6.setContentAreaFilled(true);}if (e.getSource() == button7) {button7.setContentAreaFilled(true);}if (e.getSource() == but1) {but1.setContentAreaFilled(true);}if (e.getSource() == but2) {but2.setContentAreaFilled(true);}if (e.getSource() == but3) {but3.setContentAreaFilled(true);}if (e.getSource() == but4) {but4.setContentAreaFilled(true);}}@Overridepublic void mouseExited(MouseEvent e) {if (e.getSource() == button1) {button1.setContentAreaFilled(false);}if (e.getSource() == button2) {button2.setContentAreaFilled(false);}if (e.getSource() == button3) {button3.setContentAreaFilled(false);}if (e.getSource() == button4) {button4.setContentAreaFilled(false);}if (e.getSource() == button5) {button5.setContentAreaFilled(false);}if (e.getSource() == button6) {button6.setContentAreaFilled(false);}if (e.getSource() == button7) {button7.setContentAreaFilled(false);}if (e.getSource() == but1) {but1.setContentAreaFilled(false);}if (e.getSource() == but2) {but2.setContentAreaFilled(false);}if (e.getSource() == but3) {but3.setContentAreaFilled(false);}if (e.getSource() == but4) {but4.setContentAreaFilled(false);}}@Overridepublic void mousePressed(MouseEvent e) {// TODO Auto-generated method stubif (e.getSource() == scoro.getHorizontalScrollBar()) {this.validate();}}@Overridepublic void mouseReleased(MouseEvent e) {// TODO Auto-generated method stubif (e.getSource() == scoro.getHorizontalScrollBar()) {this.validate();}}}class MyModel extends DefaultTableModel {private static final long serialVersionUID = 8077956701855597367L;public MyModel(Object[][] rowData, Object[] columns){ super(rowData, columns); }@Overridepublic boolean isCellEditable(int row, int col){if (col == 0||col==1) {return false;}else{return true;} }}denglu包public class dengluview {static JFrame frame;static Connection con;// ..........................public static Statement sql;// 连接数据库static ResultSet rs1;static String str;static JPanel beijing;static JPanel jpanel1, jpanel2, jpanel3, jpanel4;static JLabel label1, guanbi, zuixiaohua;;static JLabel label2;static JButton button1;static JButton button2;static JTextField field1;static JPasswordField passwordText;static JComboBox box;public static void main(String[] args) {try {javax.swing.UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");} catch (Exception e) {e.printStackTrace();}shijian listener = new shijian();frame = new JFrame();// 登陆窗体frame.setUndecorated(true);// 去掉默认边框frame.setLayout(new BorderLayout());frame.setSize(600, 300);frame.setVisible(true);frame.setResizable(false);// 禁止最大化frame.addMouseListener(listener);frame.addMouseMotionListener(listener);frame.setIconImage(newImageIcon("image\\denglu-image\\zhang.jpg").getImage());double width = Toolkit.getDefaultToolkit().getScreenSize().getWidth();double height = Toolkit.getDefaultToolkit().getScreenSize().getHeight();frame.setLocation((int) (width - frame.getWidth()) / 2,(int) (height - frame.getHeight()) / 2);// 屏幕剧中beijing = new BackgroundPanel(new ImageIcon("image\\denglu-image\\c.gif").getImage());beijing.setOpaque(false);beijing.setLayout(null);beijing.setBorder(BorderFactory.createLineBorder(Color.white, 2));beijing.setBorder(BorderFactory.createTitledBorder("计算机科学技术学院"));guanbi = new JLabel(" X");zuixiaohua = new JLabel("一");zuixiaohua.setBounds(600 - 40, 0, 20, 20);zuixiaohua.setForeground(Color.white);zuixiaohua.addMouseListener(listener);guanbi.setBounds(600 - 20, 0, 20, 20);guanbi.setForeground(Color.white);guanbi.addMouseListener(listener);beijing.add(zuixiaohua);beijing.add(guanbi);frame.add(beijing, BorderLayout.CENTER);jpanel1 = new JPanel();jpanel1.setOpaque(false);jpanel1.setLayout(null);jpanel1.setBorder(BorderFactory.createLineBorder(Color.white, 2));jpanel1.setBounds(350, 150, 235, 130);label1 = new JLabel("用户名");label1.setForeground(Color.white);label1.setBorder(BorderFactory.createLineBorder(Color.white, 1));jpanel1.add(label1);box = new JComboBox();。
原创java课程设计学生信息管理系统
![原创java课程设计学生信息管理系统](https://img.taocdn.com/s3/m/f2dfc5f1fc0a79563c1ec5da50e2524de518d037.png)
原创Java课程设计学生信息管理系统引言学生信息管理系统是一种用于管理学生信息的软件工具,它可以方便、高效地记录、存储和查询学生的基本信息、课程成绩、考勤情况等。
本文将介绍一个原创的Java课程设计学生信息管理系统,该系统可以帮助教师和学校管理人员更好地管理学生信息。
功能需求学生信息管理系统应具备以下基本功能: - 学生信息录入:包括学生的基本信息,如姓名、性别、年龄、联系方式等。
- 学生信息修改:可以修改学生的基本信息,如年龄、联系方式等。
- 学生信息查询:可以根据姓名、学号等关键字进行学生信息的查询。
- 成绩管理:可以录入学生的课程成绩,并进行统计、排名等操作。
- 考勤管理:可以记录学生的考勤情况,如出勤、迟到、旷课等。
- 学生信息导出:可以将学生的基本信息、成绩、考勤情况等导出为Excel或CSV格式的文件。
- 数据备份与恢复:可以进行学生信息的数据备份与恢复,以防止数据丢失。
系统设计学生信息管理系统采用Java语言进行开发,使用MySQL作为数据库进行数据存储。
系统采用面向对象的设计思想,使用MVC(Model-View-Controller)架构模式进行设计。
模块划分系统可以划分为以下几个模块: - 学生信息录入模块:负责学生信息的录入和修改。
- 学生信息查询模块:负责学生信息的查询和展示。
- 成绩管理模块:负责成绩的录入、统计和排名。
- 考勤管理模块:负责考勤情况的记录与查询。
- 数据导入导出模块:负责学生信息的导入导出。
- 数据备份与恢复模块:负责学生信息的数据备份和恢复。
数据库设计系统使用MySQL数据库进行数据存储,设计以下几个表: - 学生表(students):存储学生的基本信息,包括姓名、性别、年龄、联系方式等字段。
- 成绩表(grades):存储学生的课程成绩,包括学生ID、课程ID、成绩等字段。
- 考勤表(attendance):存储学生的考勤情况,包括学生ID、考勤日期、考勤状态等字段。
java编写学生管理系统的设计
![java编写学生管理系统的设计](https://img.taocdn.com/s3/m/d77a0616814d2b160b4e767f5acfa1c7aa0082cd.png)
Java编写学生管理系统的设计介绍学生管理系统是一种用于管理学生信息的软件系统。
它可以通过录入、存储、修改和查询学生的个人信息、课程成绩和其他相关数据。
本文将详细介绍如何使用Java编写学生管理系统,包括系统设计、功能模块和编码实现。
系统设计功能需求首先,我们需要明确学生管理系统的主要功能需求。
1.学生信息管理:包括学生个人信息的录入、修改和查询。
2.课程管理:包括课程信息的录入、修改和查询。
3.成绩管理:包括成绩信息的录入、修改和查询。
4.数据统计和分析:包括对学生信息和成绩数据的统计、分析和报告生成。
模块设计基于以上功能需求,我们可以将学生管理系统分为以下几个模块:1.学生信息管理模块:负责学生个人信息的录入、修改和查询。
2.课程管理模块:负责课程信息的录入、修改和查询。
3.成绩管理模块:负责成绩信息的录入、修改和查询。
4.数据统计和分析模块:负责对学生信息和成绩数据的统计、分析和报告生成。
数据结构设计在设计学生管理系统时,我们需要定义一些基本的数据结构来存储学生信息、课程信息和成绩信息。
例如,学生和课程可以用对象来表示,成绩可以用一个二维数组或者一个嵌套的HashMap来表示。
功能模块实现学生信息管理模块学生信息管理模块主要包括学生信息的录入、修改和查询功能。
我们可以使用面向对象的思想,定义一个Student类来表示学生对象,并在该类中实现相关的方法。
public class Student {private String name;private int age;// 其他学生信息的属性// 构造方法public Student(String name, int age) { = name;this.age = age;}// 获取学生姓名public String getName() {return name;}// 获取学生年龄public int getAge() {return age;}// 其他学生信息的getter和setter方法}在学生信息管理模块中,我们可以使用一个集合(如ArrayList)来存储学生对象,并提供相应的方法来实现学生信息的录入、修改和查询功能。
java课程设计学生信息管理系统
![java课程设计学生信息管理系统](https://img.taocdn.com/s3/m/934397a00d22590102020740be1e650e52eacff7.png)
java课程设计学生信息管理系统一、教学目标本节课的教学目标是使学生掌握Java编程语言的基本语法和编程技巧,能够运用Java语言实现简单的学生信息管理系统。
具体目标如下:1.知识目标:–掌握Java语言的基本语法和数据结构;–理解面向对象编程的基本概念和方法;–了解学生信息管理系统的功能和结构。
2.技能目标:–能够使用Java语言编写简单的程序;–能够运用面向对象编程方法设计和实现学生信息管理系统;–能够对程序进行调试和优化。
3.情感态度价值观目标:–培养学生的编程兴趣和自主学习能力;–培养学生解决问题的能力和团队合作精神;–使学生认识到计算机技术在现实生活中的重要性和应用价值。
二、教学内容本节课的教学内容主要包括以下几个部分:1.Java语言的基本语法和数据结构;2.面向对象编程的基本概念和方法;3.学生信息管理系统的功能和结构;4.学生信息管理系统的实现和优化。
具体安排如下:1.第1-2课时:讲解Java语言的基本语法和数据结构;2.第3-4课时:讲解面向对象编程的基本概念和方法;3.第5-6课时:介绍学生信息管理系统的功能和结构;4.第7-8课时:引导学生实现和优化学生信息管理系统。
三、教学方法本节课采用多种教学方法相结合的方式,以激发学生的学习兴趣和主动性:1.讲授法:讲解Java语言的基本语法和数据结构,面向对象编程的基本概念和方法;2.案例分析法:分析实际的学生信息管理系统的案例,使学生更好地理解理论知识;3.实验法:引导学生动手实现和优化学生信息管理系统,提高学生的实际编程能力。
四、教学资源本节课所需的教学资源包括:1.教材:Java编程语言相关教材;2.参考书:面向对象编程相关参考书;3.多媒体资料:讲解Java语言和面向对象编程的PPT;4.实验设备:计算机和网络设备,以便进行编程实践。
五、教学评估本节课的教学评估将采用多元化评价方式,以全面、客观、公正地评估学生的学习成果。
java学生信息管理系统课程设计
![java学生信息管理系统课程设计](https://img.taocdn.com/s3/m/645394a8f9c75fbfc77da26925c52cc58bd690c7.png)
一、概述随着互联网和信息技术的快速发展,计算机编程语言已然成为了人们日常生活中不可或缺的一部分。
而作为一门应用广泛且功能强大的编程语言,Java自然也成为了许多计算机专业的学生学习的重点。
在学习Java语言的过程中,设计并实现一个完善的学生信息管理系统已成为了许多学校课程设计的主题之一。
二、系统需求1. 用户管理:系统需要能够对不同角色的用户进行管理,包括学生、教师和管理员,每种角色对系统的操作权限也不同。
2. 学生信息管理:包括学生基本信息、课程成绩、选课信息等的录入和管理。
3. 教师信息管理:包括教师基本信息、课程信息、教学计划等的录入和管理。
4. 课程管理:包括课程基本信息、上课时间、地点等的管理。
5. 成绩管理:包括成绩录入、成绩查询等功能。
6. 系统安全性:需要针对不同角色的用户设置不同的访问权限,保证信息的安全和保密性。
7. 界面友好:系统需要具备良好的用户交互体验,操作简单、直观。
三、系统设计1. 架构设计:系统采用B/S架构,即浏览器/服务器架构,用户通过浏览器访问系统的客户端。
2. 技术选型:采用Java语言作为系统的开发语言,同时结合MySql 数据库作为数据存储的选择。
3. 模块划分:系统的功能模块分为用户管理、学生管理、教师管理、课程管理、成绩管理、系统安全性等。
4. 数据库设计:设计合理的数据库结构,包括学生表、教师表、课程表、成绩表等,保证数据的一致性和完整性。
5. 界面设计:设计直观友好的系统界面,使用户能够轻松地进行操作和管理。
6. 安全设计:采用密码加密、访问控制等手段保证系统的安全性。
四、系统实现1. 开发环境搭建:搭建合适的开发环境,包括JDK、Tomcat、Eclipse等。
2. 编码实现:按照设计要求,采用Java语言进行编码实现。
3. 数据库连接:通过JDBC连接Java与数据库,实现数据的读取和写入。
4. 前端实现:采用HTML、CSS、JavaScript等技术实现用户界面的设计和交互。
JAVA程序设计课程设计大作业Java学生管理系统-V1
![JAVA程序设计课程设计大作业Java学生管理系统-V1](https://img.taocdn.com/s3/m/e8abeb2b2379168884868762caaedd3383c4b5f4.png)
JAVA程序设计课程设计大作业Java学生管理系统-V1正文:Java程序设计课程设计大作业Java学生管理系统随着社会的不断发展和教育水平的提高,学生人口不断增加,而传统的学生管理方式已经难以满足现代教育的需要。
因此,在学校教育管理过程中,采用信息技术手段对学生信息进行管理已成为一种趋势。
为了提高学校管理的效率,本文设计了一款Java学生管理系统。
1.系统功能设计Java学生管理系统的主要功能如下:1.1 学生信息录入学生信息录入功能包含录入学生的基本信息及成绩信息。
当学生信息录入完成后,系统会自动计算学生的总成绩、平均成绩和排名等信息。
1.2 学生信息查询学生信息查询功能包含对学生基本信息和成绩信息的查询,支持多种查询方式,如按姓名查询、按学号查询、按专业查询等。
1.3 学生信息修改及删除学生信息修改及删除功能可以对学生信息进行修改和删除,包括学生基本信息和成绩信息。
1.4 成绩统计成绩统计功能可以对学生的成绩进行统计,并输出学生的平均成绩、优秀率、不及格率等信息。
1.5 成绩趋势分析成绩趋势分析功能可以对学生的成绩趋势进行分析,比如成绩波动情况、成绩上升情况等。
2.系统框架设计Java学生管理系统采用B/S结构设计,通过Web前端页面和后端服务进行交互。
系统采用MVC设计模式,将系统分为三层:模型层、视图层和控制层。
2.1 模型层模型层主要包括数据存储和数据操作两部分。
系统数据采用关系型数据库(如MySQL)进行存储,数据操作采用Hibernate框架进行实现。
2.2 视图层视图层主要包括前端页面和展示数据两部分。
前端页面通过HTML、JavaScript、CSS等Web技术进行实现,展示数据通过JSP、Servlet 等Java Web技术进行实现。
2.3 控制层控制层主要负责处理系统的业务逻辑和数据流转,通过Java Web技术实现前后端交互。
3.系统运行环境Java学生管理系统需要在以下环境下运行:3.1 操作系统:Windows、Linux、Mac OS等。
java编写学生管理系统链接数据库
![java编写学生管理系统链接数据库](https://img.taocdn.com/s3/m/ac78ea66b5daa58da0116c175f0e7cd1842518f5.png)
Java编写学生管理系统:链接数据库
简介
学生管理系统是一种常见的信息管理系统,用于在教育机构中管理学生的信息和相关数据。
本文将介绍如何使用Java编程语言开发一个基本的学生管理系统,并将其与数据库进行连接,以实现数据的持久化。
环境准备
在开始编写学生管理系统之前,我们需要准备以下环境:
•Java开发工具(例如Eclipse、IntelliJ IDEA等)
•MySQL数据库
数据库设计
在链接数据库之前,我们需要设计一个数据库模型来存储学生的相关信息。
以下是一个简单的学生表的设计:
CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INT,
gender VARCHAR(10),
grade VARCHAR(10)
);
在这个学生表中,我们存储了学生的ID、姓名、年龄、性别和年级信息。
链接数据库
1.引入Java连接数据库所需的库。
在Java中,我们可以使用JDBC(Java Database Connectivity)来实现与数据库的交互。
首先,我们需要在项目中引入JDBC库。
可以下载MySQL官方提供的JDBC驱动,也可以使用Maven或Gradle等构建工具管理依赖。
2.数据库连接参数配置。
在Java代码中,我们需要提供连接数据库的相关信息,例如数据库URL、用户名和密码。
以下是一个示例代码:
```java String url =。
java基础综合案例
![java基础综合案例](https://img.taocdn.com/s3/m/81de99860d22590102020740be1e650e53eacf72.png)
Java基础综合案例:学生信息管理系统
一、项目简介
学生信息管理系统是一个基于Java语言开发的简单应用程序,用于管理学生信息。
该系统包括添加学生信息、查询学生信息、修改学生信息和删除学生信息等功能。
通过该系统,用户可以方便地对学生信息进行管理,提高工作效率。
二、功能需求
1.添加学生信息:用户可以输入学生姓名、学号、性别、年龄和成绩等信息,
并将这些信息保存到数据库中。
2.查询学生信息:用户可以根据学号、姓名等条件查询学生信息,并显示查询
结果。
3.修改学生信息:用户可以修改已存在的学生信息,包括姓名、学号、性别、
年龄和成绩等。
4.删除学生信息:用户可以删除已存在的学生信息。
5.显示所有学生信息:用户可以查看数据库中存储的所有学生信息。
三、技术实现
该系统采用Java语言开发,使用JDBC连接数据库,实现对学生信息的增删改查操作。
同时,该系统采用Java Swing框架构建用户界面,方便用户进行操作。
四、项目总结
通过该项目的开发,我们掌握了Java语言的基本语法和面向对象编程思想,学会了使用JDBC连接数据库,并熟悉了Java Swing框架的使用。
同时,该项目的开发也提高了我们的实际动手能力和团队协作能力。
Java课程设计学生信息管理系统
![Java课程设计学生信息管理系统](https://img.taocdn.com/s3/m/2d4f6b7cf011f18583d049649b6648d7c0c70810.png)
测试内容:功能测试、性 能测试、安全性测试等
测试工具:JUnit、 Te s t N G 等
测试结果分析:找出问题 并优化代码
测试报告:记录测试过程 和结果,为后续优化提供 依据
目的:验证系统各模块之间的接口 是否正确
测试内容:功能测试、性能测试、 安全性测试
添加标题
添加标题
添加标题
添加标题
测试方法:黑盒测试、白盒测试、 灰盒测试
PART SEVEN
部署环境:Windows、Linux、Mac OS等操作系统 部署工具:Maven、Gradle、Ant等构建工具 部署步骤:编译、打包、部署、启动等 部署注意事项:确保环境配置正确,避免版本冲突,注意权限设置等
定期备份数据:确保数据安全,防 止数据丢失
监控系统运行:监控系统运行状态, 及时发现并解决问题
系统可扩展性:系 统应具有良好的可 扩展性,便于未来 功能的添加和修改
用户体验:系统应 具有良好的用户体 验,易于使用和理 解
PART FOUR
前端:使用HTML、CSS、JavaScript等技术进行页面布局和功能实现
后端:使用Java语言进行业务逻辑处理和数据库操作
数据库:使用MySQL或Oracle等关系型数据库进行数据存储和管理
PART THREE
用户角色:学生、教师、管 理员
添加标题
用户需求:查看、修改、删 除课程信息
添加标题
用户需求:查看、修改、删 除系统设置信息
用户需求:查看、修改、删 除班级信息
添加标题
添加标题
添加标题
用户需求:查询、修改、删 除个人信息
添加标题
用户需求:查看、修改、删 除成绩信息
添加标题
教师信息管理系统数据库设计
![教师信息管理系统数据库设计](https://img.taocdn.com/s3/m/563f9fa7951ea76e58fafab069dc5022abea4674.png)
第3章 教师信息管理系统数据库设计
专业 学位 职业资格证书 证书发证单位 证书获取时间 当前工作单位 职务 任职时间 是否双师 聘任时间 乘车地点 电话 电子邮箱 本学期 本学期任课 照片地址
文本 文本 文本 文本 文本 文本 文本 文本 文本 文本 文本 文本 文本 文本 文本 文本
18
可为空
18
第3章 教师信息管理系统数据库设计
3.1 教师信息管理系统数据库概要说明 3.2 教师信息管理系统数据表结构 3.3 教师信息管理系统数据库的创建 3.4 教师信息管理系统数据表的创建 3.5 上机实训
1
14.10.2024
Visual C#.NET
第3章 教师信息管理系统数据库设计 3.1教师信息管理系统数据库概要说明
说明 姓名 性别 出生年月 最高学历 学位 职称 工作时间 原部门 变动时间 变动情况 现单位 电话
类型 文本 文本 文本 文本 文本 文本 文本 文本 文本 文本 文本 文本
字段大小 8 2 12 8 8 10 12 12 12 12 12 22
备注 可为空 可为空 可为空 可为空 可为空 可为空 可为空 可为空 可为空 可为空 可为空 可为空
11
14.10.2024
Visual C#.NET
第3章 教师信息管理系统数据库设计
表3-7校外兼课教师授课表(xwjkjssk)
字段 jgh
说明 教工号
类型 文本
字段大小 备 注
50
不可为空
xm
姓名
文本
8
不可为空
kcmc ks xq
课程名称 课时 学期
文本 文本 文本
100
可为空
12
学生信息管理系统java+mysql程序设计
![学生信息管理系统java+mysql程序设计](https://img.taocdn.com/s3/m/385daa5e11a6f524ccbff121dd36a32d7375c7af.png)
学生信息管理系统java+mysql程序设
计
以下是一个基于 Java 和 MySQL 的学生信息管理系统的程序设计示例:
**1. 数据库设计:**
使用 MySQL 创建一个名为`student_info`的数据库,并在其中创建相应的表来存储学生信息。
可以设计如下几个表:
- `students`(学生表):包含学生的学号`student_id`、姓名`name`、年龄`age`、专业`major`等信息。
- `courses`(课程表):包含课程的课程号`course_id`、课程名`course_name`等信息。
- `student_courses`(学生课程表):用于关联学生表和课程表,记录学生选修的课程,包含学生学号`student_id`、课程号`course_id`等信息。
**2. Java 程序设计:**
使用 Java 的数据库操作相关类库(如 JDBC)连接到 MySQL 数据库,并进行数据的增删改查操作。
- 创建连接数据库的相关类,用于连接到 MySQL 数据库。
- 创建学生信息管理的相关类,包含对学生信息的增删改查方法。
- 创建课程信息管理的相关类,包含对课程信息的增删改查方法。
- 创建学生选课管理的相关类,包含学生选课、退课等方法。
**3. 界面设计:**
使用 Java 的 Swing 或其他界面库设计用户界面,实现学生信息的录入、查询、修改等功能。
以上是一个简单的学生信息管理系统的程序设计示例,需要根据实际需求进行具体的实现和扩展。
在实际开发过程中,还需要考虑数据库的优化、代码的安全性、异常处理等方面的问题。
一个简单的学生成绩管理信息系统(Java)
![一个简单的学生成绩管理信息系统(Java)](https://img.taocdn.com/s3/m/01435113dc36a32d7375a417866fb84ae55cc37e.png)
一个简单的学生成绩管理信息系统(Java)一个简单的学生成绩管理信息系统题目:数据库要求:1.建立的数据库中包含如下信息:学生学号、姓名、班级,语文、数学、英语成绩。
2.至少要有5个班级,每个班级要有10名以上学生。
3.使用.txt格式文本表示各种表。
功能需求:1.能够实现根据以下关键字查询:学生姓名、学号、班级、课程名称。
2.能够实现按照单科成绩、总成绩、平均成绩、学号排序。
3.能够实现学生信息的插入、删除和修改。
4.能够查询每个课程的最高分、最低分及相应学生姓名、班级和学号。
5.能够查询每个班级某门课程的优秀率(90分及以上)、不及格率,并进行排序。
界面要求:使用图形界面实现,要符合日常软件使用规范来设计菜单和界面。
需求分析:界面:要符合日常软件使用规范,使用方便,外形简洁美观。
功能需求:存储学生学号、姓名、班级,语文、数学、英语成绩等信息,实现数据库的读取与存入,数据项的记录与修改,删除等。
设计思想:类设计:将添加数据、查询数据、删除数据、修改数据四个功能分别为四个类来实现,为了便于测试,每一个类都继承了主窗口类JFRAME,使得窗口可以独自运行。
INSERT类设计:功能组件6个文本域、6个标签、1个按钮。
功能实现添加数据。
实现过程对按钮添加监控,实现按钮事件为获取文本域中的信息,并执行SQL的INSERT语句。
QUERY类设计:功能组件5个按钮、三个单行文本组件、1个下拉框、1个多行文本。
功能实现按学号查询、按姓名查询、按班级查询、按课程查询、显示全部。
实现过程对按钮添加监控,共有五个监控事件,前三个实现按钮事件为先获取文本域中的信息,根据对应查询的要求执行相应的SQL的SELLECT语句;按课程查询通过在下拉框中选择对应的选项,即查询相应的课程;第五个查询按钮将全部信息在多行文本框中输出。
MODIFY类设计:功能组件6个单行文本、6个标签、1个按钮。
功能实现修改数据。
实现过程与添加数据类似,对按钮添加监控,实现按钮事件为获取文本域中的信息,并执行SQL的UPDATE语句;不同的是以学号为主键进行查找并更新。
应用实例源代码Java程序设计(第二版)应用实例源代码13.6 应用实例-案例学生信息管理系统
![应用实例源代码Java程序设计(第二版)应用实例源代码13.6 应用实例-案例学生信息管理系统](https://img.taocdn.com/s3/m/17956277effdc8d376eeaeaad1f34693daef10a3.png)
案例学生信息管理系统1.案例要求编写学生信息管理系统程序,功能是访问13.1节建立的学生数据库student.accdb,该数据库有一个数据表xuesheng,表字段有学号、姓名、性别、年龄、籍贯、所在院系和专业。
运行主界面如图13-20所示。
具体来说,在此界面中,我们输入学号或姓名进行记录“查询”操作,单击“添加”、“修改”和“删除”按钮做添加、修改和删除记录操作。
其中,添加记录通过如图13-14所示的对话框录入数据,修改记录也是通过专门的对话框进行的。
要删除记录时,则显示一个确认对话框,只有单击“是”按钮后才执行删除操作。
图13-20 学生信息管理系统主界面2.案例分析学生信息管理系统一共有8个类,统一放在stu包中:StudentDate类是数据库操作类,用来连接数据库,有查询、添加、修改和删除操作方法;TableForm类是表格类,将查询得到的记录显示到表格中;DialogForm类是组件类,用来设置添加和修改记录时所需要的GUI 组件;LoginForm类是登录类,用来作程序入口;MainForm类是主界面类,在此界面中现在数据表的记录,并单击其他按钮做相应的操作;AddForm类是添加信息类,弹出一个对话框输入新记录;UpdateForm类是修改信息类,弹出对话框修改记录;DeleteForm类是删除信息类,弹出对话框选择是否删除记录。
3.案例实现(1)编写学生信息管理系统程序的数据库操作类。
数据库操作类直接跟数据库交互,涉及到数据库连接、数据查询、记录添加、修改、删除和数据库对象关闭操作,每个操作都有具体的方法实现。
StudentDate数据库操作类不带main方法,不能独立运行。
为了方便编程,在此类中将建立数据库连接、关闭连接、关闭语句和关闭结果集分别编程4个方法,由于这些类都只是内部调用,所有设置成私有的。
其余查询记录、添加、修改、删除记录等方法设置成公共的,这些方法可以被其他类调用。
041440516 董迎顺 实验三 Java程序设计实验报告面向对象技术
![041440516 董迎顺 实验三 Java程序设计实验报告面向对象技术](https://img.taocdn.com/s3/m/5b86842367ec102de2bd89f4.png)
长春大学计算机学院网络工程专业Java程序设计实验报告备注:基本技能、进阶技能为必做项目,创新技能为选作项目。
实验名称:实验三面向对象技术班级:网络五班姓名:董迎顺学号:041440516 实验地点:综C601 日期:2016-5-12一、实验目的:1.进一步掌握面向对象程序设计的方法。
2.理解接口和包的概念、接口的定义、类型、继承、组合以及多态。
3.理解类的成员及其访问权限。
二、基本技能实验内容、要求和环境:1.类的继承性新类可从现有的类中产生,并保留现有类的成员变量和方法并可根据需要对它们加以修改。
新类还可添加新的变量和方法。
这种现象就称为类的继承。
当建立一个新类时,不必写出全部成员变量和成员方法。
只要简单地声明这个类是从一个已定义的类继承下来的,就可以引用被继承类的全部成员。
被继承的类称为父类或超类(superclass),这个新类称为子类。
Java 提供了一个庞大的类库让开发人员继承和使用。
设计这些类是出于公用的目的,因此,很少有某个类恰恰满足你的需要。
你必须设计自己的能处理实际问题的类,如果你设计的这个类仅仅实现了继承,则和父类毫无两样。
所以,通常要对子类进行扩展,即添加新的属性和方法。
这使得子类要比父类大,但更具特殊性,代表着一组更具体的对象。
继承的意义就在于此。
(1)创建将被继承的类Java5_1程序源代码如下。
public class Java5_1{protected String xm; //具有保护修饰符的成员变量protected int xh;void setdata(String m,int h) //设置数据的方法{xm =m;xh = h;}public void print() //输出数据的方法{System.out.println(xm+", "+xh);}}编译源程序后得到要继承的父类。
(2)创建继承于父类Java5_1的子类Java5_2,其不仅具有父类的成员变量xm(姓名)、xh(学号),还定义了新成员变量xy(学院)、xi(系)。
JAVA程序设计报告学生信息管理系统
![JAVA程序设计报告学生信息管理系统](https://img.taocdn.com/s3/m/c922d6c6ed3a87c24028915f804d2b160b4e8622.png)
JAVA程序设计报告学生信息管理系统学生信息管理系统是一种用来管理学生个人信息的软件系统。
该系统能帮助学校或教育机构高效地管理学生信息,包括个人信息、课程成绩、出勤情况等。
本报告将介绍一个基于JAVA的学生信息管理系统的设计和实现。
一、系统需求分析学生信息管理系统主要应具备以下功能:1.学生信息的录入和修改:管理员可以通过系统录入学生的基本信息,如学号、姓名、性别、年龄等,并可以修改学生信息。
2.学生信息的查询和浏览:用户可以通过系统按照学号或姓名查询学生信息,并浏览所有学生的信息。
3.成绩管理:系统可以记录、查询和统计学生的课程成绩。
管理员可以录入学生的课程成绩,并可以查询学生的成绩,并可以按照成绩进行排序和统计分析。
4.出勤管理:系统可以记录学生的出勤情况,包括请假、迟到、旷课等。
管理员可以录入学生的出勤情况,并可以查询学生的出勤记录。
二、系统设计与实现1.数据库设计系统使用MySQL数据库,设计了两个表,分别是学生信息表(student_info)和成绩表(score_info)。
学生信息表包含学号(student_id)、姓名(name)、性别(gender)、年龄(age)等字段,成绩表包含学号(student_id)、课程名称(course_name)、成绩(score)等字段。
2.界面设计系统的界面采用图形化界面,使用JAVA Swing框架设计。
主要包括登录界面、学生信息管理界面、成绩管理界面和出勤管理界面。
3.功能实现系统使用JAVA编程语言进行实现。
通过使用JDBC连接数据库,并使用SQL语句实现学生信息的录入、查询和修改,以及成绩和出勤管理功能。
系统还进行了输入验证,确保输入的数据符合规定的格式。
4.测试与优化在系统开发完成后,需要进行系统的测试和优化。
通过对系统进行功能测试,验证系统的各项功能是否正常运行。
根据测试结果,对系统进行优化,提高系统的性能和用户体验。
三、总结与展望本报告介绍了一个基于JAVA的学生信息管理系统的设计和实现。
JAVA程序课程设计_一个简单学生成绩管理信息系统
![JAVA程序课程设计_一个简单学生成绩管理信息系统](https://img.taocdn.com/s3/m/4c16d4880d22590102020740be1e650e52eacf33.png)
数据库优化:使用索引、视图、存储过程等手段优化数据库性能
SQL语句:使用SQL语句进行数据查询、插入、更新和删除操作
PART FOUR
添加标题
添加标题
添加标题
添加标题
登录界面应包含用户名、密码输入框,以及登录按钮
登录界面设计应简洁明了,易于用户理解
功能扩展:增加更多实用功能,如成绩预测、学习计划制定等
用户体验优化:提高系统易用性,优化界面设计,提高用户满意度
数据安全与隐私保护:加强数据加密和隐私保护措施,确保用户信息安全
技术更新:采用最新技术,如云计算、大数据等,提高系统性能,降低维护成本
汇报人:
登录界面应提供忘记密码功能,方便用户找回密码
登录界面应提供注册功能,方便新用户注册使用系统
添加标题
添加标题
添加标题
添加标题
功能模块:成绩查询、成绩录入、成绩统计、系统设置等
主界面布局:简洁明了,易于操作
界面元素:按钮、文本框、下拉菜单、图表等
色彩搭配:采用柔和色调,避免视觉疲劳
界面布局:简洁明了,易于操作
功能按钮:删除、取消、确认等
操作流程:选择要删除的学生信息,点击删除按钮,确认删除操作
信息显示:学生姓名、学号、班级等信息
界面优化:根据用户反馈进行界面优化,提高用户体验
PART FIVE
用户输入用户名和密码
系统验证用户名和密码是否正确
如果正确,则登录成功,跳转到主界面
如果不正确,则提示错误信息,要求重新输入
课程表:存储课程基本信息,如课程号、课程名、学分等
成绩表:存储学生成绩信息,如学号、课程号、成绩等
教师表:存储教师基本信息,如工号、姓名、职称等
java课程设计学生信息管理系统
![java课程设计学生信息管理系统](https://img.taocdn.com/s3/m/b134baa0988fcc22bcd126fff705cc1755275f31.png)
Java课程设计:学生信息管理系统1. 引言学生信息管理系统是一种用于学校、教育机构或大型组织管理学生信息的工具。
该系统允许教育工作者记录和查看学生的个人和学术信息,使管理和查询学生信息更加方便和高效。
本文将介绍一个基于Java语言实现的学生信息管理系统的设计和开发。
该系统将使用面向对象的编程思想,以及Java提供的各种特性和工具来实现学生信息的录入、查询和管理。
2. 功能需求学生信息管理系统应具备以下基本功能:•学生信息录入:系统允许教育工作者输入学生的基本信息,例如姓名、学号、性别、出生日期等。
这些信息应该被保存在系统的数据库或文件中供后续查询和管理。
•学籍信息管理:系统应可以记录学生的学籍信息,例如班级、专业、入学日期等。
同时,系统还应提供学籍信息的查询和修改功能。
•成绩管理:系统应允许输入和管理学生的成绩信息,包括各科成绩和学期综合成绩。
教育工作者可以通过输入学生的学号查询该学生的成绩信息。
•学生信息查询:系统应允许根据学生的学号或姓名查询学生的个人信息,学籍信息和成绩信息。
•学生信息统计:系统应提供学生信息的统计功能,例如统计学生总人数、男女比例、各专业学生人数等。
•用户权限管理:系统应具备用户权限管理功能,不同的用户可以具有不同的操作权限。
例如,管理员可以执行所有操作,而教师只能查询和管理自己所教授班级的学生信息。
3. 系统设计学生信息管理系统可以分为三层架构:表示层、业务逻辑层和数据访问层。
•表示层:表示层负责用户界面的展示和用户输入的处理。
用户可以通过表示层与系统进行交互。
•业务逻辑层:业务逻辑层负责系统的业务逻辑处理,包括对输入数据的校验和逻辑判断。
它处理来自表示层的请求,并调用数据访问层来获取数据。
•数据访问层:数据访问层负责与数据库或文件进行交互,执行数据的增删改查操作,并将结果返回给业务逻辑层。
4. 技术选择为了实现学生信息管理系统,我们选择以下技术:•Java语言:Java是一种广泛应用于企业级应用开发的编程语言,具有强大的面向对象特性和丰富的生态系统。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
综合性设计性实验报告实验项目名称:_数据库综合应用所属课程名称:__Java程序设计学生姓名/学号:_董迎顺学生所在班级:_网络五班__依托实验室:__综C601_实验学期:__大二下学期_计算机科学技术学院个人中心左侧显示个人信息,右侧显示成绩左下角点击修改个人简历右上角菜单可以注销登陆和修改登陆密码教师端登陆界面录入学生相关科目成绩五、总结:本次课程设计的题目是学生信息管理系统,经过几天的学习,巩固了之前学到的知识,并且体验了数据库系统开发的基本流程:从可行性分析开始,分析一个系统开发的技术可行性,经济可行性和操作可行性分析,接着分析系统需要具备怎样的功能,了解用户的具体需求,其次是概念结构设计,反应事物和实物之间的联系,满足用户对数据的处理要求,首先是逻辑结构设计,然后要确定数据库的物理结构。
通过一个或几个表建立相关的视图从而透过视图查看相应的数据。
通过做课设的整个流程,我的逻辑思维更加清晰了,在设计过程中,有很多地方做的不够好,比如界面设计的不够清晰整洁美观,使系统对数据的控制能力不够精细和强大,存在安全隐患,在以后的课程设计中,我会努力完善设计上的不足。
六、教师评语:实验成绩:教师:年月日源代码:admin包package admin;public class adminview extends JFrame implements ActionListener,MenuListener, TableModelListener, MouseListener{private static final long serialVersionUID = -46L;JPanel panel,panel1,panel2,panel3,panel4,panel5,panel6;JMenuBar menu;JMenu m1,m2,m3,m4,m5;JMenuItem item1, item2, item3, item4, item5, item6;JTextField text1,text2,text3,text4,text5,text6,text7;JButton button1,button2,button3,button4,button5,button6,button7;JTextField file1,file2,file3,file4,file5,file6,file7;JButton but1,but2,but3,but4,but5,but6,but7;JComboBox box;JScrollPane scoro;JTable table;ResultSet rs;JPopupMenu jmenu;DefaultTableModel model1,model2,model3;JTableHeader header;public adminview(String str){double width = Toolkit.getDefaultToolkit().getScreenSize().getWidth();double height= Toolkit.getDefaultToolkit().getScreenSize().getHeight();this.setBounds((int)(width*0.1),(int)(height*0.1), (int)(1366*0.8),(int)(800*0.8) );this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setResizable(false);this.setForeground(Color.black);this.setLayout(new BorderLayout());this.setIconImage(new ImageIcon("image\\denglu-image\\zhang.jpg") .getImage());// PopupMenu popupMenu1 = new PopupMenu();menu= new JMenuBar();m1=new JMenu ("菜单");m3=new JMenu ("帮助");menu.add(m1);//menu.add(m2);menu.add(m3);item1=new JMenuItem("查看所有课程");item1.setIcon(new ImageIcon("image\\admin-image\\m.png"));item2=new JMenuItem("查看所有教师");item2.setIcon(new ImageIcon("image\\admin-image\\m.png"));item3=new JMenuItem("查看所有学生");item3.setIcon(new ImageIcon("image\\admin-image\\m.png"));item4=new JMenuItem("修改密码");item4.setIcon(new ImageIcon("image\\admin-image\\key.png")); item5=new JMenuItem("退出");item5.setIcon(new ImageIcon("image\\admin-image\\delete.png"));item6 = new JMenuItem("打印");item6.setIcon(new ImageIcon("image\\admin-image\\print.png"));m1.add(item1);m1.add(item2);m1.add(item3);m1.add(item4);m1.add(item6);m1.add(item5);item1.addActionListener(this);item2.addActionListener(this);item3.addActionListener(this);item4.addActionListener(this);item5.addActionListener(this);item6.addActionListener(this);this.setJMenuBar(menu);//ImageIcon icon1 = new ImageIcon("image\\admin-image\\a-4.jpg"); panel=new BackgroundPanel(icon1.getImage());panel.setLayout(null);this.add(panel,BorderLayout.CENTER);panel1=new JPanel();panel1.setBounds(0, 0,500,282);panel1.setBorder(BorderFactory.createLineBorder(Color.white, 4));panel1.setBorder(BorderFactory.createTitledBorder("教师课程"));panel1.setOpaque(false);panel.add(panel1);//panel2=new JPanel();panel2.setOpaque(false);panel2.setBounds(0, 282,500,310);panel2.setBorder(BorderFactory.createLineBorder(Color.white, 4));panel2.setBorder(BorderFactory.createTitledBorder("学生模块"));panel.add(panel2);panel2.setOpaque(false);//panel1.add(new JLabel("课程号:"));text1=new JTextField(20);text1.setOpaque(false);panel1.add(text1);panel1.add(new JLabel("课程名:"));text2=new JTextField(20);text2.setOpaque(false);panel1.add(text2);button1=new JButton("增加课程");panel1.add(button1);panel1.add(new JLabel("课程号:"));text3=new JTextField(20);text3.setOpaque(false);panel1.add(text3);panel1.add(new JLabel(" "));button2=new JButton("删除课程");panel1.add(button2);panel1.add(new JLabel("----------------------------------------------------------------------------------")); panel1.add(new JLabel("----------------------------------------------------------------------------------")); panel1.add(new JLabel("教师号:"));text5=new JTextField(20);text5.setOpaque(false);panel1.add(text5);panel1.add(new JLabel("姓名:"));text6=new JTextField(20);text6.setOpaque(false);panel1.add(text6);//panel1.add(new JLabel("课程号:"));//text7=new JTextField(11);//panel1.add(text7);button3=new JButton("新增教师");panel1.add(button3);panel1.add(new JLabel("教师号:"));text4=new JTextField(20);text4.setOpaque(false);panel1.add(text4);//panel1.add(new JLabel("----------------------------------------------------------------------------------")); panel1.add(new JLabel(" "));button4=new JButton("删除教师");panel1.add(button4);panel1.add(new JLabel("----------------------------------------------------------------------------------")); panel1.add(new JLabel("----------------------------------------------------------------------------------")); button5=new JButton("查看教师");panel1.add(button5);button6=new JButton("查看课程");panel1.add(button6);button7=new JButton("课程安排");panel1.add(button7);panel1.add(new JLabel("----------------------------------------------------------------------------------")); panel3=new JPanel();panel3.setOpaque(false);panel3.setPreferredSize(new Dimension(500,140));panel3.setBorder(BorderFactory.createLineBorder(Color.white, 2));panel3.setBorder(BorderFactory.createTitledBorder("录入模块"));panel2.add(panel3);panel3.add(new JLabel("学号:"));file1=new JTextField(15);file1.setOpaque(false);panel3.add(file1);panel3.add(new JLabel("姓名:"));file2=new JTextField(15);file2.setOpaque(false);panel3.add(file2);panel3.add(new JLabel("性别:"));box=new JComboBox();box.addItem("男");box.addItem("女");// box.setOpaque(false);panel3.add(box);panel3.add(new JLabel("班级:"));file3=new JTextField(10);file3.setOpaque(false);panel3.add(file3);panel3.add(new JLabel("籍贯:"));file4=new JTextField(72);file4.setOpaque(false);panel3.add(file4);but1=new JButton("确认录入");panel3.add(but1);panel3.add(new JLabel("----------------------------------------------------------------------------------")); panel3.add(new JLabel("----------------------------------------------------------------------------------"));//panel4=new JPanel();panel4.setOpaque(false);panel2.add(panel4);panel4.setPreferredSize(new Dimension(500,210));panel4.setBorder(BorderFactory.createLineBorder(Color.white, 2));panel4.setBorder(BorderFactory.createTitledBorder("删除模块"));panel4.add(new JLabel("学号:"));file5=new JTextField(15);file5.setOpaque(false);panel4.add(file5);panel4.add(new JLabel("==========================================")); but2=new JButton("确认删除");panel4.add(but2);panel4.add(new JLabel("----------------------------------------------------------------------------------")); panel4.add(new JLabel("----------------------------------------------------------------------------------")); but3=new JButton("查看所有学生信息");but4=new JButton("查看所有学生住宿");panel4.add(but3);panel4.add(but4);panel4.add(new JLabel("----------------------------------------------------------------------------------"));panel5 = new JPanel();panel5.setOpaque(false);// ((JXPanel) panel5).setAlpha(0.1F);panel5.setBounds(505, 9, 575, 581);panel5.setBorder(BorderFactory.createLineBorder(Color.white, 2));panel.add(panel5);//button1.addActionListener(this);//增加课程button1.setContentAreaFilled(false);button1.addMouseListener(this);button2.addActionListener(this);//删除课程button2.setContentAreaFilled(false);button2.addMouseListener(this);button3.addActionListener(this);//新增教师button3.setContentAreaFilled(false);button3.addMouseListener(this);button4.addActionListener(this);//删除教师button4.setContentAreaFilled(false);button4.addMouseListener(this);button5.addActionListener(this);//查看教师button5.setContentAreaFilled(false);button5.addMouseListener(this);button6.addActionListener(this);//查看课程button6.setContentAreaFilled(false);button6.addMouseListener(this);button7.addActionListener(this);//课程安排button7.setContentAreaFilled(false);button7.addMouseListener(this);but1.addActionListener(this);//确认录入but1.setContentAreaFilled(false);but1.addMouseListener(this);but2.addActionListener(this);//确认删除but2.setContentAreaFilled(false);but2.addMouseListener(this);but3.addActionListener(this);//查看所有学生信息but3.setContentAreaFilled(false);but3.addMouseListener(this);but4.addActionListener(this);//查看所有学生住宿but4.setContentAreaFilled(false);but4.addMouseListener(this);}@Overridepublic void actionPerformed(ActionEvent e){if(e.getSource()==button1) {int i=0; try{i=Integer.parseInt(text1.getText().trim());try{rs = dengluview.sql.executeQuery("select * from course where 课程号=" + i);if(rs.next()){JOptionPane.showMessageDialog( null ,"课程号已存在!!");}else{dengluview.sql.executeUpdate("insert into course(课程号,课程名) values( '"+ i+ "','"+ text2.getText().trim()+ "')");dengluview.sql.executeUpdate("alter table sc add "+ text2.getText().trim() + " int(3) "); JOptionPane.showMessageDialog( null ,"课程增加成功!"); button6.doClick();}}catch (SQLException e1) {JOptionPane.showMessageDialog( null ,"添加失败!");} }catch(NumberFormatException e1) {JOptionPane.showMessageDialog( null ,"教师号输入有误!");}}if(e.getSource()==button2) {int i=0;String str;try{ i=Integer.parseInt(text3.getText());try {rs = dengluview.sql.executeQuery("select * from course where 课程号=" + i);if(rs.next()){ str=rs.getString(2);dengluview.sql.executeUpdate("delete from course where 课程号="+ i);dengluview.sql.executeUpdate("ALTER TABLE sc DROP " + str);JOptionPane.showMessageDialog( null ,"删除成功!");button6.doClick();}else{JOptionPane.showMessageDialog( null ,"课程号不存在!");} } catch (SQLException e1) {JOptionPane.showMessageDialog( null ,"删除失败!");}}catch(NumberFormatException ea) {JOptionPane.showMessageDialog( null ,"课程号输入有误!");}}if(e.getSource()==button3) {int j=0;try{j=Integer.parseInt(text5.getText().trim());try {rs = dengluview.sql.executeQuery("select * from teacher where 教师号="+ j);if(rs.next()){JOptionPane.showMessageDialog( null ,"教师号已存在!!");}else{ dengluview.sql.executeUpdate("insert into teacher(教师号,姓名) values( '"+ j+ "','"+ text6.getText().trim()+ "')"); JOptionPane.showMessageDialog( null ,"教师增加成功!"); button5.doClick();} }catch(SQLException e1) {JOptionPane.showMessageDialog( null ,"异常!!");} }catch(NumberFormatException e1){JOptionPane.showMessageDialog( null ,"教师号输入有误!");} } if(e.getSource()==button4){int i=0;try{ i=Integer.parseInt(text4.getText());try { rs = dengluview.sql.executeQuery("select * from teacher where 教师号="+ i);if(rs.next()){dengluview.sql.executeUpdate("delete from teacher where 教师号="+ i);JOptionPane.showMessageDialog( null ,"删除成功!");button5.doClick();}else{JOptionPane.showMessageDialog( null ,"教师号不存在!");} } catch (SQLException e1) {JOptionPane.showMessageDialog( null ,"删除失败!"); }}catch(NumberFormatException ea) {JOptionPane.showMessageDialog( null ,"教师号输入有误!"); }} if(e.getSource()==button5){panel5.removeAll();String str="select 教师号,姓名from teacher";Object a[]={"教师号","姓名"};table = new JTable(functionview.getrecord(str), a);table.setRowHeight(25);table.setOpaque(false);scoro = new JScrollPane(table);scoro.setPreferredSize(new Dimension(555, 580));scoro.setColumnHeaderView(table.getTableHeader());scoro.setOpaque(false);scoro.getViewport().setOpaque(false);scoro.getColumnHeader().setOpaque(false);DefaultTableCellRenderer render = new DefaultTableCellRenderer();render.setOpaque(false);table.setDefaultRenderer(Object.class, render);table.setGridColor(Color.white);JTableHeader header = table.getTableHeader();header.setPreferredSize(new Dimension(30, 26));header.setOpaque(false);header.getTable().setOpaque(false);header.setDefaultRenderer(new HeaderCellRenderer());TableCellRenderer headerRenderer = header.getDefaultRenderer();if (headerRenderer instanceof JLabel) {((JLabel) headerRenderer).setHorizontalAlignment(SwingConstants.CENTER);((JLabel) headerRenderer).setOpaque(false);}//panel5.add(scoro);panel5.validate();}if(e.getSource()==button6){panel5.removeAll();String str="select * from course";model3=newMyModel(functionview.getrecord(str),functionview.gengxing("course"));model3.addTableModelListener(this);table = new JTable(model3);table.setCellSelectionEnabled(true);table.setSurrendersFocusOnKeystroke(true);table.setRowHeight(25);table.setOpaque(false);scoro = new JScrollPane(table);scoro.setPreferredSize(new Dimension(555, 580));scoro.setColumnHeaderView(table.getTableHeader());scoro.setOpaque(false);scoro.getViewport().setOpaque(false);scoro.getColumnHeader().setOpaque(false);DefaultTableCellRenderer render = new DefaultTableCellRenderer();render.setOpaque(false);table.setDefaultRenderer(Object.class, render);table.setGridColor(Color.white);JTableHeader header = table.getTableHeader();header.setPreferredSize(new Dimension(30, 26));header.setOpaque(false);header.getTable().setOpaque(false);header.setDefaultRenderer(new HeaderCellRenderer());TableCellRenderer headerRenderer = header.getDefaultRenderer();if (headerRenderer instanceof JLabel) {((JLabel) headerRenderer).setHorizontalAlignment(SwingConstants.CENTER);((JLabel) headerRenderer).setOpaque(false);}panel5.add(scoro);panel5.validate();}if(e.getSource()==button7) {panel5.removeAll();String str="select course.教师号,姓名,课程名from course,teacher where course.教师号=teacher.教师号";Object a[]={"教师号","姓名","课程名"};table = new JTable(functionview.getrecord(str), a);table.setRowHeight(25);table.setOpaque(false);scoro = new JScrollPane(table);scoro.setPreferredSize(new Dimension(555, 580));scoro.setColumnHeaderView(table.getTableHeader());scoro.setOpaque(false);scoro.getViewport().setOpaque(false);scoro.getColumnHeader().setOpaque(false);DefaultTableCellRenderer render = new DefaultTableCellRenderer();render.setOpaque(false);table.setDefaultRenderer(Object.class, render);table.setGridColor(Color.white);JTableHeader header = table.getTableHeader();header.setPreferredSize(new Dimension(30, 26));header.setOpaque(false);header.getTable().setOpaque(false);header.setDefaultRenderer(new HeaderCellRenderer());TableCellRenderer headerRenderer = header.getDefaultRenderer();if (headerRenderer instanceof JLabel) {((JLabel) headerRenderer).setHorizontalAlignment(SwingConstants.CENTER);((JLabel) headerRenderer).setOpaque(false);}panel5.add(scoro);panel5.validate();}if(e.getSource()==but1){String str=file1.getText().trim();try{double a=Double.valueOf(str);if(str.length()==12){try {rs = dengluview.sql.executeQuery("select 学号from student where 学号="+ a);if(rs.next()){JOptionPane.showMessageDialog( null ,"该学号已存在!!");}else{String st1=file2.getText();String st2=(String) box.getSelectedItem();String st3=file3.getText();String st4=file4.getText();System.out.print("insert into student (学号, 姓名, 性别, 班级, 籍贯) values ('"+str+"','"+st1+"','"+st2+"','"+st3+"','"+st4+"');");dengluview.sql.executeUpdate("insert into student (学号, 姓名, 性别, 班级, 籍贯) values ('"+ str+ "','"+ st1+ "','"+ st2+ "','" + st3 + "','" + st4 + "')");JOptionPane.showMessageDialog( null ,"增加成功!!");but3.doClick();}}catch (SQLException e1){JOptionPane.showMessageDialog( null ,"插入异常!!");}}else{JOptionPane.showMessageDialog( null ,"学号为12位长数字");}}catch(NumberFormatException es){JOptionPane.showMessageDialog( null ,"学号输入有误!");} }if(e.getSource()==but2) {String str=file5.getText().trim();try{double a=Double.valueOf(str);if(str.length()==12){try{rs = dengluview.sql.executeQuery("select 学号from student where 学号="+ a);if(rs.next()){ dengluview.sql.executeUpdate("delete from student where 学号="+ str);JOptionPane.showMessageDialog( null ,"删除成功!!");but3.doClick();}else{JOptionPane.showMessageDialog( null ,"该学号不存在!!");}}catch(SQLException e1){} }else{JOptionPane.showMessageDialog( null ,"学号位数不够!");}}catch(NumberFormatException es){ JOptionPane.showMessageDialog( null ,"学号输入有误!");}}if(e.getSource()==but3) {panel5.removeAll();String str="select * from student";model1=newMyModel(functionview.getrecord(str),functionview.gengxing("student"));model1.addTableModelListener(this);table = new JTable(model1);table.setCellSelectionEnabled(true);table.setSurrendersFocusOnKeystroke(true);table.setRowHeight(25);table.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);table.setOpaque(false);scoro = new JScrollPane(table,ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS,ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);scoro.setPreferredSize(new Dimension(555, 572));scoro.setColumnHeaderView(table.getTableHeader());scoro.setOpaque(false);scoro.getViewport().setOpaque(false);scoro.getColumnHeader().setOpaque(false);scoro.getHorizontalScrollBar().addMouseListener(this);DefaultTableCellRenderer render = new DefaultTableCellRenderer();render.setOpaque(false);table.setDefaultRenderer(Object.class, render);table.setGridColor(Color.white);JTableHeader header = table.getTableHeader();header.setPreferredSize(new Dimension(30, 26));header.setOpaque(false);header.getTable().setOpaque(false);header.setDefaultRenderer(new HeaderCellRenderer());TableCellRenderer headerRenderer = header.getDefaultRenderer();if (headerRenderer instanceof JLabel) {((JLabel) headerRenderer).setHorizontalAlignment(SwingConstants.CENTER);((JLabel) headerRenderer).setOpaque(false);}panel5.add(scoro);panel5.validate();}if(e.getSource()==but4) {panel5.removeAll();String str="select * from zhusu";model2=newMyModel(functionview.getrecord(str),functionview.gengxing("zhusu"));model2.addTableModelListener(this);table = new JTable(model2);table.setCellSelectionEnabled(true);table.setSurrendersFocusOnKeystroke(true);table.setRowHeight(25);table.setOpaque(false);scoro = new JScrollPane(table);scoro.setPreferredSize(new Dimension(555, 572));scoro.setColumnHeaderView(table.getTableHeader());scoro.setOpaque(false);scoro.getViewport().setOpaque(false);scoro.getColumnHeader().setOpaque(false);DefaultTableCellRenderer render = new DefaultTableCellRenderer();render.setOpaque(false);table.setDefaultRenderer(Object.class, render);table.setGridColor(Color.white);header = table.getTableHeader();header.setPreferredSize(new Dimension(30, 26));header.setOpaque(false);header.getTable().setOpaque(false);header.setDefaultRenderer(new HeaderCellRenderer());TableCellRenderer headerRenderer = header.getDefaultRenderer();if (headerRenderer instanceof JLabel) {((JLabel) headerRenderer).setHorizontalAlignment(SwingConstants.CENTER);((JLabel) headerRenderer).setOpaque(false);}panel5.add(scoro);panel5.validate();}if(e.getSource()==item1){ button6.doClick();}if(e.getSource()==item2){button5.doClick();}if(e.getSource()==item3){but3.doClick();}if(e.getSource()==item4){}if(e.getSource()==item5){System.exit(0); }if (e.getSource() == item6) {try {table.print();} catch (PrinterException e1) {// TODO Auto-generated catch blockJOptionPane.showMessageDialog(null, "初始化失败!");}} }@Overridepublic void menuCanceled(MenuEvent e){ }@Overridepublic void menuDeselected(MenuEvent arg0) {}@Overridepublic void menuSelected(MenuEvent arg0) {}@Overridepublic void tableChanged(TableModelEvent e){int rr,cc;String vv ,v1,v2;if(e.getSource()==model1) {rr = table.getSelectedRow(); // 取表格tab中的当前行号cc = table.getSelectedColumn(); // 取表格tab中的当前列号vv = ((String) table.getValueAt(rr, cc)).trim(); // 取表格tab中的第rr行、cc列的单元格的数据值System.out.println("当前行是"+rr+"当前列是"+cc+"数据值是"+vv);try{ rs = dengluview.sql.executeQuery("select * from student ");rs.absolute(rr+1);v1=rs.getString(1);v2=(String)functionview.gengxing("student")[cc];dengluview.sql.execute("update student set " + v2 + "='" + vv+ "' where 学号=" + v1);}catch (SQLException e1){JOptionPane.showMessageDialog( null ,"更新异常!");}}if(e.getSource()==model2) {rr = table.getSelectedRow(); // 取表格tab中的当前行号cc = table.getSelectedColumn(); // 取表格tab中的当前列号vv = ((String) table.getValueAt(rr, cc)).trim();// 取表格tab中的第rr行、cc列的单元格的数据值//System.out.println("当前行是"+rr+"当前列是"+cc+"数据值是"+vv);try{ rs = dengluview.sql.executeQuery("select * from zhusu ");rs.absolute(rr+1);v1=rs.getString(1);v2=(String)functionview.gengxing("zhusu")[cc];dengluview.sql.execute("update zhusu set " + v2 + "='" + vv+ "' where 学号=" + v1);}catch (SQLException e1) {JOptionPane.showMessageDialog( null ,"更新异常!"); }}if(e.getSource()==model3){rr = table.getSelectedRow(); // 取表格tab中的当前行号cc = table.getSelectedColumn(); // 取表格tab中的当前列号vv = ((String) table.getValueAt(rr, cc)).trim(); // 取表格tab中的第rr行、cc列的单元格的数据值try {rs = dengluview.sql.executeQuery("select * from course ");rs.absolute(rr+1);v1=rs.getString(1);//v2=(String)function.gengxing("course")[cc];dengluview.sql.execute("update course set 教师号=" + vv+ " where 课程号=" + v1);}catch (SQLException e1){JOptionPane.showMessageDialog( null ,"更新异常!");}}table.repaint();}@Overridepublic void mouseClicked(MouseEvent e) {}@Overridepublic void mouseEntered(MouseEvent e){if (e.getSource() == button1) {button1.setContentAreaFilled(true);}if (e.getSource() == button2) {button2.setContentAreaFilled(true);}if (e.getSource() == button3) {wbutton3.setContentAreaFilled(true);}if (e.getSource() == button4) {button4.setContentAreaFilled(true);}if (e.getSource() == button5) {button5.setContentAreaFilled(true);}if (e.getSource() == button6) {button6.setContentAreaFilled(true);}if (e.getSource() == button7) {button7.setContentAreaFilled(true);}if (e.getSource() == but1) {but1.setContentAreaFilled(true);}if (e.getSource() == but2) {but2.setContentAreaFilled(true);}if (e.getSource() == but3) {but3.setContentAreaFilled(true);}if (e.getSource() == but4) {but4.setContentAreaFilled(true);}}@Overridepublic void mouseExited(MouseEvent e) {if (e.getSource() == button1) {button1.setContentAreaFilled(false);}if (e.getSource() == button2) {button2.setContentAreaFilled(false);}if (e.getSource() == button3) {button3.setContentAreaFilled(false);}if (e.getSource() == button4) {button4.setContentAreaFilled(false);}if (e.getSource() == button5) {button5.setContentAreaFilled(false);}if (e.getSource() == button6) {button6.setContentAreaFilled(false);}if (e.getSource() == button7) {button7.setContentAreaFilled(false);}if (e.getSource() == but1) {but1.setContentAreaFilled(false);}if (e.getSource() == but2) {but2.setContentAreaFilled(false);}if (e.getSource() == but3) {but3.setContentAreaFilled(false);}if (e.getSource() == but4) {but4.setContentAreaFilled(false);}}@Overridepublic void mousePressed(MouseEvent e) {// TODO Auto-generated method stubif (e.getSource() == scoro.getHorizontalScrollBar()) { this.validate();}}w@Overridepublic void mouseReleased(MouseEvent e) {// TODO Auto-generated method stubif (e.getSource() == scoro.getHorizontalScrollBar()) {this.validate();}}}class MyModel extends DefaultTableModel {private static final long serialVersionUID = 67L;public MyModel(Object[][] rowData, Object[] columns){ super(rowData, columns); }@Overridepublic boolean isCellEditable(int row, int col){if (col == 0||col==1) {return false;}else{return true;} }}denglu包public class dengluview {static JFrame frame;static Connection con;// ..........................public static Statement sql;// 连接数据库static ResultSet rs1;static String str;static JPanel beijing;static JPanel jpanel1, jpanel2, jpanel3, jpanel4;static JLabel label1, guanbi, zuixiaohua;;static JLabel label2;static JButton button1;static JButton button2;static JTextField field1;static JPasswordField passwordText;static JComboBox box;public static void main(String[] args) {try {javax.swing.UIManager.setLookAndFeel(".sun.java.swing.plaf.windows.WindowsLookAndFeel");} catch (Exception e) {e.printStackTrace();}shijian listener = new shijian();wframe = new JFrame();// 登陆窗体frame.setUndecorated(true);// 去掉默认边框frame.setLayout(new BorderLayout());frame.setSize(600, 300);frame.setVisible(true);frame.setResizable(false);// 禁止最大化frame.addMouseListener(listener);frame.addMouseMotionListener(listener);frame.setIconImage(newImageIcon("image\\denglu-image\\zhang.jpg").getImage());double width = Toolkit.getDefaultToolkit().getScreenSize().getWidth();double height = Toolkit.getDefaultToolkit().getScreenSize().getHeight();frame.setLocation((int) (width - frame.getWidth()) / 2,(int) (height - frame.getHeight()) / 2);// 屏幕剧中beijing = new BackgroundPanel(new ImageIcon("image\\denglu-image\\c.gif").getImage());beijing.setOpaque(false);beijing.setLayout(null);beijing.setBorder(BorderFactory.createLineBorder(Color.white, 2));beijing.setBorder(BorderFactory.createTitledBorder("计算机科学技术学院"));guanbi = new JLabel(" X");zuixiaohua = new JLabel("一");zuixiaohua.setBounds(600 - 40, 0, 20, 20);zuixiaohua.setForeground(Color.white);zuixiaohua.addMouseListener(listener);guanbi.setBounds(600 - 20, 0, 20, 20);guanbi.setForeground(Color.white);guanbi.addMouseListener(listener);beijing.add(zuixiaohua);beijing.add(guanbi);w。