1、4.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、长度主/外键字段值约束对应中文名Snonvarchar50PNot null学号Sname学生名字表2.1 学生信息表(S)Sx学生系别Cno课程号Cname课程名字表2.2 课程信息表(C)表2.3 选课信息表(SC)C分数第3章 连接数据库的实现此节可简写,可适当贴一些SQL Server数据库连接的关键代码,如:Connection dbConn=null;try Class.forName(net.sourceforge.jtds.jdbc.Driver); dbConn = DriverManager.getConnection( jdbc:jtds:sqlserver:/local
3、host:1433/ + student, sa123 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 JFrameprivate JLabel
4、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.setFon
5、t(new Font(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);setVisibl
6、e(true);setResizable(false);setDefaultCloseOperation(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()JOption
7、Pane.showMessageDialog(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.CONCUR_READ_ONLY);rs=stmt.
8、executeQuery(sql);if(rs.next()String xm=rs.getString(passwordif(k2.getText().equals(xm.trim()JOptionPane.showMessageDialog(User.this,登录成功dispose();new Menu();/管理窗口 elseJOptionPane.showMessageDialog(User.this,密码错误 elseJOptionPane.showMessageDialog(User.this,用户名错误rs.close();stmt.close();catch(SQLExcep
9、tion e)JOptionPane.showMessageDialog(User.this,SQL错误信息:+e.getMessage(); /退出方法结束private class EXIT implements ActionListenerpublic void actionPerformed(ActionEvent even)System.exit(0);/父类结束4.2系统主界面详细设计 图4.2.1 登陆成功后界面图4.2.2 学生管理菜单图4.2.2 课程管理菜单图4.2.2 选课管理菜单图4.2.2 查询管理菜单2、实现代码:添加数据时,若遇到必须信息未填写、不能重复的信息在数
10、据库中已存在,都会提示无法添加及其错误原因。public class Menu extends JFrame implements ActionListenerAddstu 增加学生界面;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 JMen