JAVA数据库课程设计--学生选课管理系统的设计与实现_完整源代码__第1页
JAVA数据库课程设计--学生选课管理系统的设计与实现_完整源代码__第2页
JAVA数据库课程设计--学生选课管理系统的设计与实现_完整源代码__第3页
JAVA数据库课程设计--学生选课管理系统的设计与实现_完整源代码__第4页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、课程设计目的通过这次的设计,主要是做出一个小型的管理系统,来加强对JAVA所学知识的巩固和融会贯通,可以说是对一个学期所学知识的一个小结,加深对JAVA数据库的理解。二、需求分析功能需求分析:该系统具备管理学生信息、课程信息、选课信息的功能:用户通过输入账号和密码进下该系统后,可以进行一些基础维护(学生信息维护、课程信息维护、选课信息维护) 。全部都可以进行增加、修改、删除、模糊查询。三、数据项 :1 表 admin (用户表)FieldTypeNullKeyCommentUsernamechar(10)PRI用户名passwordchar(10)密码NameChar(10)用户昵称2 表

2、 S(学生信息表)FieldTypeNullKeyCommentSnonvarchar(50PRI学号)Snamenvarchar(50姓名)Sxnvarchar(50系别)3 表 C(课程信息表)FieldTypeNullKeyCommentCnonvarchar(50PRI课号)Cnamenvarchar(50课名)4 表 SC(学生信息表)FieldTypeNullKeyCommentCnonvarchar(50PRI课号)Snonvarchar(50PRI学号)Cnvarchar(50成绩)四、系统功能描述该小型系统主要是用于管理学生及课程的基本信息,主要功能包括四方面的:1.管理学生

3、信息,其中包括添加,删除,修改等操作。2.管理课程信息,其中包括添加,删除,修改等操作。3.管理选课信息,其中包括添加,删除,修改等操作。4.查询信息,其中包括查询学生信息,查询课程信息,查询选课信息等操作。学生信息管理系统学课选查生程课询管管管管理理理理添修删添修删添修删学课选加改除加改除加改除生程课信信信信信信信信信信信信息息息息息息息息息息息息五、代码分析连接数据库方法:这是 java 连接数据库的驱动,有关数据库的操作都要用到他。public static Connection CONN()String driverName = ;import.*;public class Menu

4、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();ddActionListener(this);card=new CardL

5、ayout();pCenter=new JPanel();(card);增加学生界面 =new Addstu();修改学生界面 =new Updatastu();删除学生界面 =new Delstu();增加课程界面 =new AddC();删除课程界面 =new DelC();修改课程界面 =new UpdateC();增加选课界面 =new AddSC();删除选课界面 =new DelSC();修改选课界面 =new UpdateSC();学生查询界面 =new Selstu();( 欢迎界面 ,label);( 增加学生界面 ,增加学生界面);( 修改学生界面 ,修改学生界面);( 删

6、除学生界面 ,删除学生界面);( 增加课程界面 ,增加课程界面);( 删除课程界面 ,删除课程界面);( 修改课程界面 ,修改课程界面);( 增加选课界面 ,增加选课界面);( 删除选课界面 ,删除选课界面);( 修改选课界面 ,修改选课界面);( 学生查询界面 , 学生查询界面 );add(pCenter,;validate();setVisible(true);setBounds(400,150,400,280);setDefaultCloseOperation;addWindowListener(newWindowAdapter();import .*;import .*;importc

7、lass AddC extends JPanel implementsActionListenerJTextField 课号 ,课名 ;JButton录入 ;public AddC()try ();catch(Exception e) 不能设置外观:+e);课号 =new JTextField(12);课名 =new JTextField(12);录入 =new JButton( 录入 );录入 .addActionListener( this );Box box1=();import.*;import .*;public class UpdateC extends JPanel implem

8、entsActionListenerString save=null ;JTextField 课号 1,课号 ,课名 ;JButton修改 ,查找 ;public UpdateC()try ();catch(Exception e) 不能设置外观:+e);课号 1=new JTextField(12);课号 =new JTextField(12);课名 =new JTextField(12);修改 =new JButton( 修改 );查找 =new JButton( 查找 );Box box1=();ddActionListener( this );查找 .addActionListener

9、( this );Box boxH=();import.*;import .*;public class DelC extends JPanel implementsActionListener;String save=null ;JTextField 课号 1,课号 ,课名 ;JButton删除 ,查找 ;public DelC()try ();catch(Exception e) 不能设置外观:+e);课号 1=new JTextField(12);课号 =new JTextField(12);课名 =new JTextField(12);删除 =new JButton( 删除 );查找

10、=new JButton( 查找 );Box box1=();ddActionListener( this );查找 .addActionListener( this );JPanel picPanel=new JPanel();JPanel messPanel=new JPanel();(box5);(boxH);setLayout( new BorderLayout();JSplitPane splitV=newJSplitPane,messPanel,picPanel);import.*;import .*;public class Selstu extendsJPanel implem

11、entsActionListenerJTextField 学号 ,姓名 ,系别 ;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);成

12、绩 =new JTextField(12);查找 =new JButton( 查找学生信息 );查找 1=new JButton( 查找课程信息 );查找 2=new JButton( 查找选课信息 );Box box1=();ddActionListener( this );查找 (this );查找 (this );JPanel messPanel=new JPanel();JPanel picPanel=new JPanel();JPanel threePanel=new JPanel();(boxH1);(boxH2);(boxH3);setLayout( new BorderLayo

13、ut();JSplitPane splitV=newJSplitPane,messPanel,picPanel);import .*;import .*;importclass AddC extends JPanel implements ActionListenerJTextField 课号 ,课名 ;JButton 录入 ;public AddC()try ();catch(Exception e) 不能设置外观 :+e);课号 =new JTextField(12);课名 =new JTextField(12);录入 =new JButton( 录入 );录入 .addActionLis

14、tener(this);Box box1=();etText().equals()|课名 .getText().equals()(this, 学生信息请填满再录入! );Statement stmt=null;ResultSet rs=null,rs1=null;String sql,sql1;sql1=select * from C where Cno=+ 课号 .getText()+;sql=insert into C values(+ 课号 .getText()+,+ 课名 .getText()+);tryConnection dbConn1=CONN();stmt=(Statement

15、),;rs1=(sql1);if()(this, 该课号以存在,无法添加);else(sql);(this, 添加成功 );();();catch(SQLException e)SQL Exceptionis:+();import .*;import .*;import .*;importimport.*;class AddSC extends JPanel implements ActionListenerJTextField 课号 ,学号 ,成绩 ;JButton 录入 ;public AddSC()try ();catch(Exception e) 不能设置外观 :+e);课号 =new

16、 JTextField(12);学号 =new JTextField(12);成绩 =new JTextField(12);录入 =new JButton( 录入 );录入 .addActionListener(this);Box box1=();etText().equals()|学号 .getText().equals()(this, 填写课号与学号才能录入! );elseStatement stmt=null;ResultSet rs=null,rs1=null,rsC=null,rsS=null;String sql,sql1,sqlS,sqlC;sqlC=select * from

17、C where Cno=+ 课号 .getText()+;sqlS=select * from S where Sno=+ 学号 .getText()+;sql1=select * from SC where Cno=+ 课号 .getText()+ and Sno=+ 学号.getText()+;sql=insert into SC values(+ 课号 .getText()+,+ 学号 .getText()+,+ 成绩.getText()+); tryConnection dbConn1=CONN();stmt=(Statement),;rsC=(sqlC);if()rsS=(sqlS)

18、;if()rs1=(sql1);if()(this, 该学生以选该课程号,无法添加);else(sql);(this, 添加成功 );();else(this, 该学生不存在,无法添加);();else(this, 该课程不存在,无法添加);();();catch(SQLException e)SQL Exceptionis:+();import .*;import .*;importclass Addstu extends JPanel implements ActionListener JTextField 学号 ,姓名 ,系别 ;JButton 录入 ;public Addstu()tr

19、y ();catch(Exception e) 不能设置外观:+e);学号 =new JTextField(12);姓名 =new JTextField(12);系别 =new JTextField(12);录入 =new JButton( 录入 );录入 .addActionListener(this);Box box1=();etText().equals()|姓 名 .getText().equals()|系别.getText().equals()(this, 学生信息请填满再录入! );Statement stmt=null;ResultSet rs1=null;String sql,

20、sql1;sql1=select * from S where Sno=+ 学号 .getText()+;sql=insertintoSvalues(+ 学 号 .getText()+,+ 姓名.getText()+,+ 系别 .getText()+); tryConnection dbConn1=CONN();stmt=(Statement),;rs1=(sql1);if()(this, 该学号以存在,无法添加);else(sql);(this, 添加成功 );();();catch(SQLException e)SQL Exceptionis:+();import.*;import .*;

21、public class DelC extends JPanel implements ActionListenerString save=null;JTextField 课号 1,课号 ,课名 ;JButton 删除 ,查找 ;public DelC()try ();catch(Exception e) 不能设置外观:+e);课号 1=new JTextField(12);课号 =new JTextField(12);课名 =new JTextField(12);删除 =new JButton( 删除 );查找 =new JButton( 查找 );Box box1=();ddActionL

22、istener(this); 查找 .addActionListener(this);JPanel picPanel=new JPanel();JPanel messPanel=new JPanel();(box5);(boxH);setLayout(new BorderLayout();JSplitPanesplitV=newJSplitPane,messPanel,picPanel);quals()(this, 请填写查询的课号! ); elsesql1=select * from C where Cno=+ 课号 ()+;tryConnection dbConn1=CONN();stmt

23、=(Statement),;rs1=(sql1);if()课号 .setText(Cno).trim();课名 .setText(Cname).trim();save=课号 ().trim();else(this, 没有这个课号的课程 );();();catch(SQLException e1)SQL Exceptionis:+();elseif(obj= 删除 )if(save=null)(this, 还没查找需要修改的课程 );elsesql=delete from C where Cno=+save+;sqlSC=delete from SC where Cno=+save+;tryCo

24、nnection dbConn1=CONN();stmt=(Statement),;(sql);(sqlSC);save=null;(this, 删除完成 );课号 .setText();课名 .setText();();catch(SQLException e1)SQL Exceptionis:+();import.*;import .*;public class DelSC extends JPanel implements ActionListener String saveC=null;String saveS=null;JTextField 课号 1,学号 1,学号 ,课号 ,成绩

25、;JButton 删除 ,查找 ;public DelSC()try ();catch(Exception e) 不能设置外观 :+e);学号 1=new JTextField(12);课号 1=new JTextField(12);课号 =new JTextField(12);学号 =new JTextField(12);成绩 =new JTextField(12);删除 =new JButton( 删除 );查找 =new JButton( 查找 );Box box1=();ddActionListener(this);查找 .addActionListener(this);JPanel

26、picPanel=new JPanel();JPanel messPanel=new JPanel();(box5);(boxH);setLayout(new BorderLayout();JSplitPane splitV=newJSplitPane,messPanel,picPanel);quals()| 学号 ().equals()(this, 请填写完成查询的信息! );elsesql1=select * from SC where Cno=+ 课号 ()+ and Sno=+ 学号 ()+; tryConnection dbConn1=CONN();stmt=(Statement),

27、;rs1=(sql1);if() 课号 .setText(Cno).trim();学号 .setText(Sno).trim();成绩 .setText(C).trim();saveC=课号 ().trim();saveS=学号 ().trim();else(this, 没有这个课号的学生 );();();catch(SQLException e1)SQL Exceptionis:+();elseif(obj= 删除 )if(saveC=null|saveS=null)(this, 还没查找需要修改的学生/ 课程 );elsesql=delete from SC where Cno=+save

28、C+ and Sno=+saveS+; tryConnection dbConn1=CONN();stmt=(Statement),;(sql);saveC=null;saveS=null;(this, 删除完成 );课号 .setText();学号 .setText();成绩 .setText();();catch(SQLException e1)SQL Exceptionis:+();import.*;import .*;public class Delstu extends JPanel implements ActionListener String save=null;JTextFi

29、eld 学号 1,学号 ,姓名 ,系别 ;JButton 删除 ,查找 ;public Delstu()try ();catch(Exception e) 不能设置外观:+e);学号 1=new JTextField(12);学号 =new JTextField(12);姓名 =new JTextField(12);系别 =new JTextField(12);删除 =new JButton( 删除 );查找 =new JButton( 查找 );Box box1=();ddActionListener(this);查找 .addActionListener(this);JPanel picP

30、anel=new JPanel();JPanel messPanel=new JPanel();(box5);(boxH);setLayout(new BorderLayout();JSplitPane splitV=new JSplitPane,messPanel,picPanel);quals()(this, 请填写查询的学号! ); elsesql1=select * from S where Sno=+ 学号 ()+;tryConnection dbConn1=CONN();stmt=(Statement),;rs1=(sql1);if() 学号 .setText(Sno).trim(

31、);姓名 .setText(Sname).trim();系别 .setText(Sx).trim();save=学号 ().trim();else(this, 没有这个学号的学生 );();();catch(SQLException e1)SQL Exceptionis:+();elseif(obj= 删除 )if(save=null)(this, 还没查找需要修改的学生 ); elsesql=delete from S where Sno=+save+;sqlSC=delete from SC where Sno=+save+;tryConnection dbConn1=CONN();stm

32、t=(Statement),;(sql);(sqlSC);save=null;(this, 删除完成 );学号 .setText();姓名 .setText();系别 .setText();();catch(SQLException e1)SQL Exceptionis:+();import.*;public class Menu extends JFrame implements ActionListenerAddstu 增加学生界面 ;Updatastu 修改学生界面;Delstu 删除学生界面;AddC 增加课程界面 ;DelC 删除课程界面;UpdateC 修改课程界面 ;AddSC

33、增加选课界面 ;DelSC 删除选课界面 ;UpdateSC 修改选课界面 ;Selstu 学生查询界面 ;JPanel pCenter;CardLayout card=null;JLabel label=null;JMenuBar mb=new JMenuBar();ddActionListener(this);card=new CardLayout();pCenter=new JPanel();(card);增加学生界面 =new Addstu();修改学生界面 =new Updatastu();删除学生界面 =new Delstu();增加课程界面 =new AddC();删除课程界面

34、=new DelC();修改课程界面 =new UpdateC();增加选课界面 =new AddSC();删除选课界面 =new DelSC();修改选课界面 =new UpdateSC();学生查询界面 =new Selstu();(欢迎界面 ,label);( 增加学生界面 ( 修改学生界面 ( 删除学生界面 ( 增加课程界面 ( 删除课程界面 ( 修改课程界面 ( 增加选课界面 ( 删除选课界面 ( 修改选课界面 ( 学生查询界面,增加学生界面);,修改学生界面);,删除学生界面);,增加课程界面);,删除课程界面);,修改课程界面);,增加选课界面);,删除选课界面);,修改选课界面

35、);, 学生查询界面 );add(pCenter,;validate();setVisible(true);setBounds(400,150,600,380);setDefaultCloseOperation;addWindowListener(new WindowAdapter();import .*;import.*;import .*;public class SelC extends JFrame Vector rowData, columnNames;Statement stmt=null;String sql=null;JTable jt = null;JScrollPane j

36、sp = null;PreparedStatement ps=null;ResultSet rs=null;public SelC(String sql1)columnNames = new Vector();import .*;import .*;public class SelSC extends JFrame Vector rowData, columnNames;Statement stmt=null;String sql=null;JTable jt = null;JScrollPane jsp = null;PreparedStatement ps=null;ResultSet r

37、s=null;public SelSC(String sql1)columnNames = new Vector();import.*;import .*;public class Selstu extends JPanel implements ActionListener JTextField 学号 ,姓名 ,系别 ;JButton 查找 ;JTextField 课号 ,课名 ;JButton 查找 1;JTextField 课号 1,学号 1,成绩 ;JButton 查找 2;public Selstu ()学号 =new JTextField(12);姓名 =new JTextFiel

38、d(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=();ddActionListener(this);查找 (this);查找 (this);JPanel messPanel=new

39、JPanel();JPanel picPanel=new JPanel();JPanel threePanel=new JPanel();(boxH1);(boxH2);(boxH3);setLayout(new BorderLayout();JSplitPanesplitV=newJSplitPane,messPanel,picPanel);etText().equals()&姓名.getText().equals()& 系别 .getText().equals()sql=select * from S ;000);etText().equals()if(姓名 .getText().equa

40、ls()sql=select * from S where Sx like%+ 系别 .getText()+%;001); elseif( 系别 .getText().equals()sql=select * from S where Snamelike%+姓名 .getText()+%;010);elsesql=select*fromSwhereSnamelike%+姓名.getText()+%and Sx like%+系别 .getText()+%;011); elseif(姓名 .getText().equals()if( 系别 .getText().equals()sql=select

41、*fromS whereSnolike%+学号 .getText()+%;100);elsesql=select * from S where Sno like%+ 学号 .getText()+%and Sx like%+系别 .getText()+%;101);elseif( 系别 .getText().equals()sql=select*fromS wherelike%+学号 .getText()+% and Sname like%+ 姓名 .getText()+%;110);elsesql=select*fromSwhereSnolike%+号.getText()+%andSnamel

42、ike%+姓名.getText()+%andSxlike%+别.getText()+%;111);Sno学系K=new Students(sql);elseif(obj= 查找1)if(课号 .getText().equals()& 课名 .getText().equals()sql=select * from C ;00);etText().equals()sql=select* fromC whereCname like%+ 课名 .getText()+%;01);elseif(系别 .getText().equals()sql=select* from C whereCno like%+

43、 课号.getText()+%;10);elsesql=select * from C where Cname like%+ 姓名 .getText()+%;11);Cno like%+ 课号 .getText()+% andK1=new SelC(sql);elseif(obj= 查找 2)if(课号 ().equals()& 学号 ().equals()& 成绩 .getText().equals() sql=select ,Cname,Sname,C from SC,C,S where = and =;000);quals()if(学号 ().equals()sql=select,Cname,Sname,C fromSC,C,S whereC like%+ 成绩.getText()+% and = and =;001);elseif( 成 绩 .getText().equals()sql=select ,Cname,Sname,C fr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论