Java大作业-简单的学籍管理系统

上传人:29 文档编号:59439348 上传时间:2022-03-03 格式:DOCX 页数:27 大小:80.86KB
收藏 版权申诉 举报 下载
Java大作业-简单的学籍管理系统_第1页
第1页 / 共27页
Java大作业-简单的学籍管理系统_第2页
第2页 / 共27页
Java大作业-简单的学籍管理系统_第3页
第3页 / 共27页
资源描述:

《Java大作业-简单的学籍管理系统》由会员分享,可在线阅读,更多相关《Java大作业-简单的学籍管理系统(27页珍藏版)》请在装配图网上搜索。

1、精选优质文档-倾情为你奉上上海电力学院期末作业:简单的学籍管理系统 课 程: Web应用程序设计 院 系: 电气工程学院 专 业: 电力系统及其自动化 学生姓名: 张富杰 学号: 指导教师: 曹渝昆 2017年1月6日目录一、设计思路随着社会经济的发展,入学的同学越来越多,为方便对同学学籍信息的的管理,设计学籍管理软件来管理本班级同学的学籍信息。该软件应支持添加、删除、修改、查询功能。 查询方式主要是支持学号查询,例如:输入“1”,则显示该学生的信息。 运用流式、卡片、整体布局方式对系统的主界面和各功能界面进行设计; 通过连接数据库的方式来实现对数据的存储;各功能实现时访问数据库,并对数据信息

2、进行读取,运用Java语句对其进行输出,学号查询时显示在文本框中;系统提示功能用来提醒用户的错误操作和输入时的错误信息,提醒用户进行改正。二具体实现1 向班级里插入一个学生,但必须是插在已经建立的班级里。2 输入学生信息,建立一个班级。3 修改一个学生的所有资料。4 删除某班的一个学生及其所有资料。5 删除一个班级。 6根据学生姓名查找某个学生信息。每种功能通过一个类来实现:类分分为主类、查询类、修改类、添加类、增加类。主类各功能界面的连接;精确查询类(SearchStudent)实现根据学生姓名查找某个学生信息;修改类(MdifyStudent)实现修改一个学生的所有资料;添加类(AddSt

3、udent)实现向班级里插入一个学生,但必须是插在已经建立的班级里。;删除类(DeleteStudent)实现删除某班的一个学生及其所有资料。;删除类(DeleteClass)实现删除一个班级;建立类(BuiltClass)实现输入学生信息建立一个班级。三运行调试与分析系统的详细设计代码请查阅附带的代码。以下仅对各个界面进行截图展示:图1:管理界面图2:添加学生到指定的班级界面图3:删除一个学生信息界面图4:修改一个学生信息界面图5:查询某个学生信息界面图6删除一个班级界面图7:输入一个学生建立一个班级界面运行JAVA程序中的StudentManager文件,显示系统的主界面,如图1所示,主界

4、面有进入其他子功能的按钮,选择相应的按钮便可进入相应的功能。添加学生到指定班级功能如图2所示,根据提示输入要添加的信息,点击确定,将弹出提示框,确认是否添加。输入一个学生建立一个班级功能如图7所示,根据提示输入要添加的信息,点击确定,将弹出提示框,确认是否建立。删除一个班级信息功能如图6所示,根据提示输入班级号,点击删除。删除一个学生信息功能如图3所示,根据提示输入学号,点击删除。修改一个学生信息功能如图4所示,首先输入要修改的人姓名,点击开始修改,在下面的文本框现实当前数据库内所存该人的信息,同时录入修改键变化为可点击,在文本框内输入要修改的学号,点击录入修改,系统将新信息录如数据库。点击查

5、询某个学生信息按钮,将弹出查询对话框, 输入姓名便可以精确查询到此人的所有学籍信息。查询如图5所示,将显示数据库中所存的所有号码信息。四设计体会与小结期末大作业的课设,自己通过查找资料、复习课本、编程调试,写实验报告等环节,进一步掌握了以前学到的知识,并且还对GUI组键的应用有了更深入的认识与掌握,另外还学到了一些新东西,比如JAVA 的SWING、AWT包,以前是没有接触过的,可是通过这次课程设计使得我们对这个包更了解。通过与数据库的连接掌握了Java与数据库的连接技术。 通过实践的学习,我认到学好计算机要重视实践操作,不仅仅是学习java语言,还是其它的语言,以及其它的计算机方面的知识都要

6、重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。五程序代码package simplebighomework;import javax.swing.*; import java.awt.*;import java.awt.event.*;import java.sql.*;public class StudentManager extends JFrame implements ActionListener /继承JFrame类JMenuBar jmb; /菜单栏JMenu Message; /菜单JMenuItem Item1,Item2,Item3,Item4,

7、Item5,Item6; /菜单项public StudentManager(String s) /构造函数 StudentManage/添加按键jmb = new JMenuBar();Message = new JMenu(学生信息);Item1 = new JMenuItem(增加学生信息到指定班级); /菜单名Item2 = new JMenuItem(删除一个学生学籍信息);Item3 = new JMenuItem(修改一个学生信息);Item4 = new JMenuItem(查询某个学生信息);Item5 = new JMenuItem(删除一个班级信息);Item6 = ne

8、w JMenuItem(输入一个学生建立一个班级);Message.add(Item1);Message.add(Item2);Message.add(Item3);Message.add(Item4);Message.add(Item5);Message.add(Item6);jmb.add(Message);Item1.addActionListener(this);Item2.addActionListener(this);Item3.addActionListener(this);Item4.addActionListener(this);Item5.addActionListener

9、(this);Item6.addActionListener(this);setTitle(s); /设置窗口标题setBounds(500,300,500,500); /窗口的位置setVisible(true); /组件可见setJMenuBar(jmb); /菜单栏validate(); /再次布置容器及其组件setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/设置隐藏,关闭,放大窗口public void actionPerformed(ActionEvent e) /ActionEvent包含一个事件,该事件为执行动作事件 点击按钮等if

10、(e.getSource() = Item1) /e.getSource() = Item2) 返回的当前动作所指向的对象,包含对象的所有信息。 AddStudent ad = new AddStudent(); else if (e.getSource() = Item2) /通过获取事件源,获取相应的对象DeleteStudent ds = new DeleteStudent(); else if (e.getSource() = Item3) ModifyStudent ms = new ModifyStudent(); else if (e.getSource() = Item4) S

11、earchStudent ss = new SearchStudent(); else if (e.getSource() = Item5) DeleteClass dc = new DeleteClass(); else if (e.getSource() = Item6) BuiltClass bc = new BuiltClass();public static void main(String args) StudentManager stu=new StudentManager(学生管理系统);package simplebighomework;import javax.swing.

12、*; import java.awt.*;import java.awt.event.*;import java.sql.*; public class AddStudent extends JFrame implements ActionListener /继承java的窗口体类JLabel JL = new JLabel(添加学生到指定班级, JLabel.CENTER); JLabel JLNumber = new JLabel(学号:); /显示输入学号JTextField JTNumber = new JTextField(); /创建文本框JLabel JLName = new J

13、Label(姓名:);JTextField JTName = new JTextField();JLabel JLClass = new JLabel(班级:);ButtonGroup BG = new ButtonGroup();JRadioButton JRB1 = new JRadioButton(一班);JRadioButton JRB2 = new JRadioButton(二班);JButton JBAdd = new JButton(添加); /创建按钮JButton JBExit = new JButton(退出); public AddStudent() this.setTi

14、tle(添加学生到指定班级);this.setLayout(null);JL.setBounds(100, 30, 200, 40);this.add(JL);JLNumber.setBounds(140, 80, 100, 20); /x轴和y轴,宽高this.add(JLNumber);JTNumber.setBounds(180, 80, 80, 20);this.add(JTNumber); JLName.setBounds(140, 120, 60, 20);this.add(JLName);JTName.setBounds(180, 120, 80, 20);this.add(JT

15、Name);JLClass.setBounds(140, 160, 100, 20);this.add(JLClass);JRB1.setBounds(180, 160, 60, 20);JRB2.setBounds(240, 160, 60, 20);this.add(JRB1);this.add(JRB2);BG.add(JRB1);BG.add(JRB2);JBAdd.setBounds(120, 220, 60, 20);this.add(JBAdd);JBAdd.addActionListener(this);JBExit.setBounds(200, 220, 60, 20);th

16、is.add(JBExit);JBExit.addActionListener(this);this.setBounds(500, 300, 500, 400); /添加窗口的位置this.setVisible(true);public void actionPerformed(ActionEvent e) / 监听接口if (e.getSource() = JBAdd) /点击建立的时候生效String snumber = JTNumber.getText(); /获取文本框中的信息String sname = JTName.getText();String sclass = 一班;if (

17、JRB1.isSelected() /单选按钮sclass = 一班;else sclass = 二班; Connection con; /声明Connection对象 String driver = com.mysql.jdbc.Driver; /驱动程序名 /遍历查询结果集 try Class.forName(driver); /加载驱动程序 con = DriverManager.getConnection(jdbc:mysql:/localhost:3306/database?useUnicode=true&characterEncoding=utf-8&useSSL=false,ro

18、ot,zfj); /1.getConnection()方法,连接MySQL数据库! Statement statement = con.createStatement(); /2.创建statement类对象,用来执行SQL语句! String sql = select * from student where id=+snumber+; /要执行的SQL语句 ResultSet rs = statement.executeQuery(sql); /3.ResultSet类,用来存放获取的结果集!if (rs.next() JOptionPane.showMessageDialog(null,

19、 该号已经存在); /提示else sql = insert into student values( + snumber + ,+ sname + , + sclass +);int i = statement.executeUpdate(sql); /执行SQL语句,把返回值赋给iif (i 0)JOptionPane.showMessageDialog(null, 建立成功); /提示成功elseJOptionPane.showMessageDialog(null, 添加失败); /提示失败catch (Exception ee) /捕获异常 if (e.getSource() = JB

20、Exit) /退出按钮监视setVisible(false);public static void main(String args) new BuiltClass();package simplebighomework;import javax.swing.*; import java.awt.*;import java.awt.event.*;import java.sql.*; public class BuiltClass extends JFrame implements ActionListener JLabel JL = new JLabel(输入一个学生建立一个班级, JLab

21、el.CENTER); /什么意思JLabel JLNumber = new JLabel(学号:); /显示输入学号JTextField JTNumber = new JTextField(); /创建文本框JLabel JLName = new JLabel(姓名:);JTextField JTName = new JTextField();JLabel JLClass = new JLabel(班级:);JTextField JTClass = new JTextField();JButton JBAdd = new JButton(建立); /创建按钮JButton JBExit =

22、new JButton(退出); /什么意思public BuiltClass() this.setTitle(输入一个学生建立一个班级);this.setLayout(null);JL.setBounds(100, 30, 200, 40);this.add(JL);JLNumber.setBounds(140, 80, 100, 20); /x轴和y轴,宽高this.add(JLNumber);JTNumber.setBounds(180, 80, 80, 20);this.add(JTNumber); JLName.setBounds(140, 120, 60, 20);this.add

23、(JLName);JTName.setBounds(180, 120, 80, 20);this.add(JTName);JLClass.setBounds(140, 160, 100, 20);this.add(JLClass);JTClass.setBounds(180, 160, 80, 20);this.add(JTClass);JBAdd.setBounds(120, 220, 60, 20);this.add(JBAdd);JBAdd.addActionListener(this);JBExit.setBounds(200, 220, 60, 20);this.add(JBExit

24、);JBExit.addActionListener(this);this.setBounds(500, 300, 500, 400);this.setVisible(true);public void actionPerformed(ActionEvent e) /什么意思? 监听接口if (e.getSource() = JBAdd) /点击建立的时候生效String snumber = JTNumber.getText(); /获取文本框中的信息String sname = JTName.getText();String sclass = JTClass.getText(); Conne

25、ction con; /声明Connection对象 String driver = com.mysql.jdbc.Driver; /驱动程序名 /遍历查询结果集 try Class.forName(driver); /加载驱动程序 con = DriverManager.getConnection(jdbc:mysql:/localhost:3306/database?useUnicode=true&characterEncoding=utf-8&useSSL=false,root,zfj); /1.getConnection()方法,连接MySQL数据库! Statement statem

26、ent = con.createStatement(); /2.创建statement类对象,用来执行SQL语句! String sql = select * from student where id=+snumber+; ResultSet rs = statement.executeQuery(sql); /3.ResultSet类,用来存放获取的结果集!if (rs.next() JOptionPane.showMessageDialog(null, 该号已经存在); /提示else sql = insert into student values( + snumber + ,+ sn

27、ame + , + sclass +);int i = statement.executeUpdate(sql); /执行SQL语句,把返回值赋给iif (i 0)JOptionPane.showMessageDialog(null, 建立成功); /提示成功elseJOptionPane.showMessageDialog(null, 添加失败); /提示失败catch (Exception ee) /什么意思? if (e.getSource() = JBExit) /什么意思?setVisible(false);public static void main(String args) n

28、ew BuiltClass();package simplebighomework;import javax.swing.*; import java.awt.*;import java.awt.event.*;import java.sql.*; public class DeleteClass extends JFrame implements ActionListener JLabel JL = new JLabel(删除一个班级信息, JLabel.CENTER);JLabel JLClass = new JLabel(班级:); /显示班级窗口JTextField JTClass =

29、 new JTextField(); /输入班级的窗口JButton JBDel = new JButton(删除);JButton JBExit = new JButton(退出); public DeleteClass() this.setTitle(删除一个班级信息);this.setLayout(null);JL.setBounds(100, 30, 200, 40);this.add(JL); JLClass.setBounds(140, 80, 60, 20);this.add(JLClass);JTClass.setBounds(180, 80, 80, 20);this.add

30、(JTClass); JBDel.setBounds(120, 120, 60, 20);this.add(JBDel);JBDel.addActionListener(this);JBExit.setBounds(200, 120, 60, 20);this.add(JBExit);JBExit.addActionListener(this);this.setBounds(500, 300, 500, 400);this.setVisible(true);public void actionPerformed(ActionEvent e) /执行操作if (e.getSource() = J

31、BDel) String sclass = JTClass.getText(); /获取文本中输入的班级 Connection con; /声明Connection对象 String driver = com.mysql.jdbc.Driver; /驱动程序名 /遍历查询结果集 try Class.forName(driver); /加载驱动程序 con = DriverManager.getConnection(jdbc:mysql:/localhost:3306/database?useUnicode=true&characterEncoding=utf-8&useSSL=false,ro

32、ot,zfj); /1.getConnection()方法,连接MySQL数据库! Statement statement = con.createStatement(); /2.创建statement类对象,用来执行SQL语句! String sql = select * from student where class=+sclass+; ResultSet rs = statement.executeQuery(sql); /3.ResultSet类,用来存放获取的结果集!if (rs.next() sql = delete from student where class= + scl

33、ass + ;int n = statement.executeUpdate(sql);if (n 0)JOptionPane.showMessageDialog(null, 删除成功);elseJOptionPane.showMessageDialog(null, 删除失败); else JOptionPane.showMessageDialog(null, 不存在该班级);catch (Exception er) if (e.getSource() = JBExit) setVisible(false);public static void main(String args) new De

34、leteClass();package simplebighomework;import javax.swing.*; import java.awt.*;import java.awt.event.*;import java.sql.*; public class DeleteStudent extends JFrame implements ActionListener JLabel JL = new JLabel(删除一个学生信息, JLabel.CENTER);JLabel JLNumber = new JLabel(学号:); /显示输入“学号”JTextField JTNumber

35、 = new JTextField(); / 输入学号的文本框JLabel JLClass = new JLabel(班级:); /显示输入“班级”JTextField JTClass = new JTextField(); / 输入班级的文本框JLabel JLName = new JLabel(姓名:); /显示输入“姓名”JTextField JTName = new JTextField(); / 输入姓名的文本框JButton JBDel = new JButton(删除); /删除键JButton JBExit = new JButton(退出); /退出键 public Dele

36、teStudent() this.setTitle(删除一个学生信息);this.setLayout(null);JL.setBounds(100, 30, 200, 40);this.add(JL);JLNumber.setBounds(140, 80, 100, 20); /x轴和y轴,宽高this.add(JLNumber);JTNumber.setBounds(180, 80, 80, 20);this.add(JTNumber); JLName.setBounds(140, 120, 80, 20); /x轴和y轴,宽高this.add(JLName);JTName.setBound

37、s(180, 120, 80, 20);this.add(JTName); JLClass.setBounds(140, 160, 80, 20); /x轴和y轴,宽高this.add(JLClass);JTClass.setBounds(180, 160, 80, 20);this.add(JTClass); JBDel.setBounds(120, 200, 60, 20);this.add(JBDel);JBDel.addActionListener(this);JBExit.setBounds(200, 200, 60, 20);this.add(JBExit);JBExit.addA

38、ctionListener(this);this.setBounds(500, 300, 500, 400);this.setVisible(true);public void actionPerformed(ActionEvent e)if (e.getSource() = JBDel) String snumber = JTNumber.getText(); /获取输入的学号 Connection con; /声明Connection对象 String driver = com.mysql.jdbc.Driver; /驱动程序名 /遍历查询结果集 try Class.forName(dri

39、ver); /加载驱动程序 con = DriverManager.getConnection(jdbc:mysql:/localhost:3306/database?useUnicode=true&characterEncoding=utf-8&useSSL=false,root,zfj); Statement statement = con.createStatement(); /2.创建statement类对象,用来执行SQL语句! String sql = select * from student where id=+snumber+; ResultSet rs = statemen

40、t.executeQuery(sql); /3.ResultSet类,用来存放获取的结果集!if (rs.next() sql = delete from student where id= + snumber + ;int n = statement.executeUpdate(sql);if (n 0)JOptionPane.showMessageDialog(null, 删除成功); /执行了返回删除成功 else JOptionPane.showMessageDialog(null, 删除失败); else JOptionPane.showMessageDialog(null, 不存在

41、该学号学生);catch (Exception er) if (e.getSource() = JBExit) setVisible(false); public static void main (String args) new DeleteStudent();package simplebighomework;import javax.swing.*; import java.awt.*;import java.awt.event.*;import java.sql.*;public class ModifyStudent extends JFrame implements Action

42、Listener JLabel JL = new JLabel(修改一个学生信息, JLabel.CENTER);JLabel JLNumber = new JLabel(学号:); /显示学号JTextField JTNumber = new JTextField(); /创建用于输入学号的文本JLabel JLName = new JLabel(姓名:);JTextField JTName = new JTextField();JLabel JLClass = new JLabel(班级:);JTextField JTClass = new JTextField();JButton JBG

43、et = new JButton(修改); /修改按钮JButton JBExit = new JButton(退出); public ModifyStudent() this.setTitle(修改一个学生信息);this.setLayout(null);JL.setBounds(100, 30, 200, 40);this.add(JL);JLNumber.setBounds(140, 80, 100, 20); /x轴和y轴,宽高this.add(JLNumber);JTNumber.setBounds(180, 80, 80, 20);this.add(JTNumber); JLNam

44、e.setBounds(140, 120, 60, 20);this.add(JLName);JTName.setBounds(180, 120, 80, 20);this.add(JTName);JLClass.setBounds(140, 160, 100, 20);this.add(JLClass);JTClass.setBounds(180, 160, 80, 20);this.add(JTClass);JBGet.setBounds(120, 220, 60, 20);this.add(JBGet);JBGet.addActionListener(this);JBExit.setBo

45、unds(200, 220, 60, 20);this.add(JBExit);JBExit.addActionListener(this);this.setBounds(500, 300, 500, 400);this.setVisible(true);public void actionPerformed(ActionEvent e) if (e.getSource() = JBGet) String snumber = JTNumber.getText(); /读取文本中输入的学号String sname = JTName.getText();String sclass = JTClas

46、s.getText(); Connection con; /声明Connection对象 String driver = com.mysql.jdbc.Driver; /驱动程序名 /遍历查询结果集 try Class.forName(driver); /加载驱动程序 con = DriverManager.getConnection(jdbc:mysql:/localhost:3306/database?useUnicode=true&characterEncoding=utf-8&useSSL=false,root,zfj); /1.getConnection()方法,连接MySQL数据库

47、! Statement statement = con.createStatement(); /2.创建statement类对象,用来执行SQL语句! String sql = select * from student where id=+snumber+; /根据id对数据库查询 ResultSet rs = statement.executeQuery(sql); /3.ResultSet类,用来存放获取的结果集!if (rs.next()sql = UPDATE student SET name= +sname+ ,class=+sclass+ where id= + snumber

48、+ ;int n = statement.executeUpdate(sql); /什么意思?if (n 0)JOptionPane.showMessageDialog(null, 修改成功);elseJOptionPane.showMessageDialog(null, 修改失败); else JOptionPane.showMessageDialog(null, 不存在该学号学生);catch (Exception er) if (e.getSource() = JBExit) setVisible(false);public static void main(String args) n

49、ew ModifyStudent();package simplebighomework;import javax.swing.*; import java.awt.*;import java.awt.event.*;import java.sql.*; public class SearchStudent extends JFrame implements ActionListener JLabel JL = new JLabel(查询某个学生信息, JLabel.CENTER);JLabel JLNumber = new JLabel(学号:);JTextField JTNumber =

50、new JTextField(); /输入学号的文本JLabel JLName = new JLabel(姓名:);JTextField JTName = new JTextField();JLabel JLClass = new JLabel(班级:);JTextField JTClass = new JTextField();JButton JBSet = new JButton(查询); /查询按钮JButton JBExit = new JButton(退出); /退出按钮 public SearchStudent() /设置窗口的大小,位置this.setTitle(查询某个学生信息);this.setLayout(null);JL.setBounds(100, 30, 200, 40);this.add(JL);JLNumber.setBounds(140, 80, 80, 20); /x轴和y轴,宽高this.add(JLNumber);JTNumber.setBounds(180, 80, 80, 20);this.add(JTNumber); JLName.setBounds(140, 120

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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