
java程序设计之学生选课管理系统.doc
26页《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)管理选课信息,其中包括添加,删除,修改等操作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学生系别字段名字段类型长度主/外键字段值约束对应中文名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.jtds.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 登陆失败 2、 主要代码import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;public class User extends JFrame{private JLabel use,password;private JTextField k1;//用户名输入框private JPasswordField k2;//密码输入框private JButton b1,b2; //登录窗口 public User(JFrame f){ super("系统登录"); Container c=getContentPane(); 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("登录"); 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); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } //主函数 public static void main(String[] args) { User f1=new User(new JFrame()); } //登录按钮方法 private class BHandler implements ActionListener{ public void actionPerformed(ActionEvent event){ if(k1.getText().equals("")||k2.getText().equals("")){ JOptionPane.showMessageDialog(User.this,"用户名密码不能为空!" ); } else{ Statement 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.CONCUR_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();//管理窗口 } else{JOptionPane.showMessageDialog(User.this,"密码错误");} } else{JOptionPane.showMessageDialog(User.this,"用户名错误");} rs.close(); stmt.close(); } catch(SQLException e){ JOptionPane.showMessageDialog(User.this,"SQL错误信息:"+e.getMessage()); } } } } //退出方法结束 private class EXIT implements ActionListener{ public void actionPerformed(ActionEvent even){ System.exit(0); } }}//父类结束4.2 系统主界面详细设计 1、 运行效果图 图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 ActionListener{ Addstu 增加学生界面; Updatastu 修改学生界面; Delstu 删除学生界面; AddC 增加课程界面; 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("②更。
