收藏 分销(赏)

一个简单的学生成绩管理信息系统(Java).docx

上传人:a199****6536 文档编号:4062376 上传时间:2024-07-26 格式:DOCX 页数:18 大小:30.05KB
下载 相关 举报
一个简单的学生成绩管理信息系统(Java).docx_第1页
第1页 / 共18页
一个简单的学生成绩管理信息系统(Java).docx_第2页
第2页 / 共18页
一个简单的学生成绩管理信息系统(Java).docx_第3页
第3页 / 共18页
一个简单的学生成绩管理信息系统(Java).docx_第4页
第4页 / 共18页
一个简单的学生成绩管理信息系统(Java).docx_第5页
第5页 / 共18页
点击查看更多>>
资源描述

1、Java语言程序设计B报 告班级: 学号: 姓名: 成绩: 年 月一个简单的学生成绩管理信息系统题目:数据库要求:1。 建立的数据库中包含如下信息:学生学号、姓名、班级,语文、数学、英语成绩。2. 至少要有5个班级,每个班级要有10名以上学生。3. 使用。txt格式文本表示各种表。功能需求:1。 能够实现根据以下关键字查询:学生姓名 、学号、班级、课程名称。2. 能够实现按照单科成绩、总成绩、平均成绩、学号排序。3。 能够实现学生信息的插入、删除和修改。4。 能够查询每个课程的最高分、最低分及相应学生姓名、班级和学号.5。 能够查询每个班级某门课程的优秀率(90分及以上)、不及格率,并进行排序

2、。界面要求: 使用图形界面实现,要符合日常软件使用规范来设计菜单和界面。一、需求分析 1、界面 符合日常软件使用规范,使用方便,外形简洁美观。 2、功能需求 存储学生学号、姓名、班级,语文、数学、英语成绩等信息,实现数据库的读取与存入,数据项的记录与修改,删除等。二、设计思想 1、类设计 将添加数据、查询数据、删除数据、修改数据四个功能分别为四个类来实现,为了便于测试,每一个类都继承了主窗口类JFRAME,使得窗口可以独自运行。l INSERT类设计 功能组件 6个文本域、6个标签、1个按钮 功能实现 添加数据 实现过程 对按钮添加监控,实现按钮事件为获取文本域中的信息,并执行SQL的INSE

3、RT语句。l QUERY类设计 功能组件 5个按钮、三个单行文本组件、1个下拉框、1个多行文本 功能实现 按学号查询、按姓名查询、按班级查询、按课程查询、显示全部 实现过程 对按钮添加监控,共有五个监控事件,前三个实现按钮事件为先获取文本域中的信息,根据对应查询的要求执行相应的SQL的SELLECT语句;按课程查询通过在下来框中选择对应的选项,即查询相应的课程;第五个查询按钮将全部信息在多行文本框中输出。l MODIFY类设计 功能组件 6个单行文本、6个标签、1个按钮 功能实现 修改数据 实现过程 与添加数据类似,对按钮添加监控,实现按钮事件为获取文本域中的信息,并执行SQL的UPDATE语

4、句;不同的是以学号为主键进行查找并更新.l DELETE类设计 功能组件 1个单行文本、1个标签、1个按钮、1个多行文本 功能实现 删除数据 实现过程 与修改数据类似,对按钮添加监控,实现按钮事件为获取文本域中的学号信息,并执行SQL的DELETE语句;不同的是以学号为主键进行查找并将删除信息输出到文本框中.2、数据库设计l 系统概念结构设计语文 学号姓名数学成绩查询系统班级英语l 系统逻辑结构设计学生成绩信息表字段名 属性类型空值约束条件学号ID文本not null主键姓名name文本从键班级class文本从简语文Chinese长整数英语English长整数数学Maths长整数l 数据库截图

5、3、主界面设计MAINFRAME类设计 功能组件 4个按钮、1个背景、2个标签文本、2个面板 功能实现 查询数据、添加数据、删除数据、修改数据 实现过程 对按钮添加监控,共有4个监控事件,实现按钮事件为创建对应功能的类对象,出现相应的功能窗口。三、运行截图 主界面 添加数据 查询数据l 按学号查询l 按姓名查询l 按班级查询l 按课程名称查询l 显示所有信息 修改数据 删除数据四、实验感想 通过此次课程设计我学会了很多知识,将Java课上遗漏的知识又进一步补上。实践过程中遇到了很多困难,比如没学过数据库,SQL语句不熟,对eclipse的使用很生疏等,因此花费了很多时间在前期准备工作上。即使如

6、此,也有一些功能尚未实现,例如查询优秀率、最高分和最低分等,虽然比较简单,但由于时间问题还是没来得及做.由于本次试验的很多知识都是现学现用,以致很多地方的代码显得累赘繁琐。但总体上主要功能是实现了的,并且美化了一下主界面。 总之,此次课程设计让我获益匪浅,我将会继续把它完善做好。五、源代码清单 MainFrame类import javax。swing.;import java。awt。;import java。awt。event。*;public class MainFrame extends JFrameJButton insert,query,delete,modify;JPanel pa

7、nel,panel1,panel2;public MainFrame()/ TODO Auto-generated method stubImageIcon 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())

8、; 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

9、.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,

10、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(fals

11、e); 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(Integ

12、er。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)。setOpa

13、que(false); frame。setLocation(screenWidth-width/2, screenHeightheight/2); frame。setVisible(true); public class insertActionPerformed implements ActionListener public void actionPerformed(ActionEvent e) new Insert()。setVisible(true); public class modifyActionPerformed implements ActionListener public

14、 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(ActionEven

15、t 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,la

16、bel5;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

17、 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(n

18、ew 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=getConte

19、ntPane();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/

20、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 ActionListenerpublic void actionPerformed(ActionEvent e)tryString number=input1。getText().trim();Stri

21、ng 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。eq

22、uals(”))JOptionPane。showMessageDialog(Insert。this,请重新输入”,”提示对话框”,1);elseString 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); inpu

23、t1。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 JFrameJTextArea show;JButton but

24、ton1,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 JT

25、extArea(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

26、);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。ad

27、dActionListener(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(com

28、oBox);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);setS

29、ize(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, screenHeightheight/2);setVis

30、ible(true);class Mysql1 implements ActionListenerpublic void actionPerformed(ActionEvent e)tryString 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。ap

31、pend(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 ActionListenerpublic void actionPerformed(ActionEvent e)tryString ss=field1.getText()。trim();String sql=”select

32、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。app

33、end(rs。getInt(6)+” ”);show。append(rs。getInt(7)+n”);catch(Exception ee)class Mysql3 implements ActionListenerpublic void actionPerformed(ActionEvent e)tryString ss=field2.getText().trim();String sql=select from ScoreInfo where name=”+ss+”;ResultSet rs=st。executeQuery(sql);show。setText();show。append(”

34、序号 学号 姓名 班级 语文 英语 数学+”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 Ac

35、tionListenerpublic void actionPerformed(ActionEvent e)tryString 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。getStri

36、ng(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 ActionListenerpublic void actionPerformed(ActionEvent e)tryString sql=”;String ss=comoBox。getS

37、electedItem()。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(序号 学号 姓名 班级

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服