1、长度主/外键字段值约束对应中文名Snonvarchar50PNotnullSname学生名字表2.1学生信息表(S)Sx学生系别Cno课程号Cname课程名字表2.2课程信息表(C)表2.3选课信息表(SC)C分数第3章连接数据库的实现此节可简写,可适当贴一些SQLServer数据库连接的关键代码,如:ConnectiondbConn=null;try dbConn=DriverManager.getConnection( +student,sa123); catch(Exceptione) e.printStackTrace(); returndbConn;/返回Connection对象第4
2、章系统详细设计 4.1 系统登录模块设计1、 运行效果图 图4.1.1登陆界面图4.1.2登陆成功图4.1.2登陆失败2、 主要代码importjava.awt.*;importimportjavax.swing.*;importjava.sql.*;publicclassUserextendsJFrameprivateJLabeluse,password;privateJTextFieldk1;/用户名输入框privateJPasswordFieldk2;/密码输入框privateJButtonb1,b2; /登录窗口 publicUser(JFramef) super(系统登录 Conta
3、inerc=getContentPane(); c.setLayout(newFlowLayout(); use=newJLabel(username: use.setFont(newFont(Serif,Font.PLAIN,20); password=newJLabel(password: password.setFont(newFont( k1=newJTextField(12); k2=newJPasswordField(12); b1=newJButton(登录 b2=newJButton(退出 / 设置登录方法 BHandlerb=newBHandler(); EXITd=newE
4、XIT(); 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); /主函数 publicstaticvoidmain(Stringargs) Userf1=newU
5、ser(newJFrame(); /登录按钮方法 privateclassBHandlerimplementsActionListener publicvoidactionPerformed(ActionEventevent) if(k1.getText().equals()|k2.getText().equals() JOptionPane.showMessageDialog(User.this,用户名密码不能为空! else Statementstmt=null; ResultSetrs=null; Stringsql; sql=select*fromadminwhereusername=
6、+k1.getText()+; try ConnectiondbConn1=Conn.CONN(); stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); rs=stmt.executeQuery(sql); if(rs.next() Stringxm=rs.getString(password if(k2.getText().equals(xm.trim()JOptionPane.showMessageDialog(User.this,登录成
7、功 dispose(); newMenu();/管理窗口 elseJOptionPane.showMessageDialog(User.this,密码错误用户名错误 rs.close(); stmt.close(); catch(SQLExceptione) JOptionPane.showMessageDialog(User.this,SQL错误信息:+e.getMessage(); /退出方法结束 privateclassEXITimplementsActionListener publicvoidactionPerformed(ActionEventeven) System.exit(0
8、); /父类结束4.2 系统主界面详细设计 图4.2.1登陆成功后界面图4.2.2学生管理菜单图4.2.2课程管理菜单图4.2.2选课管理菜单图4.2.2查询管理菜单2、实现代码:添加数据时,若遇到必须信息未填写、不能重复的信息在数据库中已存在,都会提示无法添加及其错误原因。 publicclassMenuextendsJFrameimplementsActionListener Addstu增加学生界面; Updatastu修改学生界面; Delstu删除学生界面; AddC增加课程界面; DelC删除课程界面; UpdateC修改课程界面; AddSC增加选课界面; DelSC删除选课界面
9、; UpdateSC修改选课界面; Selstu学生查询界面; Backup备份界面; JPanelpCenter; CardLayoutcard=null; JLabellabel=null; JMenuBarmb=newJMenuBar();/菜单栏 JMenum1=newJMenu(学生管理 JMenuItemadd1=newJMenuItem(添加学生学籍 JMenuItemupdata1=newJMenuItem(更新学生学籍 JMenuItemdelete1=newJMenuItem(删除学生学籍 JMenum2=newJMenu(课程管理 JMenuItemadd2=newJMe
10、nuItem(增加课程 JMenuItemupdata2=newJMenuItem(更新课程 JMenuItemdelete2=newJMenuItem(删除课程 JMenum3=newJMenu(选课管理 JMenuItemadd3=newJMenuItem(成绩录入 JMenuItemupdata3=newJMenuItem(成绩修改 JMenuItemdelete3=newJMenuItem(成绩删除 JMenum4=newJMenu(查询管理 JMenuItem学生查询=newJMenuItem(查询信息 JMenuItembackup=newJMenuItem(备份信息 JMenuI
11、temm5=newJMenuItem(系统退出 Fontt=newFont(sanerif,Font.PLAIN,12); publicMenu() this.setTitle(学生选课管理系统 tryUIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName(); catch(Exceptione)System.err.println(不能设置外观:+e); /组合菜单 addMenu1(); addMenu2(); addMenu3(); addMenu4(); addJMenuBar(); setJMenuBar(mb
12、); label=newJLabel(欢迎使用江西理工大学应科院选课管理系统,JLabel.CENTER); label.setFont(newFont(宋体,Font.BOLD,25); label.setHorizontalTextPosition(SwingConstants.CENTER); label.setForeground(Color.red); /点击事件 add1.addActionListener(this); updata1.addActionListener(this); delete1.addActionListener(this); m5.addActionLis
13、tener(this); add2.addActionListener(this); delete2.addActionListener(this); updata2.addActionListener(this); add3.addActionListener(this); delete3.addActionListener(this); updata3.addActionListener(this); 学生查询.addActionListener(this); backup.addActionListener(this); card=newCardLayout(); pCenter=new
14、JPanel(); pCenter.setLayout(card); 增加学生界面=newAddstu(); 修改学生界面=newUpdatastu(); 删除学生界面=newDelstu(); 增加课程界面=newAddC(); 删除课程界面=newDelC(); 修改课程界面=newUpdateC(); 增加选课界面=newAddSC(); 删除选课界面=newDelSC(); 修改选课界面=newUpdateSC(); 学生查询界面=newSelstu(); 备份界面=newBackup(); pCenter.add(欢迎界面,label);增加学生界面,增加学生界面);修改学生界面,修
15、改学生界面);删除学生界面,删除学生界面);增加课程界面,增加课程界面);删除课程界面,删除课程界面);修改课程界面,修改课程界面);增加选课界面,增加选课界面);删除选课界面,删除选课界面);修改选课界面,修改选课界面);学生查询界面,学生查询界面);备份界面,备份界面); add(pCenter,BorderLayout.CENTER); validate(); setBounds(400,150,600,380); addWindowListener(newWindowAdapter()/关闭程序时的操作 publicvoidwindowClosing(WindowEvente)Syst
16、em.exit(0); ); privatevoidaddJMenuBar() mb.add(m1);mb.add(m2);mb.add(m3);mb.add(m4);mb.add(m5); privatevoidaddMenu4() m4.add(学生查询); m4.add(backup); m4.setFont(t); privatevoidaddMenu3() m3.add(add3); m3.add(updata3); m3.add(delete3); m3.setFont(t); privatevoidaddMenu2()/将菜单加入到菜单栏中 m2.add(add2); m2.ad
17、d(updata2); m2.add(delete2); m2.setFont(t); privatevoidaddMenu1() m1.add(add1); m1.add(updata1); m1.add(delete1); m1.setFont(t);/字体 publicvoidactionPerformed(ActionEvente) Objectobj=e.getSource(); if(obj=m5)System.exit(0); elseif(obj=add1) card.show(pCenter, elseif(obj=updata1) elseif(obj=delete1) e
18、lseif(obj=add2) elseif(obj=delete2) elseif(obj=updata2) elseif(obj=add3) elseif(obj=delete3) elseif(obj=updata3) elseif(obj=学生查询) elseif(obj=backup) card.show(pCenter, publicstaticvoidmain(Stringargs) newMenu();4.3 学生管理模块设计 图4.3.1添加学生学籍图4.3.1修改学生学籍图4.3.1删除学生学籍2、 实现代码:Addstu.java/Updatastu.java/Delst
19、u.javapublicclassAddstuextendsJPanelimplementsActionListener JTextField学号,姓名,系别; JButton录入; publicAddstu() tryUIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName(); catch(Exceptione)System.err.println( 学号=newJTextField(12); 姓名=newJTextField(12); 系别=newJTextField(12); 录入=newJButton(录入 录入
20、.addActionListener(this); Boxbox1=Box.createHorizontalBox();/横放box Box box2=Box.createHorizontalBox(); Box box3=Box.createHorizontalBox(); Box box4=Box.createHorizontalBox(); box1.add(newJLabel(学号:/*,JLabel.CENTER*/); box1.add(学号); box2.add(newJLabel(姓名: box2.add(姓名); box3.add(newJLabel(系别: box3.add
21、(系别); box4.add(录入); BoxboxH=Box.createVerticalBox();/竖放box boxH.add(box1); boxH.add(box2); boxH.add(box3); boxH.add(box4); boxH.add(Box.createVerticalGlue(); JPanelmessPanel=newJPanel(); messPanel.add(boxH); setLayout(newBorderLayout(); add(messPanel,BorderLayout.CENTER); validate(); publicvoidactionPerformed(ActionEventc) Objectobj=c.getSource(); if(obj=录入) if(学号.getText().equals()|姓名.getText().equals()|系别.getText().equals( JOptionPane.showMessageDialog(this,学生信息请填满再录入! Statementstmt=null; ResultSetrs1=null; Stringsql,sql1; sql1=select*
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1