《SQL数据库实训》学生成绩管理信息系统设计报告-郭江涵_第1页
《SQL数据库实训》学生成绩管理信息系统设计报告-郭江涵_第2页
《SQL数据库实训》学生成绩管理信息系统设计报告-郭江涵_第3页
《SQL数据库实训》学生成绩管理信息系统设计报告-郭江涵_第4页
《SQL数据库实训》学生成绩管理信息系统设计报告-郭江涵_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上 山东理工大学课程实训报告数据库实训题目:学生成绩管理信息系统学 院: 计算机科学与技术学院 班 级: 软件1304 姓 名: 郭江涵 学号 XX 指导教师: XX 总评成绩指导教师签名2016年 01 月 04日 2016年 01 月10日专心-专注-专业实训成绩评定表1.设计报告部分 (30分) 封面设计符合要求(3分); 报告格式符合要求(7分); 功能叙述完备,错别字少,章节段落分布合理,无抄袭或雷同现象(10分); 排版质量高,图片处理且效果好(10分)。2. 设计内容部分得分点及分数数据流图、E-R图和数据库关系图数据流图15E-R图15数据库关系图20合

2、计50得分点及分数程序设计说明书简要程序设计流程图代码20合计203.成绩评定综合评语 指导教师签名: 年 月 日目 录9第一章 概述课程设计是实践性教学中的一个重要环节,它以某一课程为基础,可以涉及和课程相关的各个方面,是一门独立于课程之外的特殊课程。课程设计是让同学们对所学的课程更全面的学习和应用,理解和掌握课程的相关知识。随着信息时代的发展,对于学生信息的管理已经不再局限于纸上的那些繁琐的记录,而是通过电脑软件程序对学生的信息进行管理,这样不但可以简化管理的复杂度,还可以提高管理过程中的准确性,因此有必要设计一款专门针对于学生信息管理的一个程序,于是设计了此学生信息管理系统。该应用程序能

3、够对每个学生的相关信息进行注册、储存、修改和删除等操作。该系统要求按身份登陆,即学生、教师、管理员等不同身份进行访问。该程序便于操作,面向广大群体,条理清晰,容易理解,容易修改。学生信息管理系统,从字面来看主要是对学生信息的资料进行管理,但实际上,核心却是系统与管理人员的交互,如何能把如此多的信息登记尽可能的进行操作上的精简是我们的一大难题。与其进行繁琐的操作,让操作标的简洁才是我们工作的重点.程序上是分为JAVA窗体程序和数据库两大部分,主要进行数据库的调用,设计需要满足以下的需求:1.学生的信息的资料,应该包括学生的学号、姓名、所属学院、所属专业、所属班级、家庭地址,并且系统还能够修改输入

4、错误的学生个人信息记录。2.可以对学生的选课进行管理,包括可选课程和个人已选课信息,并进行相应的选课操作。3. 可以对课程进行管理,课程管理包括增加课程和删除课程,该课程包括任课教师和所属专业。4. 根据学号、姓名、班级查询学生信息。根据课程、专业、学分查询课程的相关信息。5.系统使用权限管理方式。根据工作流程,系统有2种角色:管理员、学生和教师。管理员允许对课程信息、教师信息、学生信息的管理。学生可以进行选课和查看课程信息的操作。教师可以查看本人所售课程的学生信息。第二章 系统分析1.系统需求:1. 使用友好的全屏幕用户界面,菜单驱动,多窗口。2. 数据维护功能,通过窗体实现录入、添加和修改

5、所有表的内容。3. 查询统计功能,设置多种查询方式,实现对学生的基本信息、考试成绩情况等 进行查询。4. 系统维护功能,适当的加入系统密码管理、数据备份等帮助功能。2.输入的形式和输入值的范围形式:输入学生的学号,姓名,年龄,性别,出生年月,地址,电话,E-mail。输入一个学生信息一个回车。用输入的学号p1-num来控制输入,当输入的学号为0时,用break跳出循环。即if(p1-num=0)break。输入值的范围:学号、年龄为整型 long num; int age; 姓名为字符串型15个字节char name15; 性别为字符串型,10个字节char sex10; 出生为字符串型,20

6、个字节char chushen20; 地址为字符串型,30个字节char dizhi30;邮箱为字符串型,输入11位数字char email11。3.输出的形式输出是以表格的形式输出,即表格的每一行都能显示第一个学生的信息,第二行是显示第二个学生的信息4.课题实现:首先建立数据库,然后创建数据表,设置主键以及各种约束,学生属性主要包括姓名,学号,性别,年龄,学院,联系电话,家庭住址。其中学号为主键,车号设立唯一性约束,将数据库拥有者更改为sa,密码设置为123。该应用程序包含了管理员模块(包含学生管理子模块和课程管理子模块)、教师模块、学生模块和公共模块。管理员模块是系统的核心,学生管理子系统

7、实现对学生信息的添加、修改、删除操作,以输入条件进行条件查询。课程管理子系统实现对课程的添加,添加时为其分配任课教师、上课时间、地点和课程详细信息,实现对课程的修改、删除,查看某个课程的详细信息等。教师模块实现查看自己所教授的课程、课程有哪些学生选修,以及利用本系统提交学生的成绩。学生模块实现学生的选课,查看、修改自己的选课信息。公有模块实现用户的身份验证,密码修改,退出系统等功能。在学生管理子系统包括学生信息和选课信息,要求对学生信息和选课信息的添加、删除、修改和查询,该模块中当学生修改信息时,对相关的组件添加了事件,相应的JComboBox添加了ItemStateChange的相关事件,对

8、其进行了三级联动设计,利用形式参数进行传递一个int型的值,当点击相应的JComboBox时启动下一个相关的组件应用。在课程查询时应用相应的JScorllPane组件显示所查询的相关信息。整个学生管理系统的数据都是在数据库有存储信息的,因此在应用程序中要应用相应的SQL server语句来对数据库添加、删除、修改相应信息。SQL server语句主要有update、insert、select语句。运用Frm窗体编辑窗口程序,建立Frm窗体,插入标签以及按钮,设置按钮触发功能,然后运用DriverManager.registerDriver(new SQLServerDriver();con =

9、 DriverManager.getConnection(strConn, sa, 123);语句链接数据库内容。LoginFrame界面主要为JTextField,利用JTextField的getText属性获取文本框里输入的相应的内容,然后应用SQL server的select的语句来查询并验证密码是否与数据库一致,如若不一致则弹出一个MessageBox的信息提示框提示输入正确的密码。在验证密码是应用了equals关键字,equals主要应用于字符的比较,而等号(=)主要应用于数据的比较。MainFrame界面主要JMenu和JMenuItem组件,完成了主界面的菜单栏,并分别对每个JM

10、enuItem添加了一个事件监听器,使点击时显示每个相应的Item界面,以便于对信息的操作。学生信息管理主要包括学生信息和选课信息,完成了相应的信息注册、修改、查询和选课查询操作。学生信息注册包含姓名、学号、省份证号、所属学院及专业和班级、家庭住址等信息。数据库的Student表也添加了相应的列。在学生信息注册和修改页面还应用了JComboBox的三级联动,使用参数传递,获取相应的JComboBox的getSelectedIndex来控制显示的内容。班级信息录入和班级信息管理对各个班级的信息进行管理的界面,主要有JComboBox的二级联动和JRadioButton组件的应用。班级信息管理界面

11、中声明了displayButtonGroup用于控制三个JRadioButton组件。用不同的方式查询班级信息,当点击修改时弹出一个修改的JFrame界面。第三章 数据库设计1.数据库设计1).学生学籍表 如图3.1.1字段名称标识名称数据类型空否字段说明userid学号Varcha(16)否主键 uername姓名Varcha(16)可空sex性别Char(4)可空birthday出生日期Datetime可空class班级Char(20)可空图3.1.12).课程信息表如图3.1.2字段名称标识名称数据类型空否字段说明course课程号Char(16)否主键coursenanme课程名称Ch

12、ar(16)可空coursetime课时Char(16)可空fen学分Char(10)可空type类型Char(10)可空year年度nChar(10)可空图3.1.23).学生成绩表字段名称标识名称数据类型空否字段说明Name学生姓名Char(16)可空Class班级Char(16)可空Id学号Char(16)否主键usually平时成绩Int (5)可空finally期末成绩Int (5)可空图3.1.3学生成绩表2.数据库关系图1).数据流图 如图3.2.1图3.2.12).数据E-R图 如图3.2.2图3.2.23).数据库关系图 如图3.2.3图3.2.3第四章 系统实现 1、打开系

13、统会提示选择操作事项。如图4.1图4.1主界面 2、选择查询操作后可查询学生和课程以及成绩信息。如图4.2由以下代码实现:public class selectAll extends javax.swing.JFrame datatOper dt; /* Creates new form selectAll */ public selectAll() initComponents(); dt=new datatOper(); dm=new DefaultTableModel(); dm.addColumn(课程信息); dm.addColumn(成绩信息); dm.addColumn(学生信息

14、) table.setModel(dm); 图4.2查询信息界面3、选择系统维护,可进入数据备份界面,如图4.3由以下代码实现:private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) int result = 0;File file = null;String path = null;JFileChooser fileChooser = new JFileChooser();FileSystemView fsv = FileSystemView.getFileSystemView(); System.out.pr

15、intln(fsv.getHomeDirectory(); /得到桌面路径fileChooser.setCurrentDirectory(fsv.getHomeDirectory();fileChooser.setDialogTitle(请选择要进行备份的文件夹.);fileChooser.setApproveButtonText(确定);fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY); Component chatFrame = null;result = fileChooser.showOpenDialog(chatFra

16、me);if (JFileChooser.APPROVE_OPTION = result) path=fileChooser.getSelectedFile().getPath();System.out.println(path: +path); Connection conn = Connect.getConnection(); try Statement statement = conn.createStatement(); statement.executeUpdate(USE master); String sql=backup database BankServer to disk=

17、+path+ with format,init; statement.executeUpdate(sql); JOptionPane.showMessageDialog(this, 数据库备份成功, 系统提示, JOptionPane.NO_OPTION); catch(SQLException e) System.out.println(数据库备份失败); e.printStackTrace(); 图4.3系统信息4、 选择课程查询可查询课程信息。如图4.4由以下代码实现:private void jButton1ActionPerformed(java.awt.event.ActionEv

18、ent evt) try String str=select * from course; ResultSet res=dt.selectInfo(str); dm=new DefaultTableModel(); dm.addColumn(课程编号); dm.addColumn(课程名称); dm.addColumn(课程类型); dm.addColumn(学时); dm.addColumn(学分); table.setModel(dm); while(res.next() Vector v=new Vector(); ResultSetMetaData da=res.getMetaData

19、(); for(int i=1;ida.getColumnCount()+1;i+) v.add(res.getString(i); dm.addRow(v); / TODO add your handling code here: catch (SQLException ex) Logger.getLogger(selectAll.class.getName().log(Level.SEVERE, null, ex); 图4.4课程查询信息 5、选择成绩查询,可进入成绩查询界面。如图4.5有以下代码实现private void jButton2ActionPerformed(java.awt

20、.event.ActionEvent evt) try String str=select * from score; ResultSet res=dt.selectInfo(str); dm=new DefaultTableModel(); dm.addColumn(成绩编号); dm.addColumn(课程编号); dm.addColumn(期末成绩); dm.addColumn(补考成绩); dm.addColumn(是否重修); table.setModel(dm); while(res.next() Vector v=new Vector(); ResultSetMetaData

21、da=res.getMetaData(); for(int i=1;ida.getColumnCount()+1;i+) v.add(res.getString(i); dm.addRow(v); / TODO add your handling code here: catch (SQLException ex) Logger.getLogger(selectAll.class.getName().log(Level.SEVERE, null, ex); 图4.5 成绩查询界面6、选择学生信息查询可进入学生查询界面。如图4.6有以下代码实现private void jButton3Actio

22、nPerformed(java.awt.event.ActionEvent evt) try String str=select * from students; ResultSet res=dt.selectInfo(str); dm=new DefaultTableModel(); dm.addColumn(学生编号); dm.addColumn(学生姓名); dm.addColumn(性别); dm.addColumn(出生日期); dm.addColumn(所属班级); dm.addColumn(所属学院); dm.addColumn(联系电话); dm.addColumn(所在地址)

23、; table.setModel(dm); while(res.next() Vector v=new Vector(); ResultSetMetaData da=res.getMetaData(); for(int i=1;ida.getColumnCount()+1;i+) v.add(res.getString(i); dm.addRow(v); / TODO add your handling code here: catch (SQLException ex) Logger.getLogger(selectAll.class.getName().log(Level.SEVERE,

24、null, ex); 图4.6学生信息查询界面7、在主界面中选择学生信息录入,可进入录入学生信息界面。如图4.7由以下代码实现:private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) boolean flagB; try / TODO add your handling code here: String sql=insert into students values(+this.jtxt1.getText()+,+this.jtxt2.getText()+,+this.jtxt3.getText()+,+thi

25、s.jtxt4.getText()+,+this.jtxt5.getText()+,+this.jtxt6.getText()+,+this.jtxt7.getText()+,+this.jtxt8.getText()+); datatOper Oper=new datatOper(); flagB=Oper.addInfo(sql); if(flagB=true) JOptionPane.showMessageDialog(this, 学生信息录入成功, 系统信息, JOptionPane.NO_OPTION); else JOptionPane.showMessageDialog(this

26、, 系统信息录入失败, 系统信息, JOptionPane.ERROR_MESSAGE); catch (SQLException ex) Logger.getLogger(addStuInfo.class.getName().log(Level.SEVERE, null, ex); 图4.7 录入学生信息界面8、在主界面中选择学生信息修改或删除,都可进入修改或删除学生信息界面。如图4.8由以下代码实现: private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) / TODO add your handling c

27、ode here: boolean flag; String sql=update students set RealName=+this.jtxt2.getText()+,Sex=+jtxt3.getText()+,Brithday=+jtxt4.getText()+,Class=+jtxt5.getText()+,School=+jtxt6.getText()+,Tell=+jtxt7.getText()+,addres=+jtxt8.getText()+ where StuId=+Stuid+; datatOper Oper=new datatOper(); try flag=Oper.

28、DelUpInfo(sql); if(flag=true) JOptionPane.showMessageDialog(this, 更新成功!, 系统信息, JOptionPane.NO_OPTION); else JOptionPane.showMessageDialog(this, 更新失败!, 系统信息, JOptionPane.ERROR_MESSAGE); catch(SQLException e) e.printStackTrace(); 图4.8 修改或删除学生信息界面9、在主界面中选择课程信息录入,可进入录入课程信息界面。如图4.9图4.9录入课程信息界面10、在主界面中选择课

29、程信息修改或删除,都可进入修改删除课程信息信息界面。如图4.10图4.10 修改删除课程信息界面11、在主界面中选择学生成绩录入,可进入录入学生成绩界面。如图4.11图4.11 录入学生成绩界面12、在主界面中选择成绩信息修改或删除,都可进入修改删除成绩信息信息界面。如图4.12图4.12 修改删除成绩信息界面13、在主界面中选择退出,进入退出系统界面。如图4.13由以下代码实现:rivate void jMenu7MouseClicked(java.awt.event.MouseEvent evt) / TODO add your handling code here: int i=JOptionPane.showConfirmDialog(this, 是否退出?,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论