欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PDF文档下载  

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

    • 资源ID:5469459       资源大小:552.34KB        全文页数:23页
    • 资源格式: PDF        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    Java语言程序设计 B报 告 班级: 192091-27 学号: 20091003757 姓名:罗斌 成绩: 2012年 1 月 一个简单的学生成绩管理信息系统 题目: 数据库要求: 1. 建立的数据库中包含如下信息:学生学号、姓名、班级,语文、数学、英语 成绩。 2. 至少要有 5个班级,每个班级要有10 名以上学生。 3. 使用.txt 格式文本表示各种表。 功能需求: 1. 能够实现根据以下关键字查询:学生姓名、学号、班级、课程名称。 2. 能够实现按照单科成绩、总成绩、平均成绩、学号排序。 3. 能够实现学生信息的插入、删除和修改。 4. 能够查询每个课程的最高分、最低分及相应学生姓名、班级和学号。 5. 能够查询每个班级某门课程的优秀率(90分及以上)、 不及格率,并进行排序。 界面要求: 使用图形界面实现,要符合日常软件使用规范来设计菜单和界面。 一、需求分析 1 、界面 符合日常软件使用规范,使用方便,外形简洁美观。 2 、功能需求 存储学生学号、姓名、班级,语文、数学、英语成绩等信息,实现数据库 的读取与存入,数据项的记录与修改,删除等。 二、设计思想 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、数据库设计 系统概念结构设计 系统逻辑结构设计 学生成绩信息表 字段名属性类型空值约束条件 学号ID 文本not null 主键 姓名name 文本从键 班级class 文本从简 语文Chinese 长整数 英语English 长整数 数学Maths 长整数 数据库截图 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 staticvoid 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“ ); elseif(ss.equals(“英语 “) sql=“select ID,name,class,English from ScoreInfo “ ; show.setText(“ ); show.append(“序号学号 姓名班级英语“+“n“ ); elseif(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.*; publ

    注意事项

    本文(一个简单的学生成绩管理信息系统(Java).pdf)为本站会员(白大夫)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开