logo资料库

JAVA数据库课程设计--学生选课管理系统的.doc

第1页 / 共81页
第2页 / 共81页
第3页 / 共81页
第4页 / 共81页
第5页 / 共81页
第6页 / 共81页
第7页 / 共81页
第8页 / 共81页
资料共81页,剩余部分请下载后查看
一、课程设计目的 通过这次的设计,主要是做出一个小型的管理系统,来加强对 JAVA 所学知识的巩固 和融会贯通,可以说是对一个学期所学知识的一个小结,加深对 JAVA 数据库的理解。 二、需求分析 功能需求分析: 该系统具备管理学生信息、课程信息、选课信息的功能:用户通过输入账号和密码进下该 系统后,可以进行一些基础维护(学生信息维护、课程信息维护、选课信息维护)。全部都 可以进行增加、修改、删除、模糊查询。 三、数据项: 1 表 admin(用户表) Field Type Username char(10 password Name 2 表 S(学生信息表) Field Sno ) ) ) char(10 Char(10 Type nvarcha r(50) Sname nvarcha Sx r(50) nvarcha r(50) Comment 用户名 密码 用户昵称 Comment 学号 姓名 系别 K P — — K P — — ull — — — ull — — — ey RI — — ey RI — — N — — — N — — — 1
3 表 C(课程信息表) Field Cno Type nvarcha r(50) Cname nvarcha r(50) N — — ey RI — ull — — K P Comment 课号 — 课名 2
4 表 SC(学生信息表) Field Cno Sno C Type nvarcha r(50) nvarcha r(50) nvarcha r(50) N — — — ey RI RI — ull — — — K P P Comment 课号 学号 — 成绩 四、系统功能描述 该小型系统主要是用于管理学生及课程的基本信息,主要功能包括四方面的: 1.管理学生信息,其中包括添加,删除,修改等操作。 2.管理课程信息,其中包括添加,删除,修改等操作。 3.管理选课信息,其中包括添加,删除,修改等操作。 4.查询信息,其中包括查询学生信息,查询课程信息,查询选课信息等操作。 学 生 信 息 管 理 学 生 管 课 选 查 程 管 课 管 询 管 添 修 删 添 修 删 添 修 删 学 课 选 加 信 改 信 除 信 加 信 改 信 除 信 3 加 信 改 信 除 信 生 信 程 信 课 信
4
五、代码分析 连接数据库方法: 这是 java 连接数据库的驱动,有关数据库的操作都要用到他。 public static Connection CONN(){ String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加载JDBC 驱动 String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=student"; //连接服务 器和数据库test,此处student是数据库名 String userName = "sa"; //默认用户名 String userPwd = "mima"; //密码 Connection dbConn=null; try { Class.forName(driverName); dbConn = DriverManager.getConnection(dbURL, userName, userPwd); System.out.println("Connection Successful!"); //如果连接成功 控制台输出Connection Successful! } catch (Exception e) { e.printStackTrace();} return dbConn;} 用户登录界面 user.java: 登录时,凡是账号密码未填写、输入错误账号密码都会提出错误提示框。在填写好 账号密码后,会读取数据库里 admin 表,并查询其输入是否存在,若无误,则登录到用 户界面。 public class User extends JFrame{ private JLabel use,password; private JTextField k1;//用户名输入框 private JPasswordField k2;//密码输入框 private JButton b1,b2; //登录窗口 public User(JFrame f){ 5
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());} 效果图: 6
用户界面:Menu.java 用户界面能菜单栏有4个一级菜单,学生管理、课程管理、选课管理都能添加、修改、 删除数据,分别操作数据库里的S表(学生),C表(课程),SC表(选课)。查询管理则可进行 三个表的查询。 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 学生查询界面; JPanel pCenter; CardLayout card=null; JLabel label=null; JMenuBar mb=new JMenuBar();//菜单栏 JMenu m1=new JMenu("学生管理"); JMenuItem add1=new JMenuItem("add1 "); JMenuItem updata1=new JMenuItem("updata1 "); JMenuItem delete1=new JMenuItem("delete1 "); 7
JMenu m2=new JMenu("课程管理"); JMenuItem add2=new JMenuItem("add2 "); JMenuItem updata2=new JMenuItem("updata2 "); JMenuItem delete2=new JMenuItem("delete2 "); JMenu m3=new JMenu("选课管理"); JMenuItem add3=new JMenuItem("add3 "); JMenuItem updata3=new JMenuItem("updata3 "); JMenuItem delete3=new JMenuItem("delete3 "); JMenu m4=new JMenu("查询管理"); JMenuItem 学生查询=new JMenuItem("查询信息 "); JMenuItem m5=new JMenuItem("系统退出"); 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(); addMenu4(); addJMenuBar(); setJMenuBar(mb); label=new JLabel("选课管理系统",JLabel.CENTER); label.setFont(new Font("宋体",Font.BOLD,36)); label.setHorizontalTextPosition(SwingConstants.CENTER); label.setForeground(Color.red); //点击事件 add1.addActionListener(this); updata1.addActionListener(this); delete1.addActionListener(this); 8
分享到:
收藏