Java大作业简单的学籍管理系统_第1页
Java大作业简单的学籍管理系统_第2页
Java大作业简单的学籍管理系统_第3页
Java大作业简单的学籍管理系统_第4页
Java大作业简单的学籍管理系统_第5页
免费预览已结束,剩余25页可下载查看

下载本文档

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

文档简介

1、上海电力学院期末作业:简单的学籍管理系统课程: Web 应用程序设计院系:电气工程学院专业:电力系统及其自动化学生姓名:张富杰 学号:指导教师:曹渝昆2017年1月6日目录一、设计思路3.二具体实现3.三运行调试与分析3.四设计体会与小结8.五程序代码8.5 / 27一、设计思路随着社会经济的发展,入学的同学越来越多,为方便对同学学籍信息的的管理, 设计学籍管理软件来管理本班级同学的学籍信息。该软件应支持添加、删除、修改、查询功能。查询方式主要是支持学号查询,例如:输入“1”,则显示该学生的信息。运用流式、卡片、整体布局方式对系统的主界面和各功能界面进行设计;通过连接数据库的方式来实现对数据的

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

3、现修改一个学生的所有资料;添加类 (AddStudent)实现向班级里插入一个学生,但必须是插在已经建立的班级里。;删 除类(DeleteStudent)实现删除某班的一个学生及其所有资料。;删除类(DeleteClass) 实现删除一个班级;建立类(BuiltClas9实现输入学生信息建立一个班级。三运行调试与分析系统的详细设计代码请查阅附带的代码。以下仅对各个界面进行截图展示:图学生管理系统学生信息国学生售理票统学生信息熠加学生信息到指定班级 删除一个学生学籍信息 他改一个学生信息 查询某个学生信息删赊一个班辐信息输入一个学生建立一4班缴图1:管理界面囹添加学生且指云班领 X7 / 27添

4、加学生到指定班级竽号:I姓名:现编:0TE 。二业添加 遢占图2:添加学生到指定的班级界面L司删赊T学生信息删除一个学生信息字号:I姓名;I班缅:I删除, I退一图3:删除一个学生信息界面他改一个学生信息字号:姓等I班级;I哆改 退出图4:修改一个学生信息界面囹善源小学生信息直阿某个学生信息学号:姓名:班缀:卜查询:厂退出图6删除一个班级界面图7:输入一个学生建立一个班级界面运行JAVA?序中的StudentManager文件,显示系统的主界面,如图1所示, 主界面有进入其他子功能的按钮,选择相应的按钮便可进入相应的功能。添加学 生到指定班级功能如图2所示,根据提示输入要添加的信息,点击确定,

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

6、存的所有号码信息。四设计体会与小结期末大作业的课设,自己通过查找资料、复习课本、编程调试,写实验报告等环节,进一步掌握了以前学到的知识,并且还对GUI组键的应用有了更深入的 认识与掌握,另外还学到了一些新东西,比如 JAVA的SWING AWT包,以前是 没有接触过的,可是通过这次课程设计使得我们对这个包更了解。通过与数据库的连接掌握了 Java与数据库的连接技术。通过实践的学习,我认到学好计算机要重视实践操作,不仅仅是学习java语言, 还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。五程序代码package simp

7、lebighomework;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,Item5,Item6;public StudentManager(String s) / 构造函

8、数StudentManage/ 添加按键jmb = new JMenuBar();Message = new JMenu(学生信息”);Iteml = new JMenuItem"曾加学生信息到指定班级");菜单名Item2 = new JMenuItem("删除一个学生学籍信息)Item3 = new JMenuItem("修改一个学生信息)Item4 = new JMenuItem("查询某个学生信息)Item5 = new JMenuItem("删除一个班级信息)Item6 = new JMenuItem("输入一个学

9、生建立一个班级");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(this);Item

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

11、 = 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) SearchStudent s

12、s = 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 StudentManagerC学生管理系统");package simplebighomework;import javax.swing.*;import

13、 java.awt.*;import java.awt.event.*;import java.sql.*;public class AddStudent extends JFrame implements ActionListener 慑摩 java 的窗 口体类JLabel JL = new JLab啾加学生到指定班级", JLabel.CENTER);JLabel 儿Number = new 儿abel("号:");/ 显示输入学号JTextField JTNumber = new JTextField(); /创建文本框JLabel JLName = ne

14、w JLabel("名:");JTextField JTName = new JTextField();JLabel JLClass = new 儿abel(级:");ButtonGroup BG = new ButtonGroup();JRadioButton JRB1 = new JRadioButton("班)JRadioButton JRB2 = new JRadioButton("班");/ 创建按钮JButton JBAdd = new JButton 睇力口");JButton JBExit = new JBu

15、tton(!出");public AddStudent() 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.

16、add(JLName);JTName.setBounds(180, 120, 80, 20);this.add(JTName);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.add

17、ActionListener(this);JBExit.setBounds(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() = JBAdd) String snumber = JTNumber.getTe

18、xt();String sname = JTName.getText();String sclass = 一班""/ 单选按钮if (JRB1.isSelected() sclass = 一班""elsesclass = 二班""Connection con; / 声明 Connection 对象 String driver = "com.mysql.jdbc.Driver" / 驱动程序名/ 遍历查询结果集 try Class.forName(driver); / 加载驱动程序con=DriverManager.

19、getConnection("jdbc:mysql:/localhost:3306/database?useUnicode=t rue&characterEncoding=utf-8&useSSL=false","root","zfj"); /1.getConnection() 方 法,连接MySQL数据库! !Statement statement = con.createStatement(); /2. 创建 statement类对象,用来执行SQL语句! !String sql = "select *

20、from student where id='"+snumber+"'"要执行的SQL语句ResultSet rs = statement.executeQuery(sql); / 3.ResultSet 类,用来存放获取的结果集!if (rs.next()JOptionPane.showMessageDialog(null," 该号已经存在");/提示else sql = "insert into student values('" + snumber + "','&quo

21、t;+ sname+ "','" + sclass +"')"int i = statement.executeUpdate(sql); / 执行SQL语句,把返回值赋给iif (i > 0) JOptionPane.showMessageDialog(null, " 建 立 成 功 ");/ 提示成功elseJOptionPane.showMessageDialog(null, " 添 加 失 败 "); / 提示失败 catch (Exception ee) / 捕获异常 if (

22、e.getSource() = JBExit) / 退出按钮监视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 JLabe獭入一

23、个学生建立一个班级", JLabel.CENTER); /什么意思JLabel 儿Number = new 儿abel("号:");/ 显示输入学号JTextField JTNumber = new JTextField(); / 创建文本框JLabel JLName = new JLabe旌名:");JTextField JTName = new JTextField();JLabel JLClass = new 儿abel(级:");JTextField JTClass = new JTextField();JButton JBAdd =

24、new JButton 建立");/ 创建按钮JButton JBExit = 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)

25、; this.add(JTNumber);JLName.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);JBAdd.setBounds(120, 220, 60, 20);this.add(JBAdd);JBAdd.addActionL

26、istener(this);JBExit.setBounds(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() = JBAdd) String snumber = JTNumber.getText();String

27、sname = JTName.getText();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=t rue&character

28、Encoding=utf-8&useSSL=false","root","zfj"); /1.getConnection() 方 法,连接MySQL数据库! !Statement statement = con.createStatement(); /2. 创建statement类对象,用来执行SQL语句!String sql = "select * from student where id='"+snumber+"'"ResultSet rs = statement.execu

29、teQuery(sql);/3.ResultSet类,用来存放获取的结果集!if (rs.next()JOptionPane.showMessageDialog(null," 该号已经存在");/提示else sql = "insert into student values('" + snumber + "','"+ sname + "','" + sclass +"')"int i = statement.executeUpdate(sql);

30、 / 执行SQL语句,把返回值赋给i if (i > 0) JOptionPane.showMessageDialog(null, " 建 立 成 功 ");/ 提示成功elseJOptionPane.showMessageDialog(null, " 添 加 失 败 "); / 提示失败catch (Exception ee) / 什么意思? if (e.getSource() = JBExit) / 什么意思?setVisible(false);public static void main(String args) new BuiltClas

31、s(); 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 JLabe删除一个班级信息”,JLabel.CENTER);JLabel 儿Class = new 儿abei(级:");/ 显示班级窗 口JTextField JTClass = new JTextF

32、ield(渝入班级的窗口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(

33、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() = JB

34、Del) 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=t rue&characterEncoding=

35、utf-8&useSSL=false","root","zfj"); /1.getConnection() 方 法,连接MySQL数据库! !Statement statement = con.createStatement(); /2. 创建statement类对象,用来执行SQL语句!String sql = "select * from student where class='"+sclass+"'"ResultSet rs = statement.executeQuery

36、(sql);/3.ResultSet类,用来存放获取的结果集! ! if (rs.next() sql = "delete from student where class='" + sclass + "'"int n = statement.executeUpdate(sql);if (n > 0)JOptionPane.showMessageDialog(null,删除成功"); elseJOptionPane.showMessageDialog(null,删除失败"); else JOptionPane.s

37、howMessageDialog(null,不存在该班级"); catch (Exception er) if (e.getSource() = JBExit) setVisible(false); public static void main(String args) new DeleteClass();package simplebighomework;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class DeleteStudent extend

38、s JFrame implements ActionListener JLabel JL = new JLabe删除一个学生信息”,JLabel.CENTER);JLabel 儿Number = new 儿abel("号:");/ 显示输入“学号”JTextField JTNumber = new JTextField(); /输入学号的文本框/JLabel JLClass = new 儿abei(级:");/ 显示输入“班级”JTextField JTClass = new JTextField(); 输入班级的文本框/JLabel JLName = new J

39、Labe旌名:");/ 显示输入“姓名”JTextField JTName = new JTextField(); /输入姓名的文本框 /JButton JBDel = new JButton(M除”);/ 删除键JButton JBExit = new JButton(!出”);/ 退出键public DeleteStudent() this.setTitle("删除一个学生信息)this.setLayout(null);JL.setBounds(100, 30, 200, 40);this.add(JL);JLNumber.setBounds(140, 80, 100,

40、 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.setBounds(180, 120, 80, 20);this.add(JTName);JLClass.setBounds(140, 160, 80, 20);/x 轴和 y轴,宽高this.add(JLClass);JTClass.setBounds(180, 160, 8

41、0, 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.addActionListener(this);this.setBounds(500, 300, 500, 400);this.setVisible(true);public void actionPerformed(ActionEvent e)if (e.getSour

42、ce() = JBDel) String snumber = JTNumber.getText(); /获取输入的学号Connection con; / 声明 Connection 对象String driver = "com.mysql.jdbc.Driver" / 驱动程序名/ 遍历查询结果集try Class.forName(driver); / 加载驱动程序con=DriverManager.getConnection("jdbc:mysql:/localhost:3306/database?useUnicode=t rue&characterEn

43、coding=utf-8&useSSL=false","root","zfj");Statement statement = con.createStatement(); /2.创建statement类对象,用来执行SQL语句!String sql = "select * from student where id='"+snumber+"'"ResultSet rs = statement.executeQuery(sql);/3.ResultSet类,用来存放获取的结果集! !

44、if (rs.next() sql = "delete from student where id='" + snumber + "'"int n = statement.executeUpdate(sql);if (n > 0)JOptionPane.showMessageDialog(null," 删除成功");/执行了返回删除成功elseJOptionPane.showMessageDialog(null,删除失败");else JOptionPane.showMessageDialog(null

45、,不存在该学号学生");catch (Exception er) if (e.getSource() = JBExit) setVisible(false);public static void main (String args) new DeleteStudent();30 / 27package simplebighomework;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class ModifyStudent extends JFrame im

46、plements ActionListener JLabel JL = new JLabe修改一个学生信息JLabel 儿Number = new 儿abel("号:");JTextField JTNumber = new JTextField();", JLabel.CENTER);/ 显示学号/ 创建用于输入学号的文本JLabel JLName = new JLabel("名:");JTextField JTName = new JTextField();JLabel JLClass = new 儿abei(级:");JTextF

47、ield JTClass = new JTextField();JButton JBGet = new JButton("l 改)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);this.add(JLNumber);JTNumb

48、er.setBounds(180, 80, 80, 20);this.add(JTNumber);/x 轴和 y 轴,宽高JLName.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

49、, 60, 20); this.add(JBGet);JBGet.addActionListener(this);JBExit.setBounds(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.getTe

50、xt(); / 读取文本中输入的学号String sname = JTName.getText();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?useUn

51、icode=t rue&characterEncoding=utf-8&useSSL=false","root","zfj"); /1.getConnection() 方 法,连接MySQL数据库! !Statement statement = con.createStatement(); /2. 创建statement类对象,用来执行SQL语句!String sql = "select * from student where id='"+snumber+"'" / 根据

52、 id 对数据库查询ResultSet rs = statement.executeQuery(sql); /3.ResultSet类,用来存放获取的结果集! !if (rs.next() sql = "UPDATE student SET name='" +sname+ "',class='"+sclass+ "'where id='" + snumber + "'"int n = statement.executeUpdate(sql);/ 什么意思?if (n

53、> 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 ModifyStudent(); package sim

54、plebighomework;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class SearchStudent extends JFrame implements ActionListener JLabel JL = new JLabe("询某个学生信息”,JLabel.CENTER);/ 输入学号的文本/ 查询按钮/ 退出按钮JLabel 儿Number = new 儿abel("号:"); JTextField JTNumber

55、 = new JTextField(); JLabel JLName = new JLabel("名:"); JTextField JTName = new JTextField(); JLabel JLClass = new 儿abei(级:"); JTextField JTClass = new JTextField(); JButton JBSet = new JButton 侬询"); JButton JBExit = new JButton(!出");public SearchStudent() / 设置窗口的大小,位置this.setT

温馨提示

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

评论

0/150

提交评论