基于JAVA学生信息管理系统的设计及实现_第1页
基于JAVA学生信息管理系统的设计及实现_第2页
基于JAVA学生信息管理系统的设计及实现_第3页
基于JAVA学生信息管理系统的设计及实现_第4页
基于JAVA学生信息管理系统的设计及实现_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、 毕 业 设 计 (论 文) 题 目:基于 JAVA 学生信息管理系统的设计及实 现 院 (系): XXX 学院 专 业: 计算机科学与技术 学生姓名: XXX 班 级: 学 号: 指导教师: XXXX 2014 年 2 月 20 日 摘 要 学生信息管理系统有常见的基本功能,主要包括管理员和学生两大模块。管 理员的主要功能有对学生信息和课程信息进行增加、删除、修改、查找等操作, 对选课信息进行管理,对成绩信息和用户信息进行修改、查找等操作。学生的主 要功能有对学生信息和成绩信息进行查看,对个人的密码信息进行修改等。 关键词:系统功能;增加;删除;修改;查找 Abstract Student

2、information management system has the basic function of common mainly including administrators and students two modules. The main functions of the administrator of the student information and coursein formation to add, modify, delete, search and other operations, to carry on the management to the co

3、urse information, modify, search and other operations on the performance information and user information. The main function of student to student information and performance information to view, modify the password of the personal information. Keyword: System function; increase; remove; modificatio

4、n; search 目目 录录 引言引言 .1 1 1 1 功能设计功能设计 .1 1 1.1 需求分析 .1 1.2 总体设计 .1 1.3 模块详细设计 .2 2 2 数据库设计数据库设计 .4 4 3 3 界面库设计界面库设计 .4 4 3.1 学生信息管理系统的登录 .4 3.1.1 登陆界面设计.5 3.1.2 管理员登陆界面设计.7 3.1.3 学生登陆界面设计.8 3.2 实现管理员操作功能的界面 .9 3.2.1 管理员登陆“学生信息管理”界面设计.10 3.2.2 管理员登陆“课程信息管理”界面设计.14 3.2.3 管理员登陆“选课信息管理”界面设计.19 3.2.4 管理

5、员登陆“成绩信息管理”界面设计.21 3.2.5 管理员登陆“用户信息管理”界面设计.23 3.3 实现学生用户操作功能的界面 .26 3.3.1 学生登陆“学生信息管理”界面设计.26 3.3.2 学生登陆“成绩信息管理”界面设计.28 3.3.3 学生登陆“用户信息管理”界面设计.29 4 4 程序类的设计程序类的设计 .3030 5 5、系统的使用说明及环境配置、系统的使用说明及环境配置 .3131 6 6 结论结论.3131 参考文献参考文献 .3232 致致 谢谢 .3333 引言引言 由于学生信息的冗长与繁琐,所以它的管理问题带来的麻烦和不方便也随之 而来。利用计算机进行学生信息管

6、理,不仅能够保证准确、无误、快速输出,而 且还可以利用计算机对有关信息进行查询,检索迅速、查找方便、可靠性高、存 储量大、保密性好。要科学地实现信息化管理,开发一个适合学校的,能够进行 信息存储、查询、修改等功能的信息管理系统是十分重要的。 1 1 功能设计 正文(首行缩进两个字,宋体小四号) 1.11.1 需求分析需求分析 本系统需要实现的功能: (1) 管理员对学生信息和课程信息进行增加、删除、修改、查找等操作,对 选课信息进行管理,对成绩信息和用户信息进行修改、查找等操作。 (2) 学生对学生信息和成绩信息进行查看,对个人的密码信息进行修改等。 1.21.2 总体设计总体设计 学生信息管

7、理系统主要包括管理员和学生两大模块。管理员模块包括:学生 信息管理、课程信息管理、选课信息管理、成绩信息管理、用户信息管理等。用 户模块包括:学生信息查看、成绩信息查看、个人信息管理等。系统总体结构如 图所示。 总体结构图 1.3 模块详细设计 (1)学生信息管理模块 学生信息管理模块包括增加、删除、修改、查询、显示全部等。具体的结构 图如图所示。 学生信息管理模块结构图 (2)课程信息管理模块 课程信息管理模块包括增加、删除、修改、查询、显示全部等。具体的结构 图如图所示 课程信息管理模块结构图 (3)选课信息管理模块 选课信息管理模块包括查询、显示全部等。具体的结构图如图所示。 选课信息管

8、理模块结构图 (4)成绩信息管理模块 成绩信息管理模块包括修改成绩、查询、显示全部等。具体的结构图如图所 示。 成绩信息管理模块结构图 (5)用户信息管理模块 用户信息管理模块包括修改、查询、显示全部等。具体的结构图如图所示。 用户信息管理模块结构图 2 2 数据库设计数据库设计 在数据库 student 中共有 4 张数据表:s(学生信息表) 、c(课程信息表) 、 sc(选课信息表) 、unpw(用户信息表) ,下面定义每张表的字段名称和数据类型。 s(学生信息表)(学生信息表) 字段名称数据类型描述 snochar (10)学号,关键字 snchar (20)姓名 saint年龄 ssc

9、har (10)性别 sdchar (10)院系 c(课程信息表)(课程信息表) 字段名称数据类型描述 cnochar (10)课程号,关键字 cnchar (30)课程名 pcnochar (10)先行课程号 sc(选课信息表)(选课信息表) 字段名称数据类型描述 snochar (10)学号,关键字 cnochar (10)课程号,关键字 gint成绩 unpw(用户信息表)(用户信息表) 字段名称数据类型描述 unchar (10)用户名,关键字 pwchar (10)密码 qxint角色 3 界面库设计 3.13.1 学生信息管理系统的登录学生信息管理系统的登录 学生信息管理系统可由管

10、理员和学生两种身份的人使用。管理员和学生身份 登录所能操作的功能有很大的区别。系统初始化一个系统管理员,登录名: admin 密码:admin 学生登录系统的登录名为学号,密码也为学号(如:10001) ,登录后可以修改密 码。 3.1.13.1.1 登陆界面设计 登录界面 界面介绍: 登陆界面的背景图片可以自定义,可设置成学校的宣传图片。用户和密码初始值 为:admin/admin。若用户有自己相应的密码,可直接填写。角色选择中的“管 理员”有着最高权限,可以进行删除和修改用户等操作;用“学生”角色登陆, 可以查看和修改学生的个人信息。 “重置”按钮用来清空用户名和密码。 “取消” 按钮则直

11、接退出登陆界面。在输入相应的用户名和密码之后,选择“角色” ,点 击“登陆” ,则会进入角色与之对应的界面。若输入的用户名或者密码有误,则 会弹出“登录名错误!”或“密码错误!”的提示。 代码解析: (1)按钮定义主代码: JLabel userName = new JLabel(用户:); JTextField txtUser = new JTextField(); JLabel password = new JLabel(密码:); JPasswordField txtPwd = new JPasswordField(6); JLabel role = new JLabel(角色:); J

12、ComboBox cbrole = new JComboBox(); JButton btnLogin = new JButton(登录); JButton btncz = new JButton(重置); JButton btnCancel = new JButton(取消); 解析: 定义 Button 按钮,设置:“登陆” 、 “重置” 、 “取消”按键,方便用户进行操, 同时也显得更加直观;定义 JLabel 容器用于用户名、密码的输入。 (2)构造方法主代码: this.setResizable(false); this.setDefaultCloseOperation(JFrame

13、.EXIT_ON_CLOSE); this.show(); btnLogin.addActionListener(this); cbrole.addItemListener(this); btncz.addActionListener(this); btnCancel.addActionListener(this); 解析: 定义事件发生器,使每个按钮和容器都能准确的执行用户需要的操作。btnLogin 定义的是“登陆”操作;cbrole 定义的是选择“角色”的操作;btncz 定义的是 “重置”操作,可以使用户名和密码删除,让用户重新进行输入;btnCancel 定 义的是“取消”操作,点击

14、之后,软件会执行退出命令。 (3)连接数据库主代码: try Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver); catch (ClassNotFoundException e) e.printStackTrace(); try con = DriverManager.getConnection( jdbc:sqlserver:/localhost:1433; DatabaseName=student, stmt = con.createStatement(); catch (SQLException e) e.printS

15、tackTrace(); 解析: 执行“登陆”命令之后,代码回向 SQL 数据库对比,若用户名和密码正确,则进 入系统,不正确则执行退出命令。用“try.catch.”命令捕获异常,若用户 输入的用户名和密码正确,则执行登陆操作,若不正确,则抛出 Exception 的异 常,禁止登陆界面。 3.1.23.1.2 管理员登陆界面设计 管理员登录系统后的界面 界面介绍: 此界面是管理员登陆后显示的界面,可以进行“学生信息管理” 、 “课程信息管理” 、 “选课信息管理” 、 “成绩信息管理” 、 “用户信息管理”这五项信息管理操作。 “学生信息管理”可添加和修改学生个人信息,做到不缺不漏学生的个

16、人信息; “课程信息管理”可方便教师进行排课和选择相应的教室,做到学校资源有效合 理的利用;“选课信息系统”可以方便任课老师调课和安排课程;“成绩信息管 理”可有效的统计任课老师所在班级的学生成绩,直观的得出平均分和及格率; “用户信息管理”可以管理任课老师的个人信息及登录密码。 代码解析: (1)按钮定义主代码: JButton btns = new JButton(学生信息管理); JButton btnc = new JButton(课程信息管理); JButton btnsc = new JButton(选课信息管理); JButton btng = new JButton(成绩信息管

17、理); JButton btnu = new JButton(用户信息管理); JButton btnClose = new JButton(退出管理系统); JLabel l = new JLabel(管理员); 解析: 定义 Button 按钮,设置:“学生信息管理” 、 “课程信息管理” 、 “选课信息管理” 、 “成绩信息管理” 、 “用户信息管理” 、 “退出管理系统”按键,方便用户进行操, 同时也显得更加直观;定义 JLabel 容器用于显示界面处于“管理员”状态。 (2)构造方法主代码: btns.addActionListener(this); btnc.addActionLi

18、stener(this); btnsc.addActionListener(this); btng.addActionListener(this); btnu.addActionListener(this); btnClose.addActionListener(this); this.setResizable(false); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); show(); 解析: 定义事件发生器,使每个按钮和容器都能准确的执行用户需要的操作。btns 定义 的是“学生信息管理”操作;btnc 定义的是“课程信息管理”的

19、操作;btnsc 定 义的是“选课信息管理”操作;btng 定义的是“成绩信息管理”的操作;btnu 定义的是“用户信息管理”的操作;btnClose 定义的是“退出管理系统” ,点击 之后将会直接退出系统。 3.1.33.1.3 学生登陆界面设计 学生登录系统后的界面 界面介绍: 此界面是学生登录后显示的界面,可以进行“学生信息查看” 、 “成绩信息查看” “个人信息查看”的操作。 “学生信息查看”仅仅只能查看学生本人的信息,例 如:姓名、班别、出生年月、选修课程等;“成绩信息查看”可以查看学生本人 的学习成绩,包括各个学期的成绩和平时测验成绩;“个人信息管理”可以修改、 添加、删除学生本人

20、的信息。 代码解析: (1)按钮定义主代码: JButton btns = new JButton(学生信息查看); JButton btng = new JButton(成绩信息查看); JButton btnu = new JButton(个人信息管理); JButton btnClose = new JButton(退出管理系统); 解析: 定义 Button 按钮,设置:“学生信息查看” 、 “成绩信息查看” 、 “个人信息查看” 、 “退出管理系统”按键,方便用户进行操,同时也显得更加直观。 (2)构造方法主代码: btns.addActionListener(this); btng

21、.addActionListener(this); btnu.addActionListener(this); btnClose.addActionListener(this); this.setResizable(false); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); show(); 解析: 定义事件发生器,使每个按钮和容器都能准确的执行用户需要的操作。btns 定义 的是“学生信息查看”操作;btng 定义的是“成绩信息查看”的操作;btnu 定 义的是“个人信息查看”操作;btnClose 定义的是“退出管理系统”的操作点

22、击 之后将会直接退出系统。 3.23.2 实现管理员操作功能的界面实现管理员操作功能的界面 管理员的登录系统后可以进行学生信息管理、课程信息管理、选课信息管理、 成绩信息管理、用户信息管理等功能操作,其具体界面设计如下图所示。 3.2.13.2.1 管理员登陆“学生信息管理”界面设计 学生信息管理功能的界面 界面介绍: 此界面为管理员登陆后点击“学生信息管理”产生的界面。 “学生信息管理”可 以执行“增加” 、 “删除” 、 “修改” 、 “查询” 、 “显示”的操作。其中“增加”操作 可以增加学生的信息,比如学号、姓名、年龄、性别、院系;“删除”操作可以 删除指定的学生的信息;在选定所要修改

23、的学生之后,点击“修改” ,可以修改 选定学生的相关信息;点击“查询” ,输入学号或者姓名之后,就会查询到指定 学生的相关信息。 代码解析: (1)主界面显示主代码: try rs = stmt.executeQuery(select * from s); while (rs.next() / 找出表中的记录数赋给 i al.add(rs.getString(sno); al.add(rs.getString(sn); al.add(rs.getString(ss); al.add(rs.getInt(sa); al.add(rs.getString(sd); i+; catch (SQLEx

24、ception e) e.printStackTrace(); 解析: 用 stmt.executeQuery(select * from s)调用数据库表内容,其中 al.add(rs.getString(“sno”)为调用 SQL 中的“学号”信息;al.add(rs.getString(sn) 为调用 SQL 中的“姓名”信息;al.add(rs.getString(ss)为调用数据库中的“年龄” 信息;al.add(rs.getInt(sa)为调用数据库中的“性别”信息; al.add(rs.getString(sd)为调用数据库中的“院系”信息。用“try.catch”语句捕 获异常

25、,若不能调用数据库,这会执行 e.printStackTrace()语句,并在命令行打印 异常信息在程序中出错的位置及原因。 (2)连接数据库主代码: try Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver); catch (ClassNotFoundException e) e.printStackTrace(); try con = DriverManager.getConnection( jdbc:sqlserver:/localhost:1433; DatabaseName=student, sa, 123); st

26、mt = con.createStatement(); catch (SQLException e) e.printStackTrace(); 解析: 为了能过更直观的显示数据,在学生信息管理系统里需要调用数据库里面的信息。 其中 Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver)为调用系统目 录下的 SQL 程序文件;用“try.catch”语句捕获异常,若不能调用数据库,这会 执行 e.printStackTrace()语句,并在命令行打印异常信息在程序中出错的位置及原 因。 (3)关闭数据库主代码: try stmt.c

27、lose(); con.close(); catch (SQLException e) e.printStackTrace(); 解析: 从数据库导入数据到系统之后,就不再需要实时刷新了,则需要关闭数据库连接, 避免占用资源。 (4)删除某个学生信息主代码: try int rs1 = stmt.executeUpdate(delete from s where sno= + xh + ); stmt.executeUpdate(delete from unpw where un= + xh + ); JOptionPane.showMessageDialog(null, 记录删除成功!);

28、this.dispose(); new SM().display(); catch (SQLException e) e.printStackTrace(); else try int rs1 = stmt.executeUpdate(delete from s where sno= + mxh + ); stmt.executeUpdate(delete from unpw where un= + mxh + ); JOptionPane.showMessageDialog(null, 记录删除成功!); this.dispose(); new SM().display(); catch (

29、SQLException e) e.printStackTrace(); 解析: 删除某个学生的信息,首先需要选中所要的信息,然后才能执行操作,最后同步 到数据库中。其中 int rs1 = stmt.executeUpdate(delete from s where sno=+ xh + ) 和 int rs1 = stmt.executeUpdate(delete from s where sno=+ mxh + )为选中的所要 删除的数据记录,stmt.executeUpdate(delete from unpw where un= + xh + )和 stmt.executeUpdat

30、e(delete from unpw where un= + mxh+ )则是执行删除操作, 最后 JOptionPane.showMessageDialog(null, 记录删除成功!)则是提示删除成功。 (5)修改某个学生的基本信息主代码: if (row = -1) JOptionPane.showMessageDialog(null, 请选择要修改的记录!); else int j1 = 0; try if (!bstd) rs = stmt.executeQuery(select * from s); else rs = stmt.executeQuery(select * from

31、 s where sno= + mxh + ); while (rs.next() xm = rs.getString(sn); nl = rs.getInt(sa); xb = rs.getString(ss); yx = rs.getString(sd); j1+; catch (SQLException e) e.printStackTrace(); 解析: 修改某个学生的信息,首先需要选中所要的信息,进行判断,然后才能执行操作, 最后同步到数据库中。其中 JOptionPane.showMessageDialog(null, 请选择要修改 的记录!)为选中的所要修改的数据记录,用“if

32、.else”语句进行判断是否为用 户所要修改的数据条目,while (rs.next() while (rs.next() playerInfo00 = rs.getString(sno); playerInfo01 = rs.getString(sn); playerInfo02 = rs.getInt(sa); playerInfo03 = rs.getString(ss); playerInfo04 = rs.getString(sd); catch (SQLException e) e.printStackTrace(); if (playerInfo01 = null) this.d

33、ispose(); JOptionPane.showMessageDialog(null, 学号不存在!); new SM().display(); else sTable = new JTable(playerInfo, columnNames); p1.add(sTable); scroll = new JScrollPane(sTable); this.add(scroll); 解析: 查询某个学生的信息,先要知道学号,才能查询到相关信息。rs = stmt.executeQuery(select * from s where sno= + mxh + )为显示查询出来的学生 信息;若查

34、询的学号不存在,则会执行 JOptionPane.showMessageDialog(null, 学 号不存在!)语句,弹出“学号不存在!”的字样;若查询的学号正确,执行 sTable = new JTable(playerInfo, columnNames)语句,连接数据库,显示学生信息。 3.2.23.2.2 管理员登陆“课程信息管理”界面设计 课程信息管理功能的界面 界面介绍: 此界面为管理员登陆后点击“课程信息管理”产生的界面。 “课程信息管理”可 以执行“增加” 、 “删除” 、 “修改” 、 “查询” 、 “显示”的操作。其中“增加”操作 可以增加课程的信息,比如课程号、课程名、先

35、行课程号;“删除”操作可以删 除指定的课程的信息;在选定所要修改的课程之后,点击“修改” ,可以修改选 定课程的相关信息;点击“查询” ,输入课程号或者课程名之后,就会查询到指 定课程的相关信息。 代码解析: (1)界面布局主代码: this.setBounds(200, 200, 400, 260); btnAdd.addActionListener(this); btnDelete.addActionListener(this); btnAlter.addActionListener(this); btnSearch.addActionListener(this); btnDisplay.

36、addActionListener(this); this.setJMenuBar(mb); 解析: 界面首先定义对话框布局 this.setBounds(200, 200, 400, 260),设置“增加” btnAdd.addActionListener(this)监听器, “删除”btnDelete.addActionListener(this)监 听器、 “修改”btnAlter.addActionListener(this)监听器、 “查询” btnSearch.addActionListener(this)监听器、 “显示”btnDisplay.addActionListener(

37、this)监 听器,确保用户使用时能够响应。 (2)连接数据库主代码: try Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver); catch (ClassNotFoundException e) e.printStackTrace(); try con = DriverManager.getConnection( jdbc:sqlserver:/localhost:1433; DatabaseName=student, sa, 123); stmt = con.createStatement(); catch (SQLEx

38、ception e) e.printStackTrace(); 解析: 为了能过更直观的显示数据,在学生信息管理系统里需要调用数据库里面的信息。 其中 Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);为调用系统目 录下的 SQL 程序文件;用“try.catch”语句捕获异常,若不能调用数据库,这会 执行 e.printStackTrace()语句,并在命令行打印异常信息在程序中出错的位置及原 因。 (3)删除操作主代码: if (row = -1) / 判断要删除的信息是否被选中 JOptionPane.showMess

39、ageDialog(null, 请选择要删除的记录!); else if (!bstd) / 判断选择的是不是查询后的结果 int j1 = 0; try rs = stmt.executeQuery(select * from c); while (rs.next() kcm = rs.getString(cn); xxkch = rs.getString(pcno); j1+; catch (SQLException e) e.printStackTrace(); int i1 = 0; try int rs1 = stmt.executeUpdate(delete from c wher

40、e cno= + kch + );/ 删除数据库中当前被选中的记录 JOptionPane.showMessageDialog(null, 记录删除成功!); this.dispose(); new CM(课程信息管理).display(); catch (SQLException e) e.printStackTrace(); else try int rs1 = stmt.executeUpdate(delete from c where cno= + mkch + );/ 删除数据库中当前被选中的记录 JOptionPane.showMessageDialog(null, 记录删除成功!

41、); this.dispose(); new CM(课程信息管理).display(); catch (SQLException e) e.printStackTrace(); 解析: 删除某个课程信息,首先需要选中所要的信息,然后才能执行操作,最后同步到 数据库中。int rs1 = stmt.executeUpdate(delete from c where cno=+ kch + )和 int rs1 = stmt.executeUpdate(delete from c where cno=+ mkch + )是执行删除操作, 最后 JOptionPane.showMessageDial

42、og(null, 记录删除成功!)则是提示删除成功。 (4)修改操作主代码: if (row = -1) JOptionPane.showMessageDialog(null, 请选择要修改的记录!); else int j1 = 0; try if (!bstd) rs = stmt.executeQuery(select * from c); else rs = stmt.executeQuery(select * from c where cno= + mkch + ); while (rs.next() kcm = rs.getString(cn); xxkch = rs.getStr

43、ing(pcno); j1+; catch (SQLException e) e.printStackTrace(); 解析: 修改某课程信息,首先需要选中所要的信息,进行判断,然后才能执行操作,最 后同步到数据库中。其中 JOptionPane.showMessageDialog(null, 请选择要修改的 记录!)为选中的所要修改的数据记录,用“if.else”语句进行判断是否为用户 所要修改的数据条目,while (rs.next() while (rs.next() playerInfo00 = rs.getString(cno); playerInfo01 = rs.getStrin

44、g(cn); playerInfo02 = rs.getString(pcno); catch (SQLException e) e.printStackTrace(); if (playerInfo01 = null) this.dispose(); JOptionPane.showMessageDialog(null, 课程号不存在!); new CM(课程信息管理).display(); else sTable = new JTable(playerInfo, columnNames); p1.add(sTable); scroll = new JScrollPane(sTable);

45、this.add(scroll); 解析: 查询某课程信息,先要知道学号,才能查询到相关信息。rs = stmt.executeQuery(select * from c where cno= + mkch + )为显示查询出来的学生 信息;若查询的学号不存在,则会执行 JOptionPane.showMessageDialog(null, 课 程号不存在!)语句,弹出“课程号不存在!”的字样;若查询的学号正确,执 行 sTable = new JTable(playerInfo, columnNames)语句,连接数据库,显示课程信 息。 3.2.33.2.3 管理员登陆“选课信息管理”界面

46、设计 选课信息管理功能的界面 界面介绍: 此界面为管理员登陆后点击“选课信息管理”产生的界面。 “选课信息管理”可 以执行“查询”和“显示”的操作。点击“查询” ,输入学号或者课程号之后, 就会查询到相应课程的信息;选择某个学号,点击“显示” ,能够更直观的了解 某个学生的个人信息。 代码解析: (1)连接数据库主代码: try Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver); catch (ClassNotFoundException e) e.printStackTrace(); try con = DriverMan

47、ager.getConnection( jdbc:sqlserver:/localhost:1433; DatabaseName=student, sa, 123); stmt = con.createStatement(); catch (SQLException e) e.printStackTrace(); 解析: 为了能过更直观的显示数据,在学生信息管理系统里需要调用数据库里面的信息。 其中 Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver)为调用系统目 录下的 SQL 程序文件;用“try.catch”语句捕获异常,

48、若不能调用数据库,这会 执行 e.printStackTrace()语句,并在命令行打印异常信息在程序中出错的位置及原 因。 (2)显示某个查询结果主代码: try rs = stmt .executeQuery(select * from sc where sno= + mscxh + ); while (rs.next() playerInfoj0 = rs.getString(sno); playerInfoj1 = rs.getString(cno); playerInfoj2 = rs.getString(g); j+; catch (SQLException e) e.printS

49、tackTrace(); if (playerInfo01 = null) this.dispose(); JOptionPane.showMessageDialog(null, 课程号不存在!); new SCM(选课信息管理).display(); else sTable = new JTable(playerInfo, columnNames); p1.add(sTable); scroll = new JScrollPane(sTable); this.add(scroll); 解析: 查询选课信息,先要知道课程号,才能查询到相关信息。executeQuery(select * fro

50、m sc where sno= + mscxh + )为显示查询出来的课程信息;若查询的课程号 不存在,则会执行 JOptionPane.showMessageDialog(null, 课程号不存在!)语句, 弹出“课程号不存在!”的字样;若查询的学号正确,执行 sTable = new JTable(playerInfo, columnNames)语句,连接数据库,显示课程信息。 3.2.43.2.4 管理员登陆管理员登陆“成绩信息管理成绩信息管理”界面设计界面设计 成绩信息管理功能的界面 界面介绍: 此界面为管理员登陆后点击“成绩信息管理”产生的界面。 “成绩信息管理”可 以执行“修改成绩

51、” 、 “查询” 、 “显示”的操作。选中所要修改的学号,点击“修 改成绩”可以修改指定学生的成绩信息;点击“查询” ,输入学号之后,就会查 询到相应成绩的信息;选择某个学号,点击“显示” ,能够更直观的了解某个学 生的成绩信息。 代码解析: (1)连接数据库主代码: try Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver); catch (ClassNotFoundException e) e.printStackTrace(); try con = DriverManager.getConnection( jdbc:sq

52、lserver:/localhost:1433; DatabaseName=student, sa, 123); stmt = con.createStatement(); catch (SQLException e) e.printStackTrace(); 解析: 为了能过更直观的显示数据,在学生信息管理系统里需要调用数据库里面的信息。 其中 Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver)为调用系统目 录下的 SQL 程序文件;用“try.catch”语句捕获异常,若不能调用数据库,这会 执行 e.printStack

53、Trace()语句,并在命令行打印异常信息在程序中出错的位置及原 因。 (2)修改成绩信息主代码: if (row = -1) / 判断要修改的信息是否被选中 JOptionPane.showMessageDialog(null, 请选择要修改的记录!); else int j1 = 0; try if (!bstd) / 判断选择的是不是查询后的结果 rs = stmt .executeQuery(select * from sc,c where o=o); else rs = stmt .executeQuery(select * from sc,c where o=o and sno=

54、+ mxh + ); while (rs.next() kcm = rs.getString(cn); xxkch = rs.getString(g); j1+; catch (SQLException e) e.printStackTrace(); 解析: 修改某个学生的成绩信息,首先需要选中所要的信息,进行判断,然后才能执行 操作,最后同步到数据库中。其中 JOptionPane.showMessageDialog(null, 请选择 要修改的记录!)为选中的所要修改的数据记录,用“if.else”语句进行判断是 否为用户所要修改的数据条目,while (rs.next() catch (

55、ClassNotFoundException e) e.printStackTrace(); try con = DriverManager.getConnection( jdbc:sqlserver:/localhost:1433; DatabaseName=student, sa, 123); stmt = con.createStatement(); catch (SQLException e) e.printStackTrace(); 解析: 为了能过更直观的显示数据,在学生信息管理系统里需要调用数据库里面的信息。 其中 Class.forName(com.microsoft.sqls

56、erver.jdbc.SQLServerDriver)为调用系统目 录下的 SQL 程序文件;用“try.catch”语句捕获异常,若不能调用数据库,这会 执行 e.printStackTrace()语句,并在命令行打印异常信息在程序中出错的位置及原 因。 (2)修改操作主代码: if (row = -1) JOptionPane.showMessageDialog(null, 请选择要修改的记录!); else int j1 = 0; try if (!bstd) rs = stmt.executeQuery(select * from unpw where qx=1); else rs =

57、 stmt .executeQuery(select * from unpw where qx=1 and un= + myh + ); while (rs.next() mm = rs.getString(pw); j1+; catch (SQLException e) e.printStackTrace(); UAdd uadd = new UAdd(); uadd.setTitle(修改); uadd.tun.setText(yh); uadd.tpw.setText(mm); uadd.tun.setEnabled(false); this.dispose(); 解析: 修改某个学生用

58、户的信息,首先需要选中所要的信息,进行判断,然后才能执行 操作,最后同步到数据库中。其中 JOptionPane.showMessageDialog(null, 请选择 要修改的记录!)为选中的所要修改的数据记录,用“if.else”语句进行判断是 否为用户所要修改的数据条目,while (rs.next() while (rs.next() playerInfo00 = rs.getString(un); playerInfo01 = rs.getString(pw); catch (SQLException e) e.printStackTrace(); if (playerInfo01

59、= null) this.dispose(); JOptionPane.showMessageDialog(null, 用户不存在!); new PM(用户信息管理).display(); else sTable = new JTable(playerInfo, columnNames); p1.add(sTable); scroll = new JScrollPane(sTable); this.add(scroll); 解析: 查询学生用户信息,先要知道用户名,才能查询到相关的信息。其中代码段 tmt.executeQuery(select * from unpw where qx=1 a

60、nd un=+ myh + )为显示查询 出来的用户信息;若查询的用户名不存在,则会执行系统代码中的 JOptionPane.showMessageDialog(null, 用户不存在!)语句,弹出“用户不存在! ”的字样;若查询的用户名正确,执行 sTable = new JTable(playerInfo, columnNames)语句,连接数据库,显示用户信息。 3.33.3 实现学生用户操作功能的界面实现学生用户操作功能的界面 学生的登录系统后可以进行学生信息查看、成绩信息查看、个人信息管理等 功能操作,其具体界面设计如下图所示。 3.3.13.3.1 学生登陆“学生信息管理”界面设计

温馨提示

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

评论

0/150

提交评论