




免费预览已结束,剩余18页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java 语言程序设计 B 报 告 班级 192091 27 学号 20091003757 姓名 罗 斌 成绩 2012 年 1 月 一个简单的学生成绩管理信息系统 题目 题目 数据库要求 1 建立的数据库中包含如下信息 学生学号 姓名 班级 语文 数学 英语 成绩 2 至少要有 5 个班级 每个班级要有 10 名以上学生 3 使用 txt 格式文本表示各种表 功能需求 1 能够实现根据以下关键字查询 学生姓名 学号 班级 课程名称 2 能够实现按照单科成绩 总成绩 平均成绩 学号排序 3 能够实现学生信息的插入 删除和修改 4 能够查询每个课程的最高分 最低分及相应学生姓名 班级和学号 5 能够查询每个班级某门课程的优秀率 90 分及以上 不及格率 并进行排 序 界面要求 使用图形界面实现 要符合日常软件使用规范来设计菜单和界面 一 需求分析 1 1 界面 界面 符合日常软件使用规范 使用方便 外形简洁美观 2 2 功能需求 功能需求 存储学生学号 姓名 班级 语文 数学 英语成绩等信息 实现数据库 的读取与存入 数据项的记录与修改 删除等 二 设计思想 1 1 类设计 类设计 将添加数据 查询数据 删除数据 修改数据四个功能分别为四个类来实现 为了便于测试 每一个类都继承了主窗口类 JFRAME 使得窗口可以独自运行 INSERT 类设计 功能组件 6 个文本域 6 个标签 1 个按钮 功能实现 添加数据 实现过程 对按钮添加监控 实现按钮事件为获取文本域中的信息 并执行 SQL 的 INSERT 语句 QUERY 类设计 功能组件 5 个按钮 三个单行文本组件 1 个下拉框 1 个多行文本 功能实现 按学号查询 按姓名查询 按班级查询 按课程查询 显示全部 实现过程 对按钮添加监控 共有五个监控事件 前三个实现按钮事件为先 获取文本域中的信息 根据对应查询的要求执行相应的 SQL 的 SELLECT 语句 按课程查询通过在下来框中选择对应的选项 即查询相应的课程 第五个查询 按钮将全部信息在多行文本框中输出 MODIFY 类设计 功能组件 6 个单行文本 6 个标签 1 个按钮 功能实现 修改数据 实现过程 与添加数据类似 对按钮添加监控 实现按钮事件为获取文本域 中的信息 并执行 SQL 的 UPDATE 语句 不同的是以学号为主键进行查找并更新 DELETE 类设计 功能组件 1 个单行文本 1 个标签 1 个按钮 1 个多行文本 功能实现 删除数据 实现过程 与修改数据类似 对按钮添加监控 实现按钮事件为获取文本域 中的学号信息 并执行 SQL 的 DELETE 语句 不同的是以学号为主键进行查找并 将删除信息输出到文本框中 2 2 数据库设计 数据库设计 系统概念结构设计 系统逻辑结构设计 学生成绩信息表学生成绩信息表 字段名字段名 属性属性类型类型空值空值约束条件约束条件 学号ID文本not null主键 姓名name文本从键 班级class文本从简 语文Chinese长整数 英语English长整数 数学Maths长整数 数据库截图 3 3 主界面设计 主界面设计 成绩查询系统 学号 姓名 班级 语文 数学 英语 MAINFRAME 类设计 功能组件 4 个按钮 1 个背景 2 个标签文本 2 个面板 功能实现 查询数据 添加数据 删除数据 修改数据 实现过程 对按钮添加监控 共有 4 个监控事件 实现按钮事件为创建对应 功能的类对象 出现相应的功能窗口 三 运行截图 主界面主界面 添加数据添加数据 查询数据查询数据 按学号查询按学号查询 按姓名查询按姓名查询 按班级查询按班级查询 按课程名称查询按课程名称查询 显示所有信息显示所有信息 修改数据修改数据 删除数据删除数据 四 实验感想四 实验感想 通过此次课程设计我学会了很多知识 将 Java 课上遗漏的知识又进一步补 上 实践过程中遇到了很多困难 比如没学过数据库 SQL 语句不熟 对 eclipse 的使用很生疏等 因此花费了很多时间在前期准备工作上 即使如此 也有一些功能尚未实现 例如查询优秀率 最高分和最低分等 虽然比较简单 但由于时间问题还是没来得及做 由于本次试验的很多知识都是现学现用 以 致很多地方的代码显得累赘繁琐 但总体上主要功能是实现了的 并且美化了 一下主界面 总之 此次课程设计让我获益匪浅 我将会继续把它完善做好 五 源代码清单 MainFrame 类类 import javax swing import java awt import java awt event public class MainFrame extends JFrame JButton insert query delete modify JPanel panel panel1 panel2 public MainFrame TODO Auto generated method stub ImageIcon img new ImageIcon 1 gif JLabel text1 text2 picture new JLabel img JFrame frame new JFrame 学生成绩管理系统 insert new JButton 添加数据 insert setBackground Color green insert addActionListener new insertActionPerformed query new JButton 查询数据 query addActionListener new queryActionPerformed query setBackground Color green modify new JButton 修改数据 modify setBackground Color green modify addActionListener new modifyActionPerformed delete new JButton 删除数据 delete setBackground Color green delete addActionListener new deleteActionPerformed frame setSize 360 200 frame setDefaultCloseOperation JFrame EXIT ON CLOSE Container contentPane frame getContentPane contentPane setLayout new BorderLayout text1 new JLabel 欢迎使用学生成绩管理系统 JLabel CENTER text1 setFont new Font 宋体 Font BOLD 24 text1 setForeground Color blue text2 new JLabel 192091班 罗斌制作 text2 setFont new Font TimesRoman Font ROMAN BASELINE 14 panel1 new JPanel panel1 add insert panel1 add query panel2 new JPanel panel2 add modify panel2 add delete panel1 setOpaque false panel2 setOpaque false panel new JPanel panel add text2 BorderLayout NORTH panel add panel1 BorderLayout NORTH panel add panel2 BorderLayout SOUTH panel setOpaque false contentPane add text1 BorderLayout NORTH contentPane add panel BorderLayout CENTER frame getLayeredPane add picture new Integer Integer MIN VALUE Toolkit kit Toolkit getDefaultToolkit Dimension screenSize kit getScreenSize int screenWidth screenSize width 2 int screenHeight screenSize height 2 int height this getHeight int width this getWidth picture setBounds 0 0 360 360 JPanel contentPane setOpaque false frame setLocation screenWidth width 2 screenHeight height 2 frame setVisible true public class insertActionPerformed implements ActionListener public void actionPerformed ActionEvent e new Insert setVisible true public class modifyActionPerformed implements ActionListener public void actionPerformed ActionEvent e new Modify setVisible true public class queryActionPerformed implements ActionListener public void actionPerformed ActionEvent e new Query setVisible true public class deleteActionPerformed implements ActionListener public void actionPerformed ActionEvent e new Delete setVisible true public static void main String args new MainFrame Insert 类类 import java awt import java awt event import javax swing import java sql public class Insert extends JFrame JTextField input1 input2 input3 input4 input5 input6 JLabel label1 label2 label3 label4 label5 JButton button static Statement st static try Class forName sun jdbc odbc JdbcOdbcDriver Connection con DriverManager getConnection jdbc odbc student st con createStatement catch Exception e ResultSet rs public Insert input1 new JTextField 15 input2 new JTextField 15 input3 new JTextField 15 input4 new JTextField 15 input5 new JTextField 15 input6 new JTextField 15 JPanel panel new JPanel panel setLayout new GridLayout 6 2 panel add new JLabel 学号 BorderLayout CENTER panel add input1 panel add new JLabel 姓名 BorderLayout CENTER panel add input2 panel add new JLabel 班级 BorderLayout CENTER panel add input3 panel add new JLabel 语文 BorderLayout CENTER panel add input4 panel add new JLabel 英语 panel add input5 panel add new JLabel 数学 panel add input6 button new JButton 添加 button addActionListener new mysql Container container getContentPane container add panel BorderLayout CENTER container add button BorderLayout SOUTH setTitle 添加数据窗口 setDefaultCloseOperation JFrame DISPOSE ON CLOSE setSize 250 250 Toolkit kit Toolkit getDefaultToolkit Dimension screenSize kit getScreenSize int screenWidth screenSize width 2 int screenHeight screenSize height 2 int height this getHeight int width this getWidth setLocation screenWidth width 2 screenHeight height 2 setVisible true class mysql implements ActionListener public void actionPerformed ActionEvent e try String number input1 getText trim String name input2 getText trim String clas input3 getText trim String temp input4 getText int chinese Integer parseInt temp temp input4 getText int english Integer parseInt temp temp input4 getText int maths Integer parseInt temp if number equals name equals clas equals temp equals JOptionPane showMessageDialog Insert this 请重新输入 提示对话 框 1 else String sql insert into ScoreInfo ID name class Chinese English Maths values number name clas chinese english maths st executeUpdate sql JOptionPane showMessageDialog Insert this 数据添加成功 提示对 话框 1 input1 setText input2 setText input3 setText input4 setText input5 setText input6 setText catch Exception ee Query 类类 import java awt import javax swing event import java awt event import javax swing import java sql public class Query extends JFrame JTextArea show JButton button1 button2 button3 button4 button5 JTextField field1 field2 field3 JComboBox comoBox static Statement st static try Class forName sun jdbc odbc JdbcOdbcDriver Connection con DriverManager getConnection jdbc odbc student st con createStatement catch Exception e public Query show new JTextArea 5 10 button1 new JButton 显示所有信息 button1 addActionListener new Mysql1 Container container getContentPane container setLayout new BorderLayout JPanel panel new JPanel JPanel mainpanel new JPanel button2 new JButton 按学号查询 button2 addActionListener new Mysql2 panel add button2 field1 new JTextField 7 panel add field1 panel setVisible true mainpanel add panel button3 new JButton 按姓名查询 button3 addActionListener new Mysql3 panel add button3 field2 new JTextField 6 panel add field2 panel setVisible true mainpanel add panel button4 new JButton 按班级查询 button4 addActionListener new Mysql4 panel add button4 field3 new JTextField 6 panel add field3 panel setVisible true mainpanel add panel String items 请选择 语文 英语 数学 comoBox new JComboBox items button5 new JButton 按课程名称查询 button5 addActionListener new Mysql5 panel add button5 panel add comoBox panel setVisible true mainpanel add panel panel new JPanel panel add button1 container add mainpanel BorderLayout NORTH container add panel BorderLayout SOUTH container add new JScrollPane show BorderLayout CENTER setTitle 查询数据 setDefaultCloseOperation JFrame DISPOSE ON CLOSE setSize 750 400 Toolkit kit Toolkit getDefaultToolkit Dimension screenSize kit getScreenSize int screenWidth screenSize width 2 int screenHeight screenSize height 2 int height this getHeight int width this getWidth setLocation screenWidth width 2 screenHeight height 2 setVisible true class Mysql1 implements ActionListener public void actionPerformed ActionEvent e try String sql select from ScoreInfo ResultSet rs st executeQuery sql show setText show append 序号 学号 姓名 班级 语文 英语 数学 n while rs next show append rs getInt 1 show append rs getString 2 show append rs getString 3 show append rs getString 4 show append rs getInt 5 show append rs getInt 6 show append rs getInt 7 n catch Exception ee class Mysql2 implements ActionListener public void actionPerformed ActionEvent e try String ss field1 getText trim String sql select from ScoreInfo where ID ss ResultSet rs st executeQuery sql show setText show append 序号 学号 姓名 班级 语文 英语 数学 n while rs next show append rs getInt 1 show append rs getString 2 show append rs getString 3 show append rs getString 4 show append rs getInt 5 show append rs getInt 6 show append rs getInt 7 n catch Exception ee class Mysql3 implements ActionListener public void actionPerformed ActionEvent e try String ss field2 getText trim String sql select from ScoreInfo where name ss ResultSet rs st executeQuery sql show setText show append 序号 学号 姓名 班级 语文 英语 数学 n while rs next show append rs getInt 1 show append rs getString 2 show append rs getString 3 show append rs getString 4 show append rs getInt 5 show append rs getInt 6 show append rs getInt 7 n catch Exception ee class Mysql4 implements ActionListener public void actionPerformed ActionEvent e try String ss field3 getText trim String sql select from ScoreInfo where class ss ResultSet rs st executeQuery sql show setText show append 序号 学号 姓名 班级 语文 英语 数学 n while rs next show append rs getInt 1 show append rs getString 2 show append rs getString 3 show append rs getString 4 show append rs getInt 5 show append rs getInt 6 show append rs getInt 7 n catch Exception ee class Mysql5 implements ActionListener public void actionPerformed ActionEvent e try String sql String ss comoBox getSelectedItem toString if ss equals 语文 sql select ID name class Chinese from ScoreInfo show setText show append 序号 学号 姓名 班级 语文 n else if ss equals 英语 sql select ID name class English from ScoreInfo show setText show append 序号 学号 姓名 班级 英语 n else if ss equals 数学 sql select ID name class Maths from ScoreInfo show setText show append 序号 学号 姓名 班级 数学 n ResultSet rs st executeQuery sql int i 0 while rs next i show append i rs getString 1 show append rs getString 2 show append rs getString 3 show append rs getInt 4 n catch Exception ee Modify 类类 import java awt import java awt event import javax swing import java sql public class Modify extends JFrame JTextField input1 input2 input3 input4 input5 input6 JLabel label1 label2 label3 label4 label5 JButton button static Statement st static try Class forName sun jdbc odbc JdbcOdbcDriver Connection con DriverManager getConnection jdbc odbc student st con createStatement catch Exception e ResultSet rs public Modify input1 new JTextField 15 input2 new JTextField 15 input3 new JTextField 15 input4 new JTextField 15 input5 new JTextField 15 input6 new JTextField 15 JPanel panel new JPanel panel setLayout new GridLayout 6 2 panel add new JLabel 学号 panel add input1 panel add new JLabel 姓名 panel add input2 panel add new JLabel 班级 panel add input3 panel add new JLabel 语文 panel add input4 panel add new JLabel 英语 panel add input5 panel add new JLabel 数学 panel add input6 button new JButton 修改 button addActionListener new mysql Container container getContentPane container add panel BorderLayout CENTER container add button BorderLayout SOUTH setTitle 修改数据窗口 setDefaultCloseOperation JFrame DISPOSE ON CLOSE setSize 300 150 Toolkit kit Toolkit getDefaultToolkit Dimension screenSize kit getScreenSize int screenWidth screenSize width 2 int screenHeight screenSize height 2 int height this getHeight int width this getWidth setLocation screenWidth width 2 screenHeight height 2 setVisible true class mysql implements ActionListener public void actionPerformed ActionEvent e try String number input1 getText trim String name input2 getText trim String clas input3 getText trim String temp input4 getText int chinese Integer parseInt temp temp input4 getText int english Integer parseInt temp temp input4 getText int maths Integer parseInt temp if number equals JOptionPane showMessageDialog Modify this 学号不能为空 提 示对话框 1 else try String sql update ScoreInfo set name name class clas Chinese chinese English english Maths maths where ID number st executeUpdate sql JOptionPane showMessageDialog Modify this 数据修改成功 提示 对话框 1 input1 setText input2 setText input3 setText input4 setText input5 setText input6 setText catch Exception ee JOptionPane showMessageDialog Modify this 请确认需要修改的 学号是否存在 提示对话框 1 System out println ee catch Exception eee System out println eee Delete 类类 import java awt import java awt event import javax swing import java sql public class Delete extends JFrame JButton search JTextField input JTextArea show Connection con Statem
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 南阳高考冲刺数学试卷
- 南阳一中数学试卷
- 2025浙江宁波广创旅游会展有限公司招聘1人笔试模拟试题及答案解析
- 2025内蒙古呼伦贝尔市陈巴尔虎旗招募就业见习人员考试备考试题及答案解析
- 2025年度湖南益阳市消防救援支队第三批招录政府专职消防队员106人考试备考试题及答案解析
- 七年级数学代数式的初步认识试卷及答案
- 宁波市初中月考数学试卷
- 清华少年班数学试卷
- 达州市2025年度国家综合性消防救援队伍消防员招录体格检查考试备考试题及答案解析
- 2025内蒙古师范大学管理助理和教学助理招聘63人笔试模拟试题及答案解析
- 人教部编八年级语文上册《浣溪沙(一曲新词酒一杯)》示范课教学课件
- 铁路防寒安全培训
- 工业机器人系统操作员(三级)认定理论考试复习题及答案
- 重庆市字水中学2024届九年级上学期期中考试数学试卷(含答案)
- 水闸现场安全检测分析报告
- 车辆定点维修服务保障方案
- 学生营养餐(中央厨房)集中配送项目计划书
- 连云港市新海初中2022-2023七年级新生入学素质测试英语试卷及答案
- 2024版买房定金合同范本
- 小猪佩奇英语版台词
- 开票税点自动计算器
评论
0/150
提交评论