




免费预览已结束,剩余19页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计(论文)任务书课程设计(论文)任务书 学 院数学学院专 业信息与计算科学 学生姓名王继禹学号 201401050335 课 程 设 计 题目 红河学院成绩查询红河学院成绩查询 内容及要求: 1. 根据学号查询学生成绩; 2. 可以按学年、学期查询。 评语 年 月 日 成绩: 指导教师(签字): 年 月 日 精选文库 2 指导、检查记录 日期功 能完成情况评分 精选文库 3 目目 录录 1题目要求.4 2系统设计.4 2.1功能模块设计 1 .4 2.1.1功能说明: .4 2.1.2必要知识点:.5 2.2功能模块设计 2 .5 2.2.1系统逻辑结构设计.5 2.2.2程序运行代码.5 3运行结果分析.21 4总结.23 参考文献.24 精选文库 4 1 题目要求题目要求 红河学院成绩查询 功能要求: 1. 根据学号查询学生成绩; 2. 可以按学年、学期查询。 2 系统设计系统设计 描述为完成题目要求的系统设计,设计可以是按功能,或步骤分解,分解之后的内 容要可检查,有相应的代码或文档说明这部分功能。 重点介绍自己负责部分的功能设计,设计可以包括功能模块图、必要的 UML 图, 2.1 功能模块设计功能模块设计 1 2.1.1 功能说明功能说明: 1.创建主类 MainFrame,下含 4 个类,对 4 个事件按钮添加监控,实现按钮事件为对 应类的对象,出现相应功能窗口。 2.创建添加类 Insert,题目虽只要求查询学生成绩,但我们不可能再代码中添加学生 成绩,故需创建添加按钮,对按钮添加监控,实现按钮事件为获取文本域中的信息。 3.创建查询类 QUERY,按照题目要求,分别创建学号,学年,学期三个查询按钮, 此外,为了便于查询,又创建姓名和课程两个查询按钮以及一个显示全部信息的按钮。 4.创建修改类 Modify,因存在添加类 Insert,为了防止添加学生成绩信息时出现错误, 故应当建立修改按钮,与添加数据类似,对按钮添加监控,实现按钮事件为获取文本域 精选文库 5 中的信息,不同的是以学号为主键进行查找并更新。 5.创建删除类 DELETE,同理,当学生成绩信息过多时进行删除,且使得窗口界面 整洁合理。与修改数据类似,对按钮添加监控,实现按钮事件为获取文本域中的学号信 息,不同的是以学号为主键进行查找并将删除信息输出到文本框中。 2.1.2 必要知识点:必要知识点: 1. 创建图形界面需运用到 GUI 语句,可参考课本 355 页的知识。 2. 创建图形界面以后需要创建相关按钮,每一个按钮对应一个相关功能类。 3. 为每一个按钮添加监听。 4. 大致完成以后,修改界面,使其整洁有序,并可以修改界面大小,按钮颜色。 5. 添加与修改两个类需要连接到 SQL2008 数据库,在数据库中进行信息的添加与删 除。 2.2 功能模块设计功能模块设计 2 2.2.1 系统逻辑结构设计系统逻辑结构设计 学生成绩信息表学生成绩信息表 字段名字段名 属性属性类型类型空值空值约束条件约束条件 学号Sno文本not null主键 姓名name文本从键 学年Year文本从简 学期Semester文本从简 语文Chinese长整数 英语English长整数 数学Maths长整数 2.2.2 程序运行代码程序运行代码 MainFrame 类: package dazuoye; 精选文库 6 import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.sql.*; 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.orange); insert.addActionListener(new insertActionPerformed(); query = new JButton(查询数据); query.addActionListener(new queryActionPerformed(); query.setBackground(Color.orange); modify = new JButton(修改数据); modify.setBackground(Color.orange); modify.addActionListener(new modifyActionPerformed(); delete = new JButton(删除数据); delete.setBackground(Color.orange); 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, 26); text1.setForeground(Color.blue); text2 = new JLabel( + ); text2.setFont(new Font(TimesRoman, Font.ROMAN_BASELINE, 14); panel1 = new JPanel(); panel1.add(insert); 精选文库 7 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 精选文库 8 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 类: package dazuoye; 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,input7; 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); 精选文库 9 input3 = new JTextField(15); input4 = new JTextField(15); input5 = new JTextField(15); input6 = new JTextField(15); input7 = new JTextField(15); JPanel panel = new JPanel(); panel.setLayout(new GridLayout(7,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(语文), BorderLayout.CENTER); panel.add(input5); panel.add(new JLabel(英语), BorderLayout.CENTER); panel.add(input6); panel.add(new JLabel(数学), BorderLayout.CENTER); panel.add(input7); 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,300); 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 sno = input1.getText().trim(); String name = input2.getText().trim(); 精选文库 10 String year = input3.getText().trim(); String semester = input4.getText().trim(); String chinese = input5.getText().trim(); String english = input6.getText().trim(); String maths = input7.getText().trim(); if (sno.equals() | name.equals() | year.equals() | semester.equals()| chinese.equals()| english.equals()| maths.equals() JOptionPane.showMessageDialog(Insert.this, 请重新输入, 提示对话 框, 1); else String sql = insert into ScoreInfo(ID,name,year,semester,Chinese,English,Maths) values( + sno + , + name + , + year + , +semester+ ,+ chinese + , + english + , + maths + ); st.executeUpdate(sql); JOptionPane.showMessageDialog(Insert.this, 数据添加成功, 提示对 话框, 1); input1.setText(); input2.setText(); input3.setText(); input4.setText(); input5.setText(); input6.setText(); input7.setText(); catch (Exception ee) QUERY 类: package dazuoye; import java.awt.*; import javax.swing.event.*; import java.awt.event.*; import javax.swing.*; import java.sql.*; public class Query extends JFrame 精选文库 11 JTextArea show; JButton button1, button2, button3, button4, button5,button6; JTextField field1, field2, field3,field4; 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(6, 15); 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); 精选文库 12 panel.add(field3); panel.setVisible(true); mainpanel.add(panel); button5 = new JButton(按学期查询); button5.addActionListener(new Mysql4(); panel.add(button5); field4 = new JTextField(6); panel.add(field4); panel.setVisible(true); mainpanel.add(panel); String items = 请选择, 语文, 英语, 数学 ; comoBox = new JComboBox(items); button6 = new JButton(按课程名称查询); button6.addActionListener(new Mysql5(); panel.add(button6); 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(1000, 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 精选文库 13 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) + ); show.append(rs.getInt(8) + 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) + ); show.append(rs.getInt(8) + n); 精选文库 14 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) + ); show.append(rs.getInt(8) + 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( 序号 学号 姓名 学年 学期 语文 英语 数学 精选文库 15 + 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) + ); show.append(rs.getInt(8) + n); catch (Exception ee) class Mysql5 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) + ); show.append(rs.getInt(8) + n); catch (Exception ee) class Mysql6 implements ActionListener 精选文库 16 public void actionPerformed(ActionEvent e) try String sql = ; String ss = comoBox.getSelectedItem().toString(); if (ss.equals(语文) sql = select ID,name,year,semester,Chinese from ScoreInfo ; show.setText(); show.append( 序号 学号 姓名 学年 学期 语文 + n); else if (ss.equals(英语) sql = select ID,name,year,semester,English from ScoreInfo ; show.setText(); show.append( 序号 学号 姓名 学年 学期 英语 + n); else if (ss.equals(数学) sql = select ID,name,year,semester,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 类: 精选文库 17 package dazuoye; 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,input7; 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); input7 = new JTextField(15); JPanel panel = new JPanel(); panel.setLayout(new GridLayout(7, 3); 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); 精选文库 18 panel.add(new JLabel(英语); panel.add(input6); panel.add(new JLabel(数学); panel.add(input7); 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(400, 300); 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 sno = input1.getText().trim(); String name = input2.getText().trim(); String year = input3.getText().trim(); String semester = input4.getText().trim(); String chinese = input5.getText().trim(); String english = input6.getText().trim(); String maths = input7.getText().trim(); if (sno.equals() | name.equals() | year.equals() | semester.equals()| chinese.equals()| english.equals()| maths.equals() JOptionPane.showMessageDialog(Modify.this, 修改有错误!, 提示对 话框, 1); else try String sql = update ScoreInfo set name= + name + ,year= + year + ,semester= + semester + ,Chinese= + chinese + ,English= + english + ,Maths= + maths + where ID= + sno + ; st.executeUpdate(sql
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 药理学全套题库及答案
- 2025年上海市浦东模范中学中考数学一模试卷(含答案)
- 抗灾减灾课件
- 2025届广东省佛山市禅城区高三下学期“供题训练”物理试题(含答案)
- 2024-2025学年河南省洛阳市伊滨区科普版(2012)六年级下册期中考试英语试卷(含答案)
- 2025年超二代微通道板合作协议书
- 历年五一建模题目及答案
- 怀化化学题目及答案
- 抗击疫情安全培训课件
- 2025年阻燃ABS热塑性弹性体合作协议书
- 部编版语文二年级上册8古诗二首 登鹳雀楼 公开课一等奖创新教学设计
- SH3503石油化工工序资料表格
- 人居环境科学讲义
- 皮肤科常见疾病瘙痒症护理的课件
- 2023年湖北黄石新港(物流)工业园区总工会协理员招考聘用笔试历年难易错点考题荟萃附带答案详解
- 电力电子技术(第3版)PPT全套完整教学课件
- 药剂学第八版-第一章-绪论课件
- 招投标结果申诉函
- 合同起草审查指南:三观四步法
- 蒙山旅游景区基础设施建设项目可行性研究报告
- 档案制作合同模版
评论
0/150
提交评论