版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 Java程序设计结课报告课程名称 JAVA程序设计 设计题目 学生选课管理系统 专业班级 学 号 学生姓名 教 师 信息工程系目 录目 录III第1章 系统简介41.1 系统功能4第2章 表的设计52.1 系统数据库表结构:5第3章 连接数据库的实现6第4章 系统详细设计74.1系统登录模块设计74.2系统主界面详细设计114.3学生管理模块设计164.4课程管理模块设计204.5选课管理模块设计23答辩记录27成绩考核表27学生选课管理系统第1章 系统简介1.1 系统功能本系统主要功能:1)管理学生信息,其中包括添加,删除,修改等操作。2)管理课程信息,其中包括添加,删除,修改等操作。3)
2、管理选课信息,其中包括添加,删除,修改等操作。4)查询信息,其中包括查询学生信息,查询课程信息,查询选课信息.。5 )维护系统,备份所有表格为Excel格式。1.2 系统引用例子课本P237页 13.10课本P364页 20.5课本P389页 20.10课本P387页 21.6第2章 表的设计2.1 系统数据库表结构:在此小节将系统数据库表结构用表的形式画出,如:字段名字段类型长度主/外键字段值约束对应中文名Snonvarchar50PNot null学号Snamenvarchar50Not null学生名字表2.1 学生信息表(S)Sxnvarchar50Not null学生系别字段名字段类
3、型长度主/外键字段值约束对应中文名Cnonvarchar50PNot null课程号Cnamenvarchar50Not null课程名字表2.2 课程信息表(C)字段名字段类型长度主/外键字段值约束对应中文名Snonvarchar50PNot null学号Cnonvarchar50PNot null课程号表2.3 选课信息表(SC)Cnvarchar50Not null分数第3章 连接数据库的实现此节可简写,可适当贴一些SQL Server数据库连接的关键代码,如:Connection dbConn=null;try Class.forName("net.sourceforge.j
4、tds.jdbc.Driver"); dbConn = DriverManager.getConnection( "jdbc:jtds:sqlserver:/localhost:1433/" + "student", "sa", "123"); catch (Exception e) e.printStackTrace(); return dbConn; / 返回Connection对象第4章 系统详细设计4.1系统登录模块设计1、 运行效果图 图4.1.1 登陆界面图4.1.2 登陆成功 图4.1.2
5、登陆失败 2、 主要代码import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;public class User extends JFrameprivate JLabel use,password;private JTextField k1;/用户名输入框private JPasswordField k2;/密码输入框private JButton b1,b2;/登录窗口public User(JFrame f)super("系统登录");Container c=ge
6、tContentPane();c.setLayout(new FlowLayout();use=new JLabel("username:");use.setFont(new Font("Serif",Font.PLAIN,20);password=new JLabel("password:");password.setFont(new Font("Serif",Font.PLAIN,20);k1=new JTextField(12);k2=new JPasswordField(12);b1=new JButton
7、("登录");b2=new JButton("退出");/设置登录方法BHandler b=new BHandler();EXIT d=new EXIT();b1.addActionListener(b);b2.addActionListener(d);/添加控件c.add(use);c.add(k1);c.add(password);c.add(k2);c.add(b1);c.add(b2);setBounds(600,300,250,150);setVisible(true);setResizable(false);setDefaultCloseOp
8、eration(JFrame.EXIT_ON_CLOSE);/主函数public static void main(String args) User f1=new User(new JFrame();/登录按钮方法private class BHandler implements ActionListenerpublic void actionPerformed(ActionEvent event)if(k1.getText().equals("")|k2.getText().equals("")JOptionPane.showMessageDialo
9、g(User.this,"用户名密码不能为空!" );elseStatement stmt=null;ResultSet rs=null;String sql; sql="select * from admin where username='"+k1.getText()+"'" try Connection dbConn1=Conn.CONN();stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CO
10、NCUR_READ_ONLY);rs=stmt.executeQuery(sql);if(rs.next()String xm=rs.getString("password");if(k2.getText().equals(xm.trim()JOptionPane.showMessageDialog(User.this,"登录成功");dispose();new Menu();/管理窗口 elseJOptionPane.showMessageDialog(User.this,"密码错误"); elseJOptionPane.showM
11、essageDialog(User.this,"用户名错误");rs.close();stmt.close();catch(SQLException e)JOptionPane.showMessageDialog(User.this,"SQL错误信息:"+e.getMessage(); /退出方法结束private class EXIT implements ActionListenerpublic void actionPerformed(ActionEvent even)System.exit(0);/父类结束4.2系统主界面详细设计1、 运行效果图
12、 图4.2.1 登陆成功后界面图4.2.2 学生管理菜单图4.2.2 课程管理菜单图4.2.2 选课管理菜单图4.2.2 查询管理菜单2、实现代码:添加数据时,若遇到必须信息未填写、不能重复的信息在数据库中已存在,都会提示无法添加及其错误原因。import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Menu extends JFrame implements ActionListenerAddstu 增加学生界面;Updatastu 修改学生界面;Delstu 删除学生界面;AddC 增加课程界面;
13、DelC 删除课程界面;UpdateC 修改课程界面;AddSC 增加选课界面;DelSC 删除选课界面;UpdateSC 修改选课界面;Selstu 学生查询界面;Backup 备份界面;JPanel pCenter;CardLayout card=null;JLabel label=null;JMenuBar mb=new JMenuBar();/菜单栏JMenu m1=new JMenu("学生管理");JMenuItem add1=new JMenuItem("添加学生学籍 ");JMenuItem updata1=new JMenuItem(&
14、quot;更新学生学籍 ");JMenuItem delete1=new JMenuItem("删除学生学籍 ");JMenu m2=new JMenu("课程管理");JMenuItem add2=new JMenuItem("增加课程 ");JMenuItem updata2=new JMenuItem("更新课程 ");JMenuItem delete2=new JMenuItem("删除课程 ");JMenu m3=new JMenu("选课管理");JMe
15、nuItem add3=new JMenuItem("成绩录入 ");JMenuItem updata3=new JMenuItem("成绩修改 ");JMenuItem delete3=new JMenuItem("成绩删除 ");JMenu m4=new JMenu("查询管理");JMenuItem 学生查询=new JMenuItem("查询信息 ");JMenuItem backup=new JMenuItem("备份信息 ");JMenuItem m5=new J
16、MenuItem("系统退出");Font t=new Font ("sanerif",Font.PLAIN,12);public Menu ()this.setTitle("学生选课管理系统");try UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName();catch(Exception e)System.err.println("不能设置外观: "+e);/组合菜单addMenu1();addMenu2();addMenu3();a
17、ddMenu4();addJMenuBar();setJMenuBar(mb);label=new JLabel("欢迎使用江西理工大学应科院选课管理系统",JLabel.CENTER);label.setFont(new Font("宋体",Font.BOLD,25);label.setHorizontalTextPosition(SwingConstants.CENTER);label.setForeground(Color.red);/点击事件add1.addActionListener(this);updata1.addActionListene
18、r(this);delete1.addActionListener(this);m5.addActionListener(this);add2.addActionListener(this);delete2.addActionListener(this);updata2.addActionListener(this);add3.addActionListener(this);delete3.addActionListener(this);updata3.addActionListener(this);学生查询.addActionListener(this);backup.addActionLi
19、stener(this);card=new CardLayout();pCenter=new JPanel();pCenter.setLayout(card);增加学生界面=new Addstu();修改学生界面=new Updatastu(); 删除学生界面=new Delstu();增加课程界面=new AddC();删除课程界面=new DelC();修改课程界面=new UpdateC();增加选课界面=new AddSC();删除选课界面=new DelSC();修改选课界面=new UpdateSC();学生查询界面=new Selstu();备份界面=new Backup();
20、pCenter.add("欢迎界面",label);pCenter.add("增加学生界面",增加学生界面);pCenter.add("修改学生界面",修改学生界面);pCenter.add("删除学生界面",删除学生界面);pCenter.add("增加课程界面",增加课程界面);pCenter.add("删除课程界面",删除课程界面);pCenter.add("修改课程界面",修改课程界面);pCenter.add("增加选课界面"
21、,增加选课界面);pCenter.add("删除选课界面",删除选课界面);pCenter.add("修改选课界面",修改选课界面);pCenter.add("学生查询界面", 学生查询界面);pCenter.add("备份界面", 备份界面);add(pCenter,BorderLayout.CENTER);validate();setVisible(true);setBounds(400,150,600,380);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); a
22、ddWindowListener(new WindowAdapter()/关闭程序时的操作public void windowClosing(WindowEvent e)System.exit(0););validate();private void addJMenuBar() mb.add(m1);mb.add(m2);mb.add(m3);mb.add(m4);mb.add(m5);private void addMenu4() m4.add(学生查询);m4.add(backup); m4.setFont(t);private void addMenu3() m3.add(add3);m
23、3.add(updata3);m3.add(delete3);m3.setFont(t);private void addMenu2() /将菜单加入到菜单栏中m2.add(add2);m2.add(updata2);m2.add(delete2);m2.setFont(t);private void addMenu1() m1.add(add1);m1.add(updata1);m1.add(delete1);m1.setFont(t);/字体public void actionPerformed(ActionEvent e)Object obj=e.getSource();if(obj=m
24、5)System.exit(0);elseif(obj=add1)card.show(pCenter,"增加学生界面");elseif(obj=updata1)card.show(pCenter,"修改学生界面");elseif(obj=delete1)card.show(pCenter, "删除学生界面");elseif(obj=add2)card.show(pCenter, "增加课程界面");elseif(obj=delete2)card.show(pCenter, "删除课程界面");e
25、lseif(obj=updata2)card.show(pCenter, "修改课程界面");elseif(obj=add3)card.show(pCenter, "增加选课界面");elseif(obj=delete3)card.show(pCenter, "删除选课界面");elseif(obj=updata3)card.show(pCenter, "修改选课界面");elseif(obj=学生查询)card.show(pCenter, "学生查询界面");elseif(obj=backup
26、)card.show(pCenter, "备份界面");public static void main(String args) new Menu();4.3学生管理模块设计1、 运行效果图图4.3.1 添加学生学籍图4.3.1 修改学生学籍图4.3.1 删除学生学籍2、 实现代码:Addstu.java/Updatastu.java/Delstu.javaimport java.awt.*;import javax.swing.*;import java.sql.*;import java.awt.event.*;public class Addstu extends J
27、Panel implements ActionListenerJTextField 学号,姓名,系别;JButton 录入;public Addstu()try UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName();catch(Exception e)System.err.println("不能设置外观: "+e);学号=new JTextField(12);姓名=new JTextField(12);系别=new JTextField(12);录入=new JButton("录入&q
28、uot;);录入.addActionListener(this);Box box1=Box.createHorizontalBox();/横放boxBox box2=Box.createHorizontalBox();Box box3=Box.createHorizontalBox();Box box4=Box.createHorizontalBox();box1.add(new JLabel("学号:"/*,JLabel.CENTER*/);box1.add(学号);box2.add(new JLabel("姓名:"/*,JLabel.CENTER*/
29、);box2.add(姓名);box3.add(new JLabel("系别:"/*,JLabel.CENTER*/);box3.add(系别);box4.add(录入);Box boxH=Box.createVerticalBox();/竖放boxboxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(Box.createVerticalGlue();JPanel messPanel=new JPanel();messPanel.add(boxH);setLayout(new BorderL
30、ayout();add(messPanel,BorderLayout.CENTER);validate();public void actionPerformed(ActionEvent c)Object obj=c.getSource();if(obj=录入)if(学号.getText().equals("")|姓名.getText().equals("")|系别.getText().equals("")JOptionPane.showMessageDialog(this,"学生信息请填满再录入!" );Stat
31、ement stmt=null;ResultSet rs1=null;String sql,sql1; sql1="select * from S where Sno='"+学号.getText()+"'" sql="insert into S values('"+学号.getText()+"','"+姓名.getText()+"','"+系别.getText()+"')" try Connection dbCo
32、nn1=Conn.CONN();stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);rs1=stmt.executeQuery(sql1);if(rs1.next()JOptionPane.showMessageDialog(this,"该学号以存在,无法添加");elsestmt.executeUpdate(sql);JOptionPane.showMessageDialog(this,"添加成功");
33、rs1.close();stmt.close(); catch(SQLException e) System.out.print("SQL Exception occur.Message is:"+e.getMessage(); 4.4课程管理模块设计1、 运行效果图图4.4.1 课程录入界面图4.4.2 课程修改界面图4.4.3 课程删除界面2、 运行代码:AddC.java/UpdataC.java/DelC.javaimport java.awt.*;import javax.swing.*;import java.sql.*;import java.awt.even
34、t.*;public class AddC extends JPanel implements ActionListenerJTextField 课号,课名;JButton 录入;public AddC()try UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName();catch(Exception e)System.err.println("不能设置外观: "+e);课号=new JTextField(12);课名=new JTextField(12);录入=new JButton("
35、录入");录入.addActionListener(this);Box box1=Box.createHorizontalBox();/横放boxBox box2=Box.createHorizontalBox();Box box3=Box.createHorizontalBox();Box box4=Box.createHorizontalBox();box1.add(new JLabel("课号:");box1.add(课号);box2.add(new JLabel("课名:");box2.add(课名);box4.add(录入);Box
36、boxH=Box.createVerticalBox();/竖放boxboxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(Box.createVerticalGlue();JPanel messPanel=new JPanel();messPanel.add(boxH);setLayout(new BorderLayout();add(messPanel,BorderLayout.CENTER);validate();public void actionPerformed(ActionEvent c)Obje
37、ct obj=c.getSource();if(obj=录入)if(课号.getText().equals("")|课名.getText().equals("")JOptionPane.showMessageDialog(this,"学生信息请填满再录入!" );Statement stmt=null;ResultSet rs=null,rs1=null;/结果集String sql,sql1; sql1="select * from C where Cno='"+课号.getText()+"
38、39;" sql="insert into C values('"+课号.getText()+"','"+课名.getText()+"')" try Connection dbConn1=Conn.CONN();stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);rs1=stmt.executeQuery(sql1);if(rs1.next()
39、JOptionPane.showMessageDialog(this,"该课号以存在,无法添加");elsestmt.executeUpdate(sql);JOptionPane.showMessageDialog(this,"添加成功");rs1.close();stmt.close(); catch(SQLException e) System.out.print("SQL 错误信息:"+e.getMessage(); 4.5选课管理模块设计1、运行效果图图4.5.1 成绩录入界面图4.5.2 成绩修改界面图4.5.3 成绩删除界
40、面2、运行代码:AddSC.java/UpdataSC.java/DelSC.javaimport java.awt.*;import javax.swing.*;import java.sql.*;import java.util.*;import javax.swing.filechooser.*;import java.io.*;import java.awt.event.*;public class AddSC extends JPanel implements ActionListenerJTextField 课号,学号,成绩;JButton 录入;public AddSC()try
41、 UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName();catch(Exception e)System.err.println("不能设置外观: "+e);课号=new JTextField(12);学号=new JTextField(12);成绩=new JTextField(12);录入=new JButton("录入");录入.addActionListener(this);Box box1=Box.createHorizontalBox();/横放boxBox bo
42、x2=Box.createHorizontalBox();Box box3=Box.createHorizontalBox();Box box4=Box.createHorizontalBox();box1.add(new JLabel("课号:");box1.add(课号);box2.add(new JLabel("学号:");box2.add(学号);box3.add(new JLabel("成绩:");box3.add(成绩);box4.add(录入);Box boxH=Box.createVerticalBox();/竖放bo
43、xboxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(Box.createVerticalGlue();JPanel messPanel=new JPanel();messPanel.add(boxH);setLayout(new BorderLayout();add(messPanel,BorderLayout.CENTER);validate();public void actionPerformed(ActionEvent c)Object obj=c.getSource();if(obj=录入)if(课号.getTex
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度赡养老人健康监测合同3篇
- 2024年度租赁合同招投标管理3篇
- 2024版医疗设备采购供应商服务与技术支持合同2篇
- 心理干预效果评估-第4篇-洞察分析
- 2024版仓储物流场地租赁及仓储管理服务协议3篇
- 2024年度台球俱乐部知识产权保护合同:俱乐部与权利人之间的保护协议3篇
- 2024年度区块链应用平台建设合同2篇
- 高校中标合同范例
- 个人窗帘合同范例
- 厨房设备采购合同
- 七十周岁及以上老人驾照年审,“三力”测试题库-附答案
- 沪科版2023~2024学年七年级上学期期末考试数学预测卷(二)(含答案)
- 四川成都工业地产分析
- 外购外协管理制度
- 大庆医学高等专科学校单招参考试题库(含答案)
- 国家开放大学(山东)《财税法规专题》形考任务1-3+终结性考核参考答案
- 2024-2030年中国集中供热行业供需平衡与投资运行模式规划研究报告
- TCSRME 034-2023 隧道岩溶堵水注浆技术规程
- 2024年全国普法知识考试题库与答案
- 桂枝颗粒营销策略与品牌定位
- 2023年人教版六年级语文上册期末试卷(参考答案)
评论
0/150
提交评论