版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 学生成绩管理系统学生成绩管理系统 摘要摘要 学生成绩管理系统是学校管理的重要工具,是学校不可或缺的部分。 随着在校大学 生人数的不断增加,教务系统的数量也不断的上涨,学校工作繁杂、资料众多,人工管 理信息的难度也越来越大,显然是不能满足实际的需要,效率也是很低的。并且这种传 统的方式存在着很多的弊端,如:保密性差、查询不便、效率低,很难维护和更新等。 然而,本系统针对以上缺点能够极大地提高学生信息管理的效率,也是科学化、正规化的 管理,与世界接轨的重要条件。所以如何自动高效地管理信息是这些年来许多人所研究的。 随着这些年电脑计算机的速度质的提高,成本的下降,IT 互联网大众趋势的发展。 我们
2、使用电脑的高效率才处理数据信息成为可能。 学生学籍管理系统的出现,正是管理 人员与信息数据,计算机的进入互动时代的体现。友好的人机交互模式,清晰简明的图 形界面,高效安全的操作使得我们对成千上万的信息的管理得心应手。通过这个系统,可 以做到信息的规范管理,科学统计和快速的查询,从而减少管理方面的工作量毋庸置疑,切 实有效地把计算机管理引入学校教务管理中,对于促进学校管理制度,提高学校教学质量 与办学水平有着显著意义 关键字 Mysql;学生成绩管理系统 目 录 第第 1 章章 项目分析项目分析.4 1.1 问题描述.4 1.2 技术分析.4 第第 2 章章 数据库分析与设计数据库分析与设计.5
3、 2.2 表的设计.6 第第 3 章章 实现实现.7 3.1 录入信息功能.7 3.1.1 界面.7 3.1.2 代码.9 3.2 查询个人信息功能.10 3.2.1 界面.10 3.2.2 代码.10 3.3 修改信息功能.12 3.3.1 界面.12 3.3.2 代码.13 3.4 功能模块 4.13 3.4.1 界面.14 3.4.2 代码.14 第第 4 章章 结束语结束语.17 附录附录 A: 主要源程序主要源程序.20 第 1 章 项目分析 每一个软件都要根据实际需要进行分析,然后根据需要编写自己的代码,去实现这 些功能。而学生成绩管理系统需要对学生个人的信息进行管理,并且保存学生
4、的个人信 息,所以要连接数据库,还要实现增删改查这四项功能。 1.1 问题描述 在做这个学生管理系统时候,我们面临很多问题。因为老师要求的是我们都没有学 习的东西,这些完全是拼借我们自己自学完成的。其中最大困难是数据库,不知道怎么 连接,怎么写代码来驱动,还有就是怎么对每一个按钮进行事件监听,怎么写代码。 1.2 技术分析 学生成绩管理系统需要用 java 代码实现对学生个人信息的增删改查,还要对数据库 进行写入,修改,删除等功能。 第 2 章 数据库分析与设计 学生成绩管理系统需要对学生的个人信息进行录入,所以要用到数据库,并且还要对 其进行设计和分析。 2.1ER 图 所有属性的 ER 图
5、 2.1 教师 教师姓名 登录密码 课程 课程号 教师 ID 课程名称 成绩 学号 课程号 成绩 学籍 性别 姓名 学号 籍贯 班级号 总人数 登录密码 籍贯 班级名称 班级号 班级 管理员 登录密码 管理 ID 教师 ID 教 授 考试 管 理 2.2 表的设计 要给数据库添加信息需要表,来填写信息,所以要尽量避免数据的沉余,所以要对 表和数据库进行分析,设计好表,具体的设计如下就是我们自己建立的表格。 如: 学生个人信息表: 字段名 类型空值约束条件 学号 int not null 主键(唯一) 姓名 Varchaar 年龄 Intnot null 性别 varchar(2) 高数成绩 I
6、ntnot null 英语成绩 int 计算机成绩 Int 表 2.2 如图 2.1 所示 这就是数据库的表的结构。 学生信息表 图 2.3 第 3 章 实现 学生成绩管理系统实现了所有的功能,包括对数据的写入,对数据的更改,对数据的删 除。 3.1 录入信息功能 3.1.1 界面 当运行系统时候出现这个界面。 登陆界面图 3.1.1 当录入个人的工号:123,密码 123 是登陆成功!否则提示密码错误! 登陆界面图 3.1.2 如果登陆成功后出现主菜单,包括:录入个人信息,查询个人信息,修改个人信息, 删除个人信息。 点击录入信息时候会弹出一个界面,让其录入个人信息:如 可以填写个人信息,然
7、后点击按钮录入信息,如果录入成功会有录入成功的对话框弹 出来,把数据写入 mysql 数据库里面! 录入个人信息图 3.1.3 我们可以从数据库里查看这个信息是否录入进到数据库。 数据库查看录入的个人信息 3.1.4 从数据库中我们可以看到数据添加到数据库中,所以录入功能没问题。 3.1.2 代码 登陆界面代码 public void GUI() start d = new start(); d.setTitle(课题作业); d.setSize(325, 200); d.setLocationRelativeTo(null); d.setVisible(true); d.setDefault
8、CloseOperation(JFrame.EXIT_ON_CLOSE); public boolean select(String a1, String a2) String n1 = 123; String n2 = 456; if (a1.equals(n1) else return false; 3.2 查询个人信息功能 3.2.1 界面 当点击查询功能时候会弹出一个界面,输入要查询人的学号,点击查询按钮就可以 查到此学号人的全部信息。 浏览个人信息图 3.2.1 3.2.2 代码 查询界面的代码: 如下: public void GUI() throws SQLException,
9、ClassNotFoundException second b = new second(); b.setTitle(课题作业); b.setSize(400, 400); b.setLocationRelativeTo(null); b.setVisible(true); b.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 从数据库中读取数据的代码: 如下: package zheng; import java.sql.*; import java.awt.*; import javax.swing.*; public class printR
10、esult public String Print(int a) throws SQLException, ClassNotFoundException Class.forName(com.mysql.jdbc.Driver); System.out.println(驱动成功!); String url = jdbc:mysql:/localhost/test; String user = root; String passWord = 123; Connection conn = DriverManager.getConnection(url, user, passWord); System
11、.out.println(连接成功!); String n = new String7; Statement statement = conn.createStatement(); ResultSet resultSet = statement .executeQuery(select * from test where ID= + a); while (resultSet.next() n0 = resultSet.getString(1); n1 = resultSet.getString(2); n2 = resultSet.getString(3); n3 = resultSet.ge
12、tString(4); n4 = resultSet.getString(5); n5 = resultSet.getString(6); n6 = resultSet.getString(7); conn.close(); return n; 3.3 修改信息功能 3.3.1 界面 当点击修改信息时候会弹出一个界面,输入要修改人的学号,然后点击修改按钮就 可以修改数据库中的人的个人信息。 修改个人信息图 3.3.1 修改你要更该的个人信息。 修改个人信息图 3.3.2 从数据库查看图 3.3.3 我们可以看到现在的信息与原来的信息已经不同,说明修改成功,修改信息功能没有问 题。 3.3.2
13、代码 修改的界面代码: 如下: public void GUI() third c = new third(); c.setTitle(课题作业); c.setSize(400, 375); c.setLocationRelativeTo(null); c.setVisible(true); c.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 3.4 功能模块 4 删除信息功能 删除个人信息功能是用来删除退学和毕业的学生个人信息。 3.4.1 界面 当点击删除功能时候,会弹出一个界面。输入要删除人的学号 删除个人信息图 3.4.1 我们可以看到提
14、示信息删除成功,我们还可以看数据库里面的信息。 从数据库查查看图 3.4.2 我们可以看到数据库里面的信息为空,个人信息已经被删除,说明删除功能是没有 问题的。 3.4.2 代码 删除界面的代码: 如下: package zheng; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.SQLException; public class five extends JFrame publi
15、c five() JPanel p1 = new JPanel(); JLabel b = new JLabel(删除个人信息); Font f1 = new Font(Serif, Font.BOLD, 30); b.setFont(f1); b.setForeground(Color.ORANGE); p1.add(b); JPanel p2 = new JPanel(); JButton B8 = new JButton(删除人的学号); JButton B9 = new JButton(删除); Font f2 = new Font(Serif, Font.BOLD, 20); fin
16、al JTextField C7 = new JTextField(10); B8.setFont(f2); B8.setForeground(Color.BLUE); B9.setFont(f2); B9.setForeground(Color.BLUE); p2.add(B8); p2.add(C7); p2.add(B9); add(p1, BorderLayout.NORTH); add(p2, BorderLayout.SOUTH); B9.addActionListener(new ActionListener() public void actionPerformed(Actio
17、nEvent e) delete d = new delete(); try d.Delete(Integer.parseInt(C7.getText(); JOptionPane.showMessageDialog(null, 删除成功!); catch (SQLException e1) e1.printStackTrace(); catch (ClassNotFoundException e1) e1.printStackTrace(); ); public void GUI() five x = new five(); x.setTitle(课题作业); x.setSize(400,
18、200); x.setLocationRelativeTo(null); x.setVisible(true); x.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 第 4 章 结束语 通过为期三个星期的课题实践,我们很好的完成了二级课题作业,实现了学生成绩 管理系统的增删改查功能,这些全部是我们自己自学,和找资料,找例题,自己独立完 成的,在这三个星期中我们完全拼借着自己的理解能力,和对问题的判断能力,自己编 写了这个学生成绩管理系统。这个成绩管理系统是我们自己设计的,但是我们对这个系 统不是太满意,主要有界面和数据库,界面呢,我们认为不是很人
19、性化,例如登陆界面, 我们应该可以输入任意多个工号和密码的老师登陆,但是我们当初设计时候,没有想到 这一点,所以迫使只能默认工号为 123,密码为 456,所以这些不是太完美,还有就是登 陆时候,密码还可以看到没有显示成为*,这是我们设计上的失误,我们要吸取教训。对 于界面,我还要说一说,界面,我认为我们做的是有点难看,全部是以小为主,不是很 大,并且所有的按钮全部是方的,没有创意,以后我们会学到很多知识,相信以后,我 们会有改进,完善这次不足之处,让这个系统更加的完美,更加的人性化。在设计这个 系统时候,我们遇到了很多困难,最大的苦难就是连接数据库和每一个按钮的事件监听, 当时数据库是怎么连
20、接的我们都不知道,自己就翻看资料,看了 java 开发实战 2000 例 题中的连接数据库,自己还是不懂什么是 JDK;,没办法自己就看了 java 进阶篇中的 java 数据库库高级设计,自己才懂,当然了界面也是自己一个人自学的包括,设置界面大小, 界面的指定关闭按钮,界面的布局管理,面板等都是自己看 Java 进阶篇自学的。还有的 就是事件监听,刚开始就不知道是什么,但是这个学生管理系统是用到按钮的,所以必 修要点击一个按钮来完成一个事件,当时我就自己自学,自学了匿名的事件监听,把这 些按钮都连到了一起,就这样一路的自学过来,我感到自己收获真的很多,自己自学有 什么不会的问题,自己找资料解
21、决,即锻炼了自己的能力,有提升了自己的自学能力, 我感觉这个二级课题给了我压力,然后自己又把这压力转化动力,自己解决问题! 参考文献 01杨钟尉 Java 开发实战 1200 例 例M:北京.清华大学出版社 2011.6 02刘勇.MySQLr 基础教程 M: 清华大学出版社. 2005.2 3郑海红 Java 语言程序设计进阶篇 M: 机械工程出版社. 2005.2 指导教师评语 成绩: 指导教师签名: 年 月 日 附录 A: 主要源程序 package zheng; import javax.swing.*; import java.awt.*; import java.awt.event
22、.ActionEvent; import java.awt.event.ActionListener; import java.sql.SQLException; /删除功能代码 public class five extends JFrame public five() JPanel p1 = new JPanel();/创建面板 JLabel b = new JLabel(删除个人信息); Font f1 = new Font(Serif, Font.BOLD, 30); b.setFont(f1);/设置字体 b.setForeground(Color.ORANGE);/设置颜色 p1.
23、add(b); /添加到面板上 JPanel p2 = new JPanel(); JButton B8 = new JButton(删除人的学号); JButton B9 = new JButton(删除); Font f2 = new Font(Serif, Font.BOLD, 20); final JTextField C7 = new JTextField(10); B8.setFont(f2); B8.setForeground(Color.BLUE); B9.setFont(f2); B9.setForeground(Color.BLUE); p2.add(B8); p2.add
24、(C7); p2.add(B9); add(p1, BorderLayout.NORTH); add(p2, BorderLayout.SOUTH); B9.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) delete d = new delete(); try d.Delete(Integer.parseInt(C7.getText(); JOptionPane.showMessageDialog(null, 删除成功!); catch (SQLException e1) e1
25、.printStackTrace(); catch (ClassNotFoundException e1) e1.printStackTrace(); ); public void GUI() five x = new five(); x.setTitle(课题作业); x.setSize(400, 200); x.setLocationRelativeTo(null); x.setVisible(true); x.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); package zheng; import javax.swing.*; impor
26、t java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.SQLException; public class second extends JFrame private JButton B1; private JTextField C1; private JButton B2; private JTextField C2; private JButton B3; private JTextField C3; private JButton B4;
27、 private JTextField C4; private JButton B5; private JTextField C5; private JButton B6; private JTextField C6; private JButton B7; private JTextField C7; private JButton B8; public second() B1 = new JButton(学号); C1 = new JTextField(8); B2 = new JButton(姓名); C2 = new JTextField(8); B3 = new JButton(性别
28、); C3 = new JTextField(8); B4 = new JButton(年龄); C4 = new JTextField(8); B5 = new JButton(高数成绩); C5 = new JTextField(8); B6 = new JButton(英语成绩); C6 = new JTextField(8); B7 = new JButton(计算机成绩); C7 = new JTextField(8); B1.setForeground(Color.PINK); B2.setForeground(Color.PINK); B3.setForeground(Color
29、.PINK); B4.setForeground(Color.PINK); B5.setForeground(Color.PINK); B6.setForeground(Color.PINK); B7.setForeground(Color.PINK); Font f = new Font(Serif, Font.BOLD, 20); B1.setFont(f); B2.setFont(f); B3.setFont(f); B4.setFont(f); B5.setFont(f); B6.setFont(f); B7.setFont(f); JPanel p1 = new JPanel();
30、JLabel b = new JLabel(录入个人信息); Font f1 = new Font(Serif, Font.BOLD, 35); b.setFont(f1); b.setForeground(Color.ORANGE); p1.add(b); JPanel p2 = new JPanel(); p2.setLayout(new GridLayout(7, 2, 1, 1); p2.add(B1); p2.add(C1); p2.add(B2); p2.add(C2); p2.add(B3); p2.add(C3); p2.add(B4); p2.add(C4); p2.add(
31、B5); p2.add(C5); p2.add(B6); p2.add(C6); p2.add(B7); p2.add(C7); JPanel p3 = new JPanel(); B8 = new JButton(录入信息); Font f2 = new Font(Serif, Font.BOLD, 25); B8.setFont(f2); B8.setForeground(Color.BLUE); p3.add(B8); add(p1, BorderLayout.NORTH); add(p2, BorderLayout.CENTER); add(p3, BorderLayout.SOUTH
32、); B8.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) add a = new add(); try a.Add(C1.getText(), C2.getText(), C3.getText(), C4 .getText(), C5.getText(), C6.getText(), C7 .getText(); JOptionPane.showMessageDialog(null, 添加成功!); catch (SQLException e1) e1.printStackTr
33、ace(); catch (ClassNotFoundException e1) e1.printStackTrace(); ); public void GUI() throws SQLException, ClassNotFoundException second b = new second(); b.setTitle(课题作业); b.setSize(400, 400); b.setLocationRelativeTo(null); b.setVisible(true); b.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 连接数据库代码
34、 package zheng; import java.sql.*; import java.awt.*; import javax.swing.*; public class add public void Add(String n1, String n2, String n3, String n4, String n5, String n6, String n7) throws SQLException, ClassNotFoundException Class.forName(com.mysql.jdbc.Driver); System.out.println(驱动成功!); Strin
35、g url = jdbc:mysql:/localhost/test; String user = root; String passWord = 123; Connection conn = DriverManager.getConnection(url, user, passWord); System.out.println(连接成功!); PreparedStatement abc = conn .prepareStatement(insert into test values(?,?,?,?,?,?,?); abc.setInt(1, Integer.parseInt(n1); abc
36、.setString(2, n2); abc.setString(3, n3); abc.setInt(4, Integer.parseInt(n4); abc.setInt(5, Integer.parseInt(n5); abc.setInt(6, Integer.parseInt(n6); abc.setInt(7, Integer.parseInt(n7); abc.executeUpdate(); conn.close(); package zheng; import java.sql.*; import java.awt.*; import javax.swing.*; publi
37、c class printResult public String Print(int a) throws SQLException, ClassNotFoundException Class.forName(com.mysql.jdbc.Driver); System.out.println(驱动成功!); String url = jdbc:mysql:/localhost/test; String user = root; String passWord = 123; Connection conn = DriverManager.getConnection(url, user, passWord); System.out.println(连接成功!); String n = new String7; Statement statement = conn.createStatement(); ResultSet res
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026二上数学表内除法公开课课件
- 2026北师大二下十年变化情境课件
- 人教版小学四年级上册语文 2 繁星 教案
- 2026四下数学全册教学课件
- Unit 5 Off to space Section 4 Extending and developing competencies Focusing on culture 教学设计2026-2027学年沪教版英语七年级上册
- 2026四下数学运算律教学课件
- 《体外诊断驻点工程师》习题及答案 任务3 岗位认知
- 离线气隙与AI冷数据驱动LTO磁带库进入高密度智能归档新阶段
- 安徽省阜阳市十校联考2027届九年级化学第一学期期末调研模拟试题含解析
- 2027届上海市闵行区九年级物理第一学期期末考试试题含解析
- DB32∕T 5081-2025 建筑防水工程技术规程
- 华为外包公司管理制度
- JG/T 25-2017建筑涂料涂层耐温变性试验方法
- 尿道下裂的诊疗与护理
- 板材购销合同协议
- 美容院消毒流程及工具使用规范
- 初一新生家长会(共27张课件)
- 《数字电子技术》课程说课课件
- 帆状胎盘诊治指南
- 周三多-管理学:原理与方法(第七版),第十八章
- 重庆育才中学新初一分班英语试卷含答案
评论
0/150
提交评论