学生选课系统《软件工程》课程设计

上传人:d**** 文档编号:187203789 上传时间:2023-02-12 格式:DOCX 页数:50 大小:382.43KB
收藏 版权申诉 举报 下载
学生选课系统《软件工程》课程设计_第1页
第1页 / 共50页
学生选课系统《软件工程》课程设计_第2页
第2页 / 共50页
学生选课系统《软件工程》课程设计_第3页
第3页 / 共50页
资源描述:

《学生选课系统《软件工程》课程设计》由会员分享,可在线阅读,更多相关《学生选课系统《软件工程》课程设计(50页珍藏版)》请在装配图网上搜索。

1、一、问题定义41.1问题的定义41.2系统要解决的问题4二、可行性研究52. 1引言52. 1.1 目的52.1. 2背景及功能52.1. 3参考资料错误!未定义书签。2.2可行性研究的前提52.2.1 要求52.2.2 目标62.2.3条件、假定和限制62.2.4进行可行性研究的方法 62.3所建议的系统62.3.1对所建议系统的说明62.3.2处理流程和数据流程62.3.3工作负荷82.3.4技术条件方面的可行性82.4社会因素方面的可行性82.4. 1法律方面的可行性82.4.2使用方面的可行性82.5经济可行性92.6结论错误!未定义书签。三、项目开发计划93.1引言93.1.1编写目

2、的93.1.2 背景93.1.3参考资料错误!未定义书签。3.2项目概述93.2.1工作内容93.2.2 产品103.2.4完成项目的最迟期限 103.2.5关键问题及支持的系统条件103.3支持条件10四、需求分析114.2. 功能需求114.3业务流程图11五、概要设计135.1基本设计概念和处理流程135.2. 系统层次模块图135.3. 系统层次模块图135.4. 模块设计13六、数据库设计146.1引言146.1.1编写目的146.1.2 背景156.1.3 定义156.1.4参考资料错误!未定义书签。6.2外部设计156.2.1标识符和状态 156.2.2使用它的程序156.2.3

3、 约定156.2.4专门指导166.2.5支持软件 166.3结构设计166.4运用设计206.4.1数据字典设计206.4.2安全保密设计20七、详细设计217.1引言217.1.1编写目的217.1.2 背景217.1.3 定义217.1.4参考资料错误!未定义书签。八、测试报告218.1引言218.1.1编写目的218.1.2 定义218.1.3参考资料 228.2测试概要228.3测试结果及发现258.3.1测试具体实施258.4对软件功能的结论258.4.1用户登录模块258.5分析摘要268.5.1 能力268.5.2 评价268.6测试资源消耗错误!未定义书签。九、用户手册269

4、.1引言269.1.1编写目的269.1.2 定义269.1.3参考资料 269.2用途269.2.1 功能269.2. 2 性能279.2.3安全保密27十、附录2910.1数据库的封装代码DB.java 2910.2选课系统登陆界面代码Login.java 3010.3选课系统学生选课界面代码Student.java 3410.4学生选课情况查询代码Query.java 3810.5学生用户登录密码的修改代码Modify.java 4110.6教师查询学生选课的情况代码Teacher.java 4410.7超级管理员查询学生选课的情况代码Administrator.java 46、问题定义

5、1.1问题的定义学生选课系统:也称学生课程选修制,即允许学生对学校所开设的课程有一定的选 择自由,包括选择课程、任课教师和上课时间,选择适合自己的学习量和学习进程。对 于习惯了中小学课程(所有的课程由学校统一安排,而且科目从小学到高中有连续性) 的大学新生来说,大学的课程多得令他们眼花缭乱,课程分类也比较复杂,因此选课对 他们而言还是一件新鲜而陌生的事物。但大学的学习与选课有莫大的关系,必须了解它, 才能掌握主动权。而要了解选课制,首先要对大学的课程设置有所认识。1.2系统要解决的问题建立一个小型的学生选课系统,用户(学号,姓名,年龄,性别,系别,班级,出 生年月)可以注册成为会员,注册的用户

6、可以选择要选修的课程,也可以查询已选修的 课程(包含课程名、任课教师和上课时间,学分)等,老师(姓名,职位,所教课程) 可以查看该门课程的选课人数及上课时间,管理员可以查看所有学生的选课情况,查看 各门课程的任课老师的信息,查看各门课程选课人数,查看注册用户信息。二、可行性研究2. 1引言2. 1.1目的本项目开发计划旨在明确规范开发过程,保证项目质量,同时还作为项目通过评审的依据。并说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理 地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理 由。2.1. 2背景及功能A、系统的名称为学生选课系统(Java

7、实现);2.2可行性研究的前提2.2.1要求A、功能:1)普通用户:登录系统前用户可以查看用户选课的情况;用户可以注册;查找忘记的密码;查看自己 选课的一些相关信息。B、性能:查询效率尽可能做到精准,信息维护做到简单易用,不需要对用户进行培训;C、完成期限:到本学期的第21周。2.2.2目标系统应该尽量做到以下的目标:A、人力与设备费用的减少;B、采用现代程序设计技术;C、数据的处理速度提高;D、管理信息服务的改进;E、人员利用率尽可能提高;F、结果应能清除地审查。2.2.3条件、假定和限制本系统的条件、假定和所受到的限制有以下几方面:A、所开发系统的运行寿命的最小值为3年;B、硬件、软件、运

8、行环境和开发环境方面的条件和限制:由于是个人电脑,所以硬件设施可能在性能上比较差;软件全部是免费的,功能可能会受到相应的限制;对可讪如可,xp比较熟悉,所以开发主要是在这个平台上进行的;C、可利用的信息和资源:没有相应的软件项目开发的经验,所以能力还是有限,收集的资料来源有限,故对信息的了解不够全面;2.2.4进行可行性研究的方法根据课本里面的相关知识、图书馆所借的书以及平时所积累的一些经验,综合本系统所要达到的目标进行分析而得到。2.3所建议的系统2.3.1对所建议系统的说明本系统是运用Java制作的一个小型学生选课系统系统,包括用户注册,选课查询。实现这个系统将用到以下几种技术:1) Ja

9、va主要是用来处理各种业务;2) 数据库系统技术。2.3.2处理流程和数据流程系统的处理流程图见下图所示:学生登录及选课情况:教师登录及查看信息:管理员登录及管理信息:2.3.3工作负荷现有系统所承担的工作及工作量:1) 系统功能:(1) 登录、注册,修改密码等功能.(2) 选课功能(3) 查询功能2) 由于现有开发的系统比较小,只涉及小量的数据,所以工作量小。2.3.4技术条件方面的可行性2.4社会因素方面的可行性2.4.1法律方面的可行性2.4.2使用方面的可行性本系统一经制作完成,可以在windows系统中运行,加之本系统操作上面不存在技术 性,所以可以达到易操作性。2.5经济可行性三、

10、项目开发计划3.1引言3.1.1编写目的3.1.2背景说明:待开发的软件系统的名称:学生选课系统;3.2项目概述3.2.1工作内容本项目的内容包括技术和非技术两大部分:技术上需要进行数据库开发和java技术 的基本使用。非技术部分包括:人力资源的充分利用。3.2.2产品-3.2.2.1 程序-3.2.2.2 文件3.2.2.3 服务A、用户方面:可以登录、注册、查询等;B、系统方面:查看注册用户信息、管理系统的各种信息、查看系统的信息。C、老师方面:查看学生选课情况、-3.2.3验收标准3.2.4完成项目的最迟期限3.2.5关键问题及支持的系统条件本项目用到了 Java程序设计和数据库系统技术

11、应用等开源的框架,所以对学生选课 系统的功能的实现可能欠缺。3.3支持条件A、运行该软件系统所需要的硬设备包括服务器和客户机,要求满足(最低配置):1)1G Hz以上处理器,内存不少于256M。2)3G以上空余硬盘空间。3)客户机为普通电脑。B、本系统是运用J ava制作的一个小型学生选课系统系统,包括用户注册,选课查询。实现这个系统将用到以下几种技术:1)Java主要是用来处理各种业务;2)数据库系统技术(采用mysq l数据库实现该系统)。四、需求分析4.1系统需求用户的需求具体体现在各种学习成绩的提供、保存、更新和查询方面,这就要求数 据库结构能充分满足各种信息的输入和输出。收集基本数据

12、、数据结构及数据处理的流 程,组成一份详尽数据字典,为后面的具体设计打下基础。4.2. 功能需求通过系统功能分析,针对一般的网上选课系统,总结出如下的需求信息:(1) 学生的需求:网上选课、选课情况查询包括该门课程的老师信息,上课时间以 及该门课程的学分,修改密码等;(2) 本系统主要实现学生信息管理和选课查询。学生信息包括学号,姓名,年龄,性别,系别,班级,出生年月;课程信息包括课程名,上课时间,成绩,学分,学时数;老师信息包括姓名,职位,所教课程;管理员信息包括用户名和密码,能够查询所有学生的选课情况及信息;4.3业务流程图学生登录及选课情况:教师登录及查看信息:管理员登录及管理信息:五、

13、概要设计5.1基本设计概念和处理流程互联网技术的飞速发展,Java等设计工具的方便实用,以及数据库技术的发展给 本系统的设计和实现提供了技术上的支持。系统基本的流程是:用户登录一 主界面一 选择各项子系统(选课)老师登录一主界面一选择各项子系统(查看学生选课情况)管理员登录一 主界面一 选择各项子系统(管理学生选课)5.2. 系统层次模块图学生选课系统5.3. 系统层次模块图5.4. 模块设计(1) 用户注册模块:填写用户名、密码、确认密码(2) 用户登录模块:填写已注册的用户名称,填写正确的密码,进入主控制页面。(3) 用户选课模块:从所有课程中选择自己要选修的课程。(4) 用户查询模块:可

14、以进行查看所选课程的操作。六、数据库设计6.1引言6.1.1编写目的6.1.2背景6.1.3定义文件中用到的专门术语的定义和外文的首字母组词的原词组如下:A、B/S: B/S (Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术 的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过 WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服 务器端(Server)实现,形成所谓三层3-tier结构。相对于C/S结构属于“胖”客户端, 需要在使用者电脑上安装相应的操作软件来说,B/S结构是属于一种“瘦”客户端

15、,大 多数或主要的业务逻辑都存在在服务器端,因此,B/S结构的系统不需要安装客户端软 件,它运行在客户端的浏览器之上,系统升级或维护时只需更新服务器端软件即可,这 样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户 的总体成本(TCO)。B/S结构系统的产生为系统面对无限未知用户提供了可能。当然, 与C/S结构相比,B/S结构也存在着系统运行速度较慢,访问系统的用户不可控的弱点;B、DBMS:英文全程:DataBase Management System,翻译为中文就是“数据库管理系 统”,是位于用户和操作系统之间的一层数据库管理软件。数据库管理系统和操作系统 一样是

16、计算机的基础软件,也是一个大型复杂的软件系统。它的主要功能包括一下几个 方面:1.数据定义功能。2.数据组织,存储和管理;3.数据操作功能。4.数据库的事物 管理和运行管理。5.数据库的建立和维护功能。6.其他功能;C、SQL语言:SQL(Structured Query Language)结构化查询语言,是一种数据库查询和 程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。同时也是数据库6.2外部设计6.2.1标识符和状态数据库软件:Mysql系统要求建立的数据库名称:sc6.2.2使用它的程序6.2.3约定6.2.4专门指导系统使用Hibernate实现与数据库的接口,该接口基

17、于Hibernate方法生成 的CLASS文件对数据库的建立和控制,是应用程序与数据库的桥梁。最终是对 class文件操作来实现对数据库的管理(一般是一个数据表对应一个CLASS文 件)。6.2.5支持软件Mysq l提供了核心的引擎,为支持本系统的数据库BBS需要使用到Mysql 的几个组件,包括: 入、图形管理工具MySQL Administrator 和MySQL Query Browser;B、MySQL-front。提供了解决MySQL中插入中文乱码的问题;C、Navicat Lite for MySQL。可以用来快速建立数据库,可拖拉式的MySQL插件。6.3结构设计学生选课界面_

18、 ,区当前位置-岸生选课学号:20002263 姓名:何南平 学院:信息工程学院班缀:计筒机口鸵下面为可以选磁的课程:F离散数学厂汇编语言F ja伯语言设计厂软件工程厂操作系统厂马克思政治学厂数据结构r数据库系统r jsp程序设计取消I查询I修改密码I学生选课查询界面!_ . |X当前位置一学生选课情况查询查询|当前已选修的课程|你当前已选修的课程如下:学号:20082263 姓名:何南平学院:信息工程学院 班级 计耸机082返回选课四修改密码界面炊迎您登录.teacher用户名:原密码:新密码:确认新密码:确定I 取消I|请选择要查询的课程6.4运用设计6.4.1数据字典设计数据项名:use

19、rname 说明:用户登入名 别名:无数据类型:varchar长度:3-10位置:用户信息表数据项名:password说明:用户登入密码别名:无数据类型:varchar长度:3-10位置:用户信息表数据项名:name说明:用户登入名别名:无数据类型:varchar长度:3-10位置:用户信息表数据项名:dept说明:用户所在学院 别名:无数据类型:varchar长度:3-10位置:用户信息表数据项名:banji说明:用户所在班级 别名:无数据类型:varchar长度:3-10位置:用户信息表 数据项名:lessons 说明:用户所选课程 别名:无数据类型:varchar 长度:3-10位置:用

20、户信息表6.4.2安全保密设计一个系统,它的安全性是很重要的,尤其是数据库的安全性能,每当用户发出存取 数据库的操作请求后,DBMS查找数据字典,根据安全规则进行合法权限检查,若用户的 操作请求超出了定义的权限,系统将拒绝执行此操作。为了让某些合法的用户得到一定 的权限,数据库管理员可以授权给让他们。在一些敏感的数据上面采用了 MD5算法进行 加密,比如用户的登入密码,就算是数据泄漏,用户也不知道怎么登录系统。七、详细设计7.1引言7.1.1编写目的7.1.2背景7.1.3定义JVM: Java Virtual Machine (Java虚拟机),它是一个虚构出来的计算 机,是通过在实际的计算

21、机上仿真模拟各种计算机功能来实现的。Java虚拟 机有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系 统。八、测试报告8.1引言8.1.1编写目的8.1.2定义A、白盒测试:白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试 程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程 序中的每条通路是否都能按预定要求正确工作。这一方法是把测试对象看作一个打开的 盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻 辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一 致。B、黑盒测试:黑盒测试也称功

22、能测试,它是通过测试来检测每个功能是否都能正常使 用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部 特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规 定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于 程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。8.1.3参考资料8.2测试概要表8-1测试本系统的模块计划1)学生登录时A.用户名和密码都为空消息学生用F名和峦码输入不能为空,确定B.学生用户名和密码有一个为空C.学生用户名和密码不匹配消息X登陆失败诺重制输入学生用F名和密码,确定2)教师登

23、录时A.用户名和密码都为空3)管理员登录时B.学生用户名和密码有一个为空C.学生用户名和密码不匹配A.用户名和密码都为空B.B.学生用户名和密码有一个为空C.学生用户名和密码不匹配4)学生修改密码时A.用户名、原密码、新密码都至少有一个为空B.新密码两次输入不同C.学生用户名和密码不匹配D.修改密码成功8.3测试结果及发现 8.3.1测试具体实施A、用户登录模块测试。该算法用例表见表8-2所示。下图是用户登录流程图:输入登录名、密码、验证码登录成功S I数据填写完整、合理验证码输入正确输入的密码正确8.4对软件功能的结论 8.4.1用户登录模块这个模块可以防止用户未输入用户名,未输入密码的时候

24、登入到权限以外的系统。8.5分析摘要8.5.1能力8.5.2评价九、用户手册9.1引言9.1.1编写目的本手册主要对学生选课系统进行详细描述和讲解,让用户可以顺利的使用本系统以 及更好的管理本系统。9.1.2定义MD5: Message Digest Algorithm MD5 (中文名为消息摘要算法第五版)为计算机 安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。9.1.3参考资料9.2用途9.2.1功能此系统的功能层次图如图9-1所示:ir9.2.2性能-9.2.2.1时间特性本软件由于数据库较小,相应时间、更新处理时间、数据传送、转换时间、计算时 间等都非常迅速,如下:A、响应

25、时间:响应时间为5秒内;B、更新处理时间:由系统运行状态决定;C、数据的转换和传输时间:能够在5秒钟内完成。-9.2.2.2灵活性对于信息的查找,本软件提供了模糊查询的方法,这样最大的满足用户的要求,方 便用户的使用。9.2.3安全保密一个系统,它的安全性是很重要的,尤其是数据库的安全性能,每当用户发出存取数据库的操作请求后,DBMS查找数据字典,根据安全规则进行合法权限检查,若用户 的操作请求超出了定义的权限,系统将拒绝执行此操作。为了让某些合法的用户得到一 定的权限,数据库管理员可以授权给让他们。在一些敏感的数据上面采用了 MD5算法进 行加密,比如用户的登入密码,就算是数据泄漏,用户也不

26、知道怎么登录系统。十、附录10.1数据库的封装代码DB.javaimport java.sql.*;public class DB public static Connection getConn() Connection conn = null;try Class. forName(com.mysql.jdbc.Driver);conn = DriverManager. getConnection(jdbc:mysql:/localhost/sc, root”, root); catch (ClassNotFoundException e) e.printStackTrace(); catc

27、h (SQLException e) e.printStackTrace();return conn;public static Statement getState(Connection conn) Statement stmt = null;try if(conn != null) stmt = conn.createStatement(); catch (SQLException e) e.printStackTrace();return stmt;public static ResultSet getResultSet(Statement stmt, String sql) Resul

28、tSet rs = null;tryrs = stmt.executeQuery(sql); catch (SQLException e) e.printStackTrace();return rs;public static void close(Connection conn) try if (conn !=null)conn.close();conn = null; catch (SQLException e) e.printStackTrace();public static void close(Statement stmt) try if (stmt !=null)stmt.clo

29、se();stmt = null; catch (SQLException e) e.printStackTrace();public static void close(ResultSet rs) try if (rs !=null)rs.close();rs = null; catch (SQLException e) e.printStackTrace();10.2选课系统登陆界面代码Login.javaimport java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.*;public class

30、 Login extends Frame implements ActionListener Label useName, passWord, l1;TextField tf1, tf2;Checkbox ck1, ck2, ck3;Button b1, b2;CheckboxGroup group;String str;public void setStr(String str) this.str = str;Connection conn = null;Statement stmt = null;ResultSet rs = null;public void lauchFrame() th

31、is.setTitle(学生选课登录);setLayout(null);useName = new Label(用户名称:);passWord = new Label(用户密码:);tf1 = new TextField();tf2 = new TextField();l1= new Label(学生选课系统登录/Login);str = tf1.getText();group = new CheckboxGroup();ck1 = new Checkbox(管理员,false , group);ck2 = new Checkbox(学生”,true, group);ck3 = new Che

32、ckbox(教师”,false, group);b1 = new Button(确定);b2 = new Button(重置);add(useName);add(passWord);add(l1);add(tf1);add(tf2);add(ck1);add(ck2);add(ck3);add(b1);add(b2);l1.setBounds(new Rectangle(350,150,200, 50);useName.setBounds(new Rectangle(300,200, 60, 50);passWord.setBounds(new Rectangle(300,250, 60, 5

33、0)tf1.setBounds(new Rectangle(370,210,200, 25);tf2.setBounds(new Rectangle(370,260,200, 25);ck1.setBounds(new Rectangle(350,280,50, 50);ck2.setBounds(new Rectangle(410,280,50, 50);ck3.setBounds(new Rectangle(470,280,50, 50);b1.setBounds(new Rectangle(320, 330, 40, 25);b2.setBounds(new Rectangle(400,

34、 330, 40, 25);b1.addActionListener(this);b2.addActionListener(this);tf2.setEchoChar(*);setBounds(100,50,800,700);setVisible(true);setResizable(false);this.addWindowListener(new WindowAdapter() Overridepublic void windowClosing(WindowEvent e) System.exit(0););public void actionPerformed(ActionEvent e

35、) if (e.getSource() = b1 & ck2.getState() / 确定if (tf1.getText().equals() | | tf2.getText().equals() JOptionPane.showMessageDialog(null,学生用户名和密码输入不能为空!); else conn = DB.getConn();stmt = DB.getState(conn);String sql = select * from login;rs = DB.getResultSet(stmt, sql);boolean check = false;try while

36、(rs.next() String userName = rs.getString(1); / 获得数据库第一列String passWord = rs.getString(2); / 获得数据库第二列if (tf1.getText().equals(userName)& tf2.getText().equals(passWord) / 判断语句check = true;this.dispose();str = tf1.getText();new Student(str);if (check = false) JOptionPane.showMessageDialog(null,登陆失败,请重

37、新输入学生用户名和密码!); catch (SQLException el) el.printStackTrace(); finally DB.close(rs);DB.close(stmt);DB.close(conn); else if (e.getSource() = b1 & ck1.getState() if (tf1.getText().equals() | | tf2.getText().equals() JOptionPane.showMessageDialog(null,请输入管理员用户名和密码!); else conn = DB.getConn();stmt = DB.ge

38、tState(conn);String sql = select * from administrator;rs = DB.getResultSet(stmt, sql);boolean check = false;try while (rs.next() String userName = rs.getString(l); / 获得数据库第一列String passWord = rs.getString(2); / 获得数据库第二列 if (tf1.getText().equals(userName)& tf2.getText().equals(passWord) / 判断语句 check

39、= true;this.dispose();new Administrator();if (check = false) JOptionPane.showMessageDialog(null,登陆失败,请重新输入管理员用户名和密码!); catch (SQLException el) el.printStackTrace(); finally DB.close(rs);DB.close(stmt);DB.close(conn); else if (e.getSource() = b1 & ck3.getState() if (tf1.getText().equals() | | tf2.get

40、Text().equals() JOptionPane.showMessageDialog(null,请输入教师用户名和密码!); else conn = DB.getConn();stmt = DB.getState(conn);String sql = select * from teacher;rs = DB.getResultSet(stmt, sql);boolean check = false;try while (rs.next() String userName = rs.getString(1); / 获得数据库第一列String passWord = rs.getStrin

41、g(2); / 获得数据库第二列 if (tf1.getText().equals(userName)& tf2.getText().equals(passWord) / 判断语句 check = true;this.dispose();new Teacher();if (check = false) JOptionPane.showMessageDialog(null,登陆失败,请重新输入教师用户名和密码!); catch (SQLException el) el.printStackTrace(); finally DB.close(rs);DB.close(stmt);DB.close(

42、conn); else if (e.getSource() = b2) tf1.setText();把用户名和密码设置为空tf2.setText();public static void main(String args) new Login().lauchFrame();10.3选课系统学生选课界面代码Student.javaimport java.awt.*;import java.awt.event.*;import java.sql.*;import java.util.*;public class Student extends Frame implements ActionList

43、ener, ItemListener Label l1, l2, l3, l4, l5, l6;Label field1, field2, field3, field4;TextArea area ;Button b1, b2, b3, b4;Checkbox box1, box2, box3, box4, box5, box6, box7, box8, box9;Connection conn = null;Statement stmt = null;ResultSet rs = null;Login login = new Login();public Student() public S

44、tudent(String str) this.setTitle(学生选课界面);setLayout(null);11 = new Label(当前位置-学生选课);12 = new Label(学号:);13 = new Label(姓名:);14 = new Label(学院:”);15 = new Label(班级:”);16 = new Label(下面为可以选修的课程:);field1 = new Label(str);field2 = new Label();field3 = new Label();field4 = new Label();lauch();add(ll);add(

45、l2);add(l3);add(l4);add(l5);add(l6);add(fieldl);add(field2);add(field3);add(field4);11. setBounds(new Rectangle(350, 50, 200, 50);12. setBounds(new Rectangle(150, 100, 30, 50);field1.setBounds(new Rectangle(185, 115, 80, 20);13. setBounds(new Rectangle(270, 100, 30, 50);field2.setBounds(new Rectangl

46、e(310, 115, 80, 20);14. setBounds(new Rectangle(400, 100, 30, 50);field3.setBounds(new Rectangle(440, 115, 90, 20);15. setBounds(new Rectangle(540, 100, 30, 50);field4.setBounds(new Rectangle(580, 115, 80, 20);16. setBounds(new Rectangle(150, 150, 200, 50); box1 = new Checkbox(离散数学”,false);box2 = ne

47、w Checkbox(汇编语言”,false);box3 = new Checkbox(java 语言设计”,false);box4 = new Checkbox(软件工程”,false);box5 = new Checkbox(操作系统,false);box6 = new Checkbox(马克思政治学,false);box7 = new Checkbox(数据结构”,false);box8 = new Checkbox(数据库系统,false);box9 = new Checkbox(jsp 程序设计,false);box1.addItemListener(this);box2.addIt

48、emListener(this);box3.addItemListener(this);box4.addItemListener(this);box5.addItemListener(this);box6.addItemListener(this);box7.addItemListener(this);box8.addItemListener(this);box9.addItemListener(this);add(box1);add(box2);add(box3);add(box4);add(box5);add(box6);add(box7);add(box8);add(box9);box1

49、.setBounds(new Rectangle(150,200,70,50)box2.setBounds(new Rectangle(220,200,70,50)box3.setBounds(new Rectangle(290,200,90,50)box4.setBounds(new Rectangle(380,200,70,50)box5.setBounds(new Rectangle(450,200,70,50)box6.setBounds(new Rectangle(520,200,90,50)box7.setBounds(new Rectangle(610,200,70,50)box

50、8.setBounds(new Rectangle(150,250,80,50)box9.setBounds(new Rectangle(230,250,80,50)area = new TextArea();add(area);area.setBounds(new Rectangle(150, 300, 540, 280);bl = new Button(确定);b2 = new Button(取消);b3 = new Button(查询);b4 = new Button(修改密码);add(b1);add(b2);add(b3);add(b4);b1.addActionListener(t

51、his);b2.addActionListener(this);b3.addActionListener(this);b4.addActionListener(this);b1.setBounds(150,600,40,25)b2.setBounds(250,600,40,25)b3.setBounds(350,600,40,25)b4.setBounds(450,600,60,25)setBounds(100,50,800,700);setVisible(true);setResizable(false);this.addWindowListener(new WindowAdapter()

52、Overridepublic void windowClosing(WindowEvent e) System.exit(0););public void actionPerformed(ActionEvent e) String sno, name, lessons, selectResult, insertStr;sno = field1.getText();name = field2.getText();lessons = area.getText();if(e.getSource() = bl) conn = DB.getConn(); stmt = DB.getState(conn)

53、; try selectResult = ( + + sno + + , + + name + + , + + lessons + , + );insertStr = INSERT INTO course values + selectResult; stmt.executeUpdate(insertStr);this.dispose(); new Query(sno); catch (SQLException h) System.out.println(h); finally DB.close(rs);DB.close(stmt); DB.close(conn); else if(e.get

54、Source() = b2) System.exit(O); else if(e.getSource() = b3) this.dispose(); new Query(sno); else if(e.getSource() = b4) this.dispose(); new Modify(); ArrayList num = new ArrayList(); public void itemStateChanged(ItemEvent e) Checkbox box = (Checkbox) e.getSource(); area.setText();if (box.getState() /

55、getState()确定此复选框是处于“开”状态,还是处于“关”状态num.add(box.getLabel();/getLabel()获取此复选框的标签for(int i=O;inum.size();i+) area.append(num.get(i)+n); else for(int i=O;inum.size();i+) if(box.getLabel().equals(num.get(i) num.remove(i); for(int i=O;inum.size();i+) area.append(num.get(i)+n);public void lauch() String nam

56、e, dept, banji;conn = DB.getConn();stmt = DB.getState(conn);String s = field1.getText();String sql = select * from student where username= + s + rs = DB.getResultSet(stmt, sql);try while(rs.next() name = rs.getString(name);dept = rs.getString(dept);banji = rs.getString(banji);field2.setText(name);fi

57、eld3.setText(dept);field4.setText(banji); catch(SQLException h) System.out.println(h); finally DB.close(rs);DB.close(stmt);DB.close(conn);10.4学生选课情况查询代码Query.javaimport java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.JOptionPane;public class Query extends Frame implements ActionListener Label l1, l2, l3, l4, l5, l6, l7;Label field1, field2, field3, field4;Button b1, b2;TextArea area;Conn

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!