版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 华北水利水电大学 North China Institute of Water Conservancy and Hydroelectric Power .NET结课实验报告题目 学生成绩管理系统 院 系 信息工程学院 专 业 计算机科学与技术 姓 名 学 号 指 导 教 师 2015年5月2日1、 实验题目 学生成绩管理系统2、 实验目的通过编写一个学生成绩管理系统,来掌握一门高级程序设计语言,并通过实验来对知识进行整合。三、实验环境 一台性能较好的windows系统计算机 数据库:MYSQL高级语言:JAVA语言4、 功能分析 学生成绩管理系统具体有成绩查询、插入、删除、修改、显示,这就要
2、求数据库结构能充分满足各种信息的输入与输出,实现有组织地、动态地存储大量关联数据,方便用户访问系统中的数据,它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。采用图形用户界面实现;使用JDBC连接数据库。从模块上分析,该系统可以分为两个大模块:1、图形用户界面;2、建表及其数据库的连接。(1)登陆权限:管理员、教师、学生三种登录模式。(2)系统管理:管理员帐号添加、修改、删除、密码修改等。(3)成绩管理:实现学 生成绩的添加、删除、修改、查询等功能。(4)学生信息管理:实现学生信息的添加、删除、修改、查询等功能。(5)学生信息检索:提供多种检索方式。五、表格设计 1、管
3、理员信息表 2、学生课程表3、 教师信息表 4、 教师任课表 5、 课程表六、功能模块及函数设计 (1) public static void log_in(String name, String pwd): 用户登录验证。通过传入用户输入的用户名和密码与数据库中的users表中的用户名和密码一一对照。如果用户名和密码在users表中,则登录成功。否则登录失败。并且失败次数不得超过三次。超过三次会自动退出系统。同时,如果用户名是Administrator,将标志位flag 设为true。用于后面登录界面的用户的区别。 (2)public static void student_watch():
4、查看当前学生信息。直接连接数据库。将数据库中的student表里面的内容全部输出到界面上。 (3) public static void change_secret():修改密码。用户和管理员均可使用。中间有重复输入新密码并校对两次输入的密码是否相同。 (4) public static void admin_watch_users():查看当前用户信息,管理员特权。直接连接数据库将数据库中的users表里面的内容全部输出到界面上。 (5) public static void admin_create_user():创建新用户,管理员特权。如果有新的用户要求创建用户名,管理员则可以通过此方法
5、创建用户需要的账号。 (6) public static void admin_delete_user():删除不用的用户名和密码,管理员特权。 (7) public static void admin_student_insert():插入学生信息,管理员特权。在系统之初,需要向数据库中添加许多学生信息。管理员可以通过此方法完成相应的功能。 (8) public static void admin_change():修改学生信息,管理员特权。可以对特定学生的各样属性进行修改。 (9) public static void admin_student_delete()throws Except
6、ion:删除学生信息,管理员特权。对无用的学生信息进删除。 (10) public static void class_watch()throws Exception:查看班级信息,公用功能。通过连接数据库,将数据库中class表输出到界面。 (11) public static void admin_class_change():修改班级,管理员特权。可以对班级特定的属性进行修改。 (12) public static void student_search():查找学生,公用功能方法。可以通过学生的各个属性查找特定的学生。然后输出该学生的信息。 (13) public static voi
7、d main(String args):主方法,整个程序的入口。完成不同方法的正常调用。七、相关代码及运行模块 1、登陆选项(三种登陆模式)教师登陆添加学生信息修改学生信息/登录private void btnLoginMouseClicked(java.awt.event.MouseEvent evt) String type = cboType.getSelectedItem().toString();if (type.equals(管理员) String name = txtName.getText();String pwd = txtPwd.getText();int id = Adm
8、inDao.getInstances().login(name, pwd);if (id 0) Helper.admin = AdminDao.getInstances().findOne(id);AdminIndex ai = new AdminIndex();this.setVisible(false);ai.setLocationRelativeTo(null);ai.setVisible(true); else jop.showMessageDialog(this, 帐号或密码有误!); else if (type.equals(教师/班主任) String name = txtNam
9、e.getText();String pwd = txtPwd.getText();int id = TeacherDao.getInstances().login(name, pwd);if(id 0)Helper.teacher = TeacherDao.getInstances().findOne(id);TeaIndex ti=new TeaIndex();this.setVisible(false);ti.setLocationRelativeTo(null);ti.setVisible(true);elsejop.showMessageDialog(this, 帐号或密码有误!);
10、elseString no=txtName.getText();int id=StudentDao.getInstances().login(no);if(id 0)Helper.student = StudentDao.getInstances().findOne(id);StuIndex si=new StuIndex();this.setVisible(false);si.setLocationRelativeTo(null);si.setVisible(true);elsejop.showMessageDialog(this, 该学号不存在!);/选项改变时private void c
11、boTypeItemStateChanged(java.awt.event.ItemEvent evt) if (cboType.getSelectedItem().toString().equals(学生) txtPwd.setEnabled(false);jLabel2.setText(学号:); else txtPwd.setEnabled(true);jLabel2.setText(帐号:);2、登陆后,修改信息修改课程信息/刷新教师列表private void btnReloadTeaMouseClicked(java.awt.event.MouseEvent evt) loadTa
12、bTea(TeacherDao.getInstances().findAll();/删除课程private void btnDelCouActionPerformed(java.awt.event.ActionEvent evt) int flag = jop.showConfirmDialog(this,您确定删除该门课的信息吗?如果删除,该课程相关联的信息也会删除!);if (flag = JOptionPane.OK_OPTION) int x = tabCourse.getSelectedRow();int id = Integer.valueOf(tabCourse.getValue
13、At(x, 0).toString();CourseDao.getInstances().del(id);/修改课程private void btnUpdCouActionPerformed(java.awt.event.ActionEvent evt) int id = Integer.valueOf(tabCourse.getValueAt(tabCourse.getSelectedRow(), 0).toString();Helper.course = CourseDao.getInstances().findOne(id);UpdCourse uc = new UpdCourse(th
14、is, true);uc.setLocationRelativeTo(null);uc.setVisible(true);/右键菜单,点击表格private void tabCourseMouseClicked(java.awt.event.MouseEvent evt) if (evt.getButton() = MouseEvent.BUTTON3& tabCourse.getSelectedRow() = 0) pmCourse.show(tabCourse, evt.getX(), evt.getY();3、 检索课程及添加专业、课程和成绩检索课程检索教师检索学生检索专业添加课程添加成
15、绩/检索课程private void btnSerCouMouseClicked(java.awt.event.MouseEvent evt) String tectype = cboSerCouByTec.getSelectedItem().toString();String term = cboSerCouByTerm.getSelectedItem().toString();int byTecId = -1;String byTerm = ;if (tectype.equals(全部专业) byTecId = -1; else byTecId = TectypeDao.getInstan
16、ces().findOneByName(tectype);if (term.equals(全部学期) byTerm = null; else byTerm = term;loadTabCourse(CourseDao.getInstances().findAllBy(byTecId, byTerm);/刷新课程数据private void btnReloadCourseMouseClicked(java.awt.event.MouseEvent evt) loadTabCourse(CourseDao.getInstances().findAll();loadSearchData();/添加课
17、程private void btnAddCourseActionPerformed(java.awt.event.ActionEvent evt) AddCourse ac = new AddCourse(this, true);ac.setLocationRelativeTo(null);ac.setVisible(true);/添加专业private void btnAddTectypeActionPerformed(java.awt.event.ActionEvent evt) AddTectype at = new AddTectype(this, true);at.setLocati
18、onRelativeTo(null);at.setVisible(true);/学生列表右键添加成绩private void btnPmAddGraActionPerformed(java.awt.event.ActionEvent evt) int id = Integer.valueOf(tabStu.getValueAt(tabStu.getSelectedRow(), 0).toString();Helper.student=StudentDao.getInstances().findOne(id);AddGrade ag = new AddGrade(this, true);ag.s
19、etLocationRelativeTo(null);ag.setVisible(true);/学生列表右键private void tabStuMouseClicked(java.awt.event.MouseEvent evt) if (evt.getButton() = MouseEvent.BUTTON3& tabStu.getSelectedRow() = 0) pmStu.show(tabStu, evt.getX(), evt.getY();/按班级检索学生列表private void btnSerStuMouseClicked(java.awt.event.MouseEvent
20、 evt) String classname = cboSerStuByClass.getSelectedItem().toString();if (classname.equals(全部班级) loadTabStu(StudentDao.getInstances().findAll(); else int classid = ClazzDao.getInstances().findOneByName(classname);loadTabStu(StudentDao.getInstances().findAllByClass(classid);/刷新学生列表private void btnRe
21、loadStuMouseClicked(java.awt.event.MouseEvent evt) loadTabStu(StudentDao.getInstances().findAll();/右键菜单添加学生private void btnPmAddStuActionPerformed(java.awt.event.ActionEvent evt) int id = Integer.valueOf(tabCla.getValueAt(tabCla.getSelectedRow(), 0).toString();Helper.clazz = ClazzDao.getInstances().
22、findOne(id);AddStudent as = new AddStudent(this, true);as.setLocationRelativeTo(null);as.setVisible(true);/班级表右键菜单private void tabClaMouseClicked(java.awt.event.MouseEvent evt) if (evt.getButton() = MouseEvent.BUTTON3& tabCla.getSelectedRow() = 0) pmCla.show(tabCla, evt.getX(), evt.getY();/刷新班级数据pri
23、vate void btnReloadClaMouseClicked(java.awt.event.MouseEvent evt) loadTabCla(ClazzDao.getInstances().findAll();/加载班级数据public void loadTabCla(List list) String title = 编号, 专业, 名称, 预备班时间, 正式班时间, 毕业时间, 状态,剩余座位, 教师, 班主任 ;Object data = new Objectlist.size()10;/把list转换成2维数组for (int i = 0; i list.size(); i
24、+) Clazz c = (Clazz) list.get(i);datai0 = c.getId();Tectype tt = TectypeDao.getInstances().findOne(c.getTectypeid();datai1 = tt.getName();datai2 = c.getName();datai3 = c.getPredate();datai4 = c.getBegindate();datai5 = c.getEnddate();datai6 = c.getState();datai7 = c.getRemainseat();Teacher tea = Teac
25、herDao.getInstances().findOne(c.getTeacherid();datai8 = tea.getName();Teacher mas = TeacherDao.getInstances().findOne(c.getMasterid();datai9 = mas.getName();tabCla.setModel(new javax.swing.table.DefaultTableModel(data, title);jspCla.setViewportView(tabCla);/加载学生数据public void loadTabStu(List list) St
26、ring title = 编号, 学号, 姓名, 性别, 年龄, 班级, 座号 ;Object data = new Objectlist.size()7;/把list转换成2维数组for (int i = 0; i list.size(); i+) Student s = (Student) list.get(i);datai0 = s.getId();datai1 = s.getNo();datai2 = s.getName();datai3 = s.getSex();datai4 = s.getAge();Clazz c = ClazzDao.getInstances().findOne(s.getClassid();datai5 = c.getName();datai6 = s.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 淮阴师范学院《名师成长案例研究》2021-2022学年第一学期期末试卷
- 淮阴师范学院《运河文化研究》2022-2023学年第一学期期末试卷
- 淮阴师范学院《刑法(1)》2021-2022学年第一学期期末试卷
- 淮阴师范学院《微机原理与接口技术》2022-2023学年期末试卷
- 淮阴师范学院《合唱与指挥(1)》2022-2023学年第一学期期末试卷
- 淮阴师范学院《操作系统》2022-2023学年期末试卷
- 淮阴工学院《新能源仪器分析》2021-2022学年第一学期期末试卷
- DB4117-T+419-2024兽药消毒剂生产技术要求
- DB2305-T 020-2024牛病毒性腹泻病毒pcr检测规程
- 2025超长期特别国债怎么谋划
- 好看的皮囊千篇一律有趣的灵魂万里挑一
- 某房地产公司项目定位分析
- 部编版三年级上册道德与法治作业设计
- ERAS理念下麻醉与镇痛的优化
- 2023-2024学年四川省泸州市江阳区西路学校七年级(上)期中数学试卷(含解析)
- 2023年下半年软件设计师真题 答案解析(上午选择 下午案例)全国计算机软考
- 初中英语新课程标准词汇表
- 创伤失血性休克中国急诊专家共识(2023)解读
- 学校体育与社区体育融合发展的研究
- 中国旅游地理智慧树知到课后章节答案2023年下平凉职业技术学院
- 工程竣工移交报告
评论
0/150
提交评论