欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    JAVA数据库课程设计--学生选课管理系统的设计与实现_完整源代码_(158页).doc

    • 资源ID:34800852       资源大小:386.50KB        全文页数:164页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    JAVA数据库课程设计--学生选课管理系统的设计与实现_完整源代码_(158页).doc

    -一、课程设计目的 通过这次的设计,主要是做出一个小型的管理系统,来加强对JAVA所学知识的巩固和融会贯通,可以说是对一个学期所学知识的一个小结,加深对JAVA数据库的理解。二、需求分析功能需求分析: 该系统具备管理学生信息、课程信息、选课信息的功能:用户通过输入账号和密码进下该系统后,可以进行一些基础维护(学生信息维护、课程信息维护、选课信息维护)。全部都可以进行增加、修改、删除、模糊查询。三、数据项:1表admin(用户表)FieldTypeNullKeyComment Usernamechar(10)PRI用户名passwordchar(10)密码NameChar(10)用户昵称2表S(学生信息表)FieldTypeNullKeyComment Snonvarchar(50)PRI学号Snamenvarchar(50)姓名Sxnvarchar(50)系别3表C(课程信息表)FieldTypeNullKeyComment Cnonvarchar(50)PRI课号Cnamenvarchar(50)课名4表SC(学生信息表)FieldTypeNullKeyComment Cnonvarchar(50)PRI课号Snonvarchar(50)PRI学号Cnvarchar(50)成绩四、系统功能描述该小型系统主要是用于管理学生及课程的基本信息,主要功能包括四方面的:1.管理学生信息,其中包括添加,删除,修改等操作。2.管理课程信息,其中包括添加,删除,修改等操作。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)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();效果图:用户界面:Menu.java用户界面能菜单栏有4个一级菜单,学生管理、课程管理、选课管理都能添加、修改、删除数据,分别操作数据库里的S表(学生),C表(课程),SC表(选课)。查询管理则可进行三个表的查询。import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Menu extends JFrame implements ActionListenerAddstu 增加学生界面;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 ");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);m5.addActionListener(this);add2.addActionListener(this);delete2.addActionListener(this);updata2.addActionListener(this);add3.addActionListener(this);delete3.addActionListener(this);updata3.addActionListener(this);学生查询.addActionListener(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();pCenter.add("欢迎界面",label);pCenter.add("增加学生界面",增加学生界面);pCenter.add("修改学生界面",修改学生界面);pCenter.add("删除学生界面",删除学生界面);pCenter.add("增加课程界面",增加课程界面);pCenter.add("删除课程界面",删除课程界面);pCenter.add("修改课程界面",修改课程界面);pCenter.add("增加选课界面",增加选课界面);pCenter.add("删除选课界面",删除选课界面);pCenter.add("修改选课界面",修改选课界面);pCenter.add("学生查询界面", 学生查询界面);add(pCenter,BorderLayout.CENTER);validate();setVisible(true);setBounds(400,150,400,280);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); addWindowListener(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.setFont(t);private void addMenu3() m3.add(add3);m3.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=m5)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, "删除课程界面");elseif(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, "学生查询界面");public static void main(String args) new Menu();效果图:添加界面:AddC.java/AddSC.java/Addstu.java添加数据时,若遇到必须信息未填写、不能重复的信息在数据库中已存在,都会提示无法添加及其错误原因。import java.awt.*;import javax.swing.*;import java.sql.*;import java.awt.event.*;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("录入");录入.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 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();效果图:添加界面:UpdateC.java/UpdateSC.java /Updatestu.java先查找你想要修改的项目,若修改的信息包括号码(学号、课号),则会进行查询,如果修改后的号码已存在,以及修改后必须的信息变成空都会提示无法修改和其错误原因。此外,若修改C表或则S表,会连同SC表中对应的信息一起修改。import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.*;public class UpdateC extends JPanel implements ActionListenerString save=null;JTextField 课号1,课号,课名;JButton 修改,查找;public UpdateC()try UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName();catch(Exception e)System.err.println("不能设置外观: "+e);课号1=new JTextField(12);课号=new JTextField(12);课名=new JTextField(12);修改=new JButton("修改");查找=new JButton("查找");Box box1=Box.createHorizontalBox();/横放boxBox box2=Box.createHorizontalBox();Box box3=Box.createHorizontalBox();Box box4=Box.createHorizontalBox();Box box5=Box.createHorizontalBox();box1.add(new JLabel("课号:",JLabel.CENTER);box1.add(课号);box2.add(new JLabel("课名:",JLabel.CENTER);box2.add(课名);box3.add(修改);box5.add(new JLabel("课号:",JLabel.CENTER);box5.add(课号1);box5.add(查找);修改.addActionListener(this); 查找.addActionListener(this);Box boxH=Box.createVerticalBox();/竖放boxboxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(Box.createVerticalGlue();JPanel picPanel=new JPanel();JPanel messPanel=new JPanel();messPanel.add(box5);picPanel.add(boxH);setLayout(new BorderLayout();JSplitPane splitV=new JSplitPane(JSplitPane.VERTICAL_SPLIT,messPanel,picPanel);/分割add(splitV,BorderLayout.CENTER);validate();删除界面:DelC.java/DelSC.java /Deltu.java先查找你想要删除的项目,然后删除,此外,若删除C表或则S表的内容,会连同SC表中对应的信息一起修改。import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.*;public class DelC extends JPanel implements ActionListenerString save=null;JTextField 课号1,课号,课名;JButton 删除,查找;public DelC()try UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName();catch(Exception e)System.err.println("不能设置外观: "+e);课号1=new JTextField(12);课号=new JTextField(12);课名=new JTextField(12);删除=new JButton("删除");查找=new JButton("查找");Box box1=Box.createHorizontalBox();/横放boxBox box2=Box.createHorizontalBox();Box box3=Box.createHorizontalBox();Box box4=Box.createHorizontalBox();Box box5=Box.createHorizontalBox();box1.add(new JLabel("课号:",JLabel.CENTER);box1.add(课号);box2.add(new JLabel("课名:",JLabel.CENTER);box2.add(课名);box4.add(删除);box5.add(new JLabel("课号:",JLabel.CENTER);box5.add(课号1);box5.add(查找);Box boxH=Box.createVerticalBox();/竖放boxboxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(Box.createVerticalGlue();删除.addActionListener(this); 查找.addActionListener(this);JPanel picPanel=new JPanel();JPanel messPanel=new JPanel();messPanel.add(box5);picPanel.add(boxH);setLayout(new BorderLayout();JSplitPane splitV=new JSplitPane(JSplitPane.VERTICAL_SPLIT,messPanel,picPanel);/分割add(splitV,BorderLayout.CENTER);validate();查询界面:Selsto.java可以以任意条件模糊查找相关的表。import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.*;public class Selstu extends JPanel implements ActionListenerJTextField 学号,姓名,系别;JButton 查找;JTextField 课号,课名;JButton 查找1;JTextField 课号1,学号1,成绩;JButton 查找2; public Selstu ()学号=new JTextField(12);姓名=new JTextField(12);系别=new JTextField(12);课号=new JTextField(12);课名=new JTextField(12);课号1=new JTextField(12);学号1=new JTextField(12);成绩=new JTextField(12);查找=new JButton("查找学生信息");查找1=new JButton("查找课程信息");查找2=new JButton("查找选课信息");Box box1=Box.createHorizontalBox();/横放boxBox box2=Box.createHorizontalBox();Box box4=Box.createHorizontalBox();Box box5=Box.createHorizontalBox();Box box6=Box.createHorizontalBox();Box box7=Box.createHorizontalBox();box1.add(new JLabel("学号:",JLabel.CENTER);box1.add(学号);box1.add(new JLabel("姓名:",JLabel.CENTER);box1.add(姓名);box1.add(new JLabel("系别:",JLabel.CENTER);box1.add(系别);box2.add(查找);box4.add(new JLabel("课号:",JLabel.CENTER);box4.add(课号);box4.add(new JLabel("课名:",JLabel.CENTER);box4.add(课名);box6.add(查找1);box5.add(new JLabel("课号:",JLabel.CENTER);box5.add(课号1);box5.add(new JLabel("学号:",JLabel.CENTER);box5.add(学号1);box5.add(new JLabel("成绩:",JLabel.CENTER);box5.add(成绩);box7.add(查找2); Box boxH1=Box.createVerticalBox();/竖放boxboxH1.add(box1);boxH1.add(box2);boxH1.add(Box.createVerticalGlue();Box boxH2=Box.createVerticalBox();/竖放boxboxH2.add(box4);boxH2.add(box6);boxH2.add(Box.createVerticalGlue(); Box boxH3=Box.createVerticalBox();/竖放boxboxH3.add(box5);boxH3.add(box7);boxH3.add(Box.createVerticalGlue(); 查找.addActionListener(this);查找1.addActionListener(this);查找2.addActionListener(this); JPanel messPanel=new JPanel();JPanel picPanel=new JPanel();JPanel threePanel=new JPanel();messPanel.add(boxH1);picPanel.add(boxH2);threePanel.add(boxH3);setLayout(new BorderLayout();JSplitPane splitV=new JSplitPane(JSplitPane.VERTICAL_SPLIT,messPanel,picPanel);/分割add(splitV,BorderLayout.CENTER);JSplitPane splitV1=new JSplitPane(JSplitPane.VERTICAL_SPLIT,splitV,threePanel);/分割add(splitV1,BorderLayout.CENTER);validate();效果图:五、课程设计学习心得通过本次课程设计,成功的完成了这个小型简单的系统的设计,在整个设计过程中我对JAVA使用和它强大的作用有了一个更深刻的认识,尽管这个系统很简单,但是它让我综合运用了这个学期所学的JAVA的很多内容,在此基础上,对JAVA的基础知识得到了更好的巩固。其实,在制作的过程中我也学到很多思想:首先,要学会统筹全局,合理规划,例如在制作整个框架的时候提前就要做全面考虑,要把整个结构图画出来,并且要对数据库表里的东西做全面规划。同时在编写程序的时候也要想好先实现什么功能,再实现什么功能,这样做出来的东西才有条理性,更容易实现和理解。其次,要细心仔细。Java程序虽然容易理解,但在写的过程中一不留心就会出现错误。当然出错是在所难免的,与性质有关的错误可以经过思考讨论后进行改正,但如果粗心大意,出现输入上的错误就很难发现和修改,会耽误很多时间。我认为最大的收获是提高了自己的动手能力。在平时的上机中大多数是根据书上的思想和布局来写程序的。这次的课程设计要自己思考自己写,考虑的东西比平时上机考虑的要多的多。在整个设计过程中写代码不是最难的,最难的是构思和布局。这次课程设计也是一次很好的实践活动,让我们体会到了java的神奇作用。下面是java的源代码,总共有15个类。分别是AddC.java,AddSC.java,Addstu.java, Delstu.java,DelC.java, DelSC.java,Menu.java,SelC.java,SelSC.java,Selstu.java,Student.java,Updatastu.java,UpdateC.java,UpdateSC.java,User.java。因为本人太懒,所以一些类名的错误没有修改,也没有优化系统,总之还算是能运行的,数据库用的是sql2005,如果用别的数据库就要改驱动,具体自己上网百度吧。如果自己有空,优化一下还是很好滴AddC.jaba:import java.awt.*;import javax.swing.*;import java.sql.*;import java.awt.event.*;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("录入");录入.addActionListener(this);Box box1=Box.createHorizontalBox();/横放boxBox box2=Box.createHorizontalBox();B

    注意事项

    本文(JAVA数据库课程设计--学生选课管理系统的设计与实现_完整源代码_(158页).doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开