




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、武汉理工大学华夏学院 课程设计报告书 课程名称: 软 件 工 程 题 目:学生 信息管理系统的设计与开发 系 名: 信息工程系 专业班级:计算机 1121 班姓 名: 刘 明 学 号: 指导教师 : 钱小红2015 年 7 月 9 日课程设计任务书学生姓名: 刘 明 专业班级: 计算机 1121 班 指导教师: 钱小红 工作单位: 信息工程系 设计题目 :学生信息管理系统的设计与开发 课程设计的目的与任务:软件工程课程设计是软件工程课程的后续实践课程,本课程设计的目的是通过一 周的实践训练, 开发一个学生信息管理系统, 使同学们经历一个软件从问题定义、 分析、设 计到开发的全过程和受到一次软件
2、系统开发的综合训练, 以便能熟练掌握软件开发的完整生 命周期过程及较全面地理解、 掌握和综合运用所学的软件工程的知识。 结合具体的学生信息 管理选题开发项目, 理解并掌握系统分析、 系统设计、 系统实施的主要环节和步骤以及软件 文档的制作能力,进一步提高学生分析问题、解决问题,进行一个完整系统开发的能力。 课程设计的内容与主要要求:要求学生根据所学的软件工程的知识,利用所学的Java 语言 /C+语言 /Vb 语言+Mysql/SQL 知识实现一个学生信息管理系统,并对实现后的软件进行测试。学生信息管理 是学校管理中一项烦琐的工作,各类人员都可能需要借助学生信息管理系统完成一些统计、 查询、汇
3、总等工作。例如:系统管理员需要建立新的角色和用户;对现有专业、班级、班级学生信息、老师信息及课程信息进行查询以及增加、修改;学生完成一门课程的学习后,教师需要录入学生的考试成绩,计算平均成绩、查看最 高最低分; 学生需要查询已结业的各门课程的成绩;系统主要实现用户管理、班级管理、课 程管理、成绩管理、学生管理、教师管理、用户登陆、修改密码等功能,详见下表。表 1.1 学生信息管理系统主要功能表编号功能名称功能说明1系统管理添加用户、角色2班级管理创建、浏览班级信息(班级 ID 、班级名称、专业名称、班级、年制、教师、教室、备注)3学生管理登记学生的基本信息(学生 ID 、学生编号、姓名、性别、
4、名族、籍贯、电话、政治面貌等),提供查询功能。4课程管理登记课程基本情况(课程 ID、班级 ID、课程名称、开设学期、教师编号、教师名称),提供查询5教师管理登记教师基本情况(姓名、年龄、性别、学历等),提供查询统计6成绩管理登记学生各门课程的考试成绩、提供查询、统计功能7授课管理登记教师讲授课程、授课地点、授课学期,提供查询功能8用户操作修改密码,重新登录,退出系统等课程设计的步骤及时间进度、场地安排本课程设计将安排在第 19 周, 教育技术中心 211。具体安排如下:7 月 6 日上午:下发任务,学生查找资料、确定实训项目;理清整理软件工程实验课所 完成的学生信息管理系统需求分析、系统设计
5、及相关模型的建立(通过 visio/rational rose/powerdesigner 建立系统的需求模型、数据模型及设计模型,具体包括数据流图、软 件结构图、程序流程图、 ER图、用例图、类图、时序图、活动图、状态图等);7 月 7 日 -7 月 9 日:完成学生信息管理系统的开发及测试;7 月 10 日:完成答辩验收、报告的写作,并将以上工作整理成为课程设计报告,于 7 月 10 日中午前提交课程设计报告。课程设计场地安排周次星期一星期二星期三星期四星期五第 19 周第 1-4 节第 1-4 节第 5-7 节第 1-4 节第 1-4 节地点现教 211现教 211现教 211现教 21
6、1现教 211课程设计报告撰写格式要求:1 设计题目与要求2 设计思想3 系统结构4 数据结构的说明和模块的算法流程图5 使用说明书(即用户手册)、运行结果、关键界面截图6 测试计划说明书、测试用例规格说明、缺陷报告7 自我评价与总结8 附录:程序清单,注意加注释(包括关键字、方法、变量等),在每个模块前加 注释;要求层次清楚、整洁规范、不得相互抄袭,凡正文内容有整段完全相同者一律以抄袭论处。设计报告正文字数不少于 0.2万字(不包括附录) 。第 1 级(章)题序和题名用黑体三号字;第 2 级(目)题序和题名用黑体小四号字;第3 级(条)题序和题名用黑体小四号字;正文内容用宋体五号字 (英文用
7、新罗马体 ),多倍行距 1.25。报告内容一律 使用 A4 打印纸计算机打印,页码在页下居中标明。必须使用国家公布的规范字。页面 设置:上空 2.5 cm ,下空 2.0 cm,左空 2.5 cm,右空 2.0cm(左装订)。插图图面要整齐、 美观,插图应与正文呼应,不能脱节。每幅插图应有图序与图题,图序编号要连续,图 序与图题间空一格且要放在插图下方居中处。课程设计考核及评分标准课程设计考核将综合考虑学生考勤和参与度, 系统设计方案正确性, 系统设计和开发效果以及课程设计报告书的质量。总分按五级记分法记载最后成绩:优秀( 10090 分),良好( 8089分),中等( 7079 分),及格(
8、 6069 分),不及格( 059分)指 导 教 师 签 字: 钱小红2015年 7月 9日系 主 任 签 字:邱珊2015年 7月 9日目录1. 系统概述 11.1 社会背景 11.2 研究中出现的主要问题 11.3 研究目的 11.4 开发环境和软件 22. 系统需求分析 22.1 系统设计 22.2 系统功能分析 22.3 可行性分析 23. 系统详细设计 33.1 系统概述 33.2 系统总体设计 33.3 系统详细设计 43.3.1 用户信息管理模块 43.3.2 学生信息管理模块 43.3.3 课程信息管理模块 53.3.4 选课信息管理模块 53.3.5 成绩信息管理模块 54.
9、 系统数据库设计 64.1 建立数据库 64.2 建立数据表 65. 系统测试 75.1 学生信息管理系统的登录 75.2 管理员登录 75.2.1 管理员对学生信息的添加 85.2.2 管理员对学生信息的修改 85.2.3 管理员对学生信息的查询 85.2.4 管理员对学生信息的删除 95.2.5 管理员显示学生信息 96. 总结 5参考文献 5附录:部分源代码 错 误 !未定义书签。1. 系统概述1.1 社会背景学生管理工作是每个学校必须面对的, 它是一项传统且繁琐的教育基础管理工作, 极为 耗费人力、 物力。 往常, 各学校采用人工管理形式每学期开学时相关人员分别统计各个学生 的情况,到
10、了期末又要对相关信息进行处理, 比如考试情况、 学生课程调动等,面对如此不 断反复、繁杂的变化,各学校都要耗费大量的人力、物力。同时,这种传统人工的方式来管 理学生工作,还存在着很多缺点,如效率低、保密性差,另外时间长,将产生大量的冗余文 件和数据,这给数据的查找、更新和维护工作带来了很大的困难。随着科学技术的不断提高, 特别是计算机、 网络等相关技术的日渐成熟, 其强大的功能 已被人们深刻认识, 它已进入人类社会的各个领域并发挥着越来越重要的作用, 特别是它具 有的手工管理所无法比拟的优点, 使得各个学校都相继采用了信息技术对学生的有关信息进 行管理。通过使用计算机技术等手段,将工作人员从重
11、复、繁杂的手工处理中解脱出来,提 高了工作效率, 而且减少了人工处理产生的错误。 使得教育基础管理工作迈上了一个新的台 阶,从而实现了教育基础管理的信息化、科学化、现代化。1.2 研究中出现的主要问题本文主要基于 Java 的学生信息管理系统为应用背景,主要研究以下两个方面的问题:(1) 采用比 C语言更先进的 Java技术建立系统模型和划分模块,采用基于 SQL 技术访问数 据库并构建一个完整的学生信息管理系统。(2) 改进 Java 技术的安全性,对系统进行全面综合的评测。分析测评结果,并就java 的安全机制的研究与实现提出了几个观点及改进建议。1.3 研究目的本统提供了学生信息管理中常
12、见的基本功能, 主要包括管理员和学生两大模块。 管理员 的主要功能有对学生信息和课程信息进行增加、删除、修改、 查找等操作,对选课信息进行 管理, 对成绩信息和用户信息进行修改、 查找等操作。 学生的主要功能有对学生信息和成绩 信息进行查看,对个人的密码信息进行修改等。1.4 开发环境和软件操作系统: winXP数据库软件: SQL Server 2005Java 开发工具: Eclipse2. 系统需求分析2.1 系统设计学生信息管理系统, 可用于学校等机构的学生信息管理, 查询,更新与维护, 使用 方便,易用性强,图形界面清晰明了。该软件用 java 语言编写,用 SQLServer200
13、5 数 据库作为后台的数据库进行信息的存储,用SQL语句完成学生学籍信息的添加,查询,修改,删除的操作以及成绩的录入, 修改,删除等。 用 ODBC驱动实现前台 Java与后台SQL数据库的连接。 Java 语言跨平台性强,可以在 windows ,linux ,ubuntu 等系统下 使用,方便简单,安全性好。 SQLServer2005 数据库高效安全,两者结合可相互利用各 自的优势。2 .2 系统功能分析传统的学习信息管理处理方式主要是手工处理, 一般只是打印一些学生的主要信息, 譬 如:学生个人信息、 学生各科分数、 学生各学期课程。本学生信息管理系统远远超越了传统 的手工处理方式,本
14、系统的大致功能有:1 用户登陆界面。该界面可以选择使用者的身份, “管理员,学生” 。不同的身份有不 同的操作界面和功能权限, ID 号和密码输入正确即可登录。2 学生管理界面:提供了学生个人信息、班级信息、专业信息、院级信息以及相关科 目的成绩查询,修改登录密码等功能。3 管理员管理界面:提供了对学生学籍信息的查询、添加、修改、删除,学生成绩的 录入、修改、删除,查询班级排名、修改密码等功能。4 管理员管理界面:拥有最高的权限,可以管理人员的登录和退出,通过学号查询学 生的信息,添加学生信息,修改学生的信息,删除学生的信息。5 信息分别存储在 SQL数据库的“学生信息表” 、“课程信息表”
15、、“选课信息表”和用 户信息表中,如果信息这四张表中不存在,将会无权利登录本管理系统。2 .3 可行性分析对于学生信息管理, 现在需要用计算机进行对这种庞大数据的处理, 本系统主要提供给 高校的老师和学生, 对于他们来说, 基于 JAVA系统的学生信息管理系统是非常简单且实用, 学生可以随时查看自己的个人信息, 如果有需要可以修改自己的个人信息。 对于管理者或者 说是老师而言, 他们可以在家就对学生进行有效的管理, 做到快捷,方便。所以从这几个角 度出发我们不难发现该系统的可操作性是完全可行的。3. 系统详细设计3 .1 系统概述对于学生信息管理系统而言, 会存在很多的实体对象, 这些对象之间
16、的关系处理非常的 重要,因此在最开始的时候首先想到的是设计数据库里的表结构以及表字段。 即想好了需求 中需要哪些表,表与表之间的关联是通过哪些字段。以及这样设计的话它的可行性。3 .2 系统总体设计学生信息管理系统主要包括管理员和学生两大模块。管理员模块包括:学生信息管理、 课程信息管理、选课信息管理、成绩信息管理、用户信息管理等。用户模块包括:学生信息查看、 成绩信息查看、个人信息管理等。 系统总体结构如图 3-1 所示,用户验证流程图如图3-2 所示。修改登陆密码查看课程信息查看各科成绩查看选课信息图 3-1 系统总体结构图登陆页面用户身份验证失败学生管理界面验证成功管理员管理界面图 3-
17、2 用户验证流程图3.3 系统详细设计3-3 所示。3.3.1 用户信息管理模块用户信息管理模块包括修改、查询、显示全部等。具体的结构图如图图 3-3 用户信息管理模块结构图3.3.2 学生信息管理模块学生信息管理模块包括增加、删除、修改、查询、显示全部等。具体的结构图如图 3-4 所示 图 3-4 学生信息管理模块结构图3.3.3 课程信息管理模块课程信息管理模块包括增加、删除、修改、查询、显示全部等。具体的结构图如图 3-5 所示 图 3-5 课程信息管理模块结构图3.3.4 选课信息管理模块选课信息管理模块包括查询、显示全部等。具体的结构图如图 3-6 所示。图 3-6 选课信息管理模块
18、结构图3.3.5 成绩信息管理模块成绩信息管理模块包括修改成绩、查询、显示全部等。具体的结构图如图3-7 所示。图 3-7 成绩信息管理模块结构图4. 系统数据库设计4.1 建立数据库安装好 SQL Server 2005 之后,连接数据库在里面新建 student数据库文件4.2 建立数据表在数据库 student 中共有 4 张数据表: s(学生信息表) 、 c(课程信息表) 、 sc(选课信 息表)、 unpw (用户信息表) ,下面定义每张表的字段名称和数据类型。s(学生信息表)字段名称数据类型中文描述snochar (10)学号,关键字snchar (20)姓名saint年龄ssch
19、ar (10)性别sdchar (10)院系c(课程信息表)字段名称数据类型中文描述cnochar (10)课程号,关键字cnchar (30)课程名pcnochar (10)先行课程号sc(选课信息表)字段名称数据类型中文描述snochar (10)学号,关键字cnochar (10)课程号,关键字gint成绩unpw (用户信息表)字段名称数据类型中文描述unchar (10)用户名,关键字pwchar (10)密码qxint角色5. 系统测试5.1 学生信息管理系统的登录 学生信息管理系统可由管理员和学生两种身份的人使用。 管理员和学生身份登录所能操 作的功能有很大的区别。由于在后台数据
20、库里面新建的用户只有一个管理员 (admin) 和一个 学生 (xuesheng),所以登录界面只有这种情况,如图 5-1 所示图 5-1 登录界面5.2 管理员登录 管理员登录之后就会出现如图 5-2 所示的界面, 管理员可以进入学生信息管理、 课程信 息管理、选课信息管理、成绩信息管理、用户信息管理以及退出管理系统就行相应的添加、 修改、查询和删除。图 5-2 管理员登录系统后的界面5.2.1 管理员对学生信息的添加 点击学生信息管理模块之后, 管理员就在学生信息管理模块上面选择 “添加” 就可以添 加学生信息了,如图 5-3 所示图 5-3 添加学生信息5.2.2 管理员对学生信息的修改
21、修改” 就可以修点击学生信息管理模块之后, 管理员就在学生信息管理模块上面选择 改学生信息了,如图 5-4 所示图 5-4 修改学生信息5.2.3 管理员对学生信息的查询点击学生信息管理模块之后, 管理员就在学生信息管理模块上面选择 “查询” 就可以查 询学生信息了,如图 5-5 所示图 5-5 查询学生信息5.2.4 管理员对学生信息的删除删除” 就可以删显示” 就可以显点击学生信息管理模块之后, 管理员就在学生信息管理模块上面选择 除学生信息了,如图 5-6 所示图 5-6 学生信息删除5.2.5 管理员显示学生信息点击学生信息管理模块之后, 管理员就在学生信息管理模块上面选择示所有学生信
22、息了,如图5-7 所示图 5-7 显示学生信息6. 总结 在这次课程设计的过程中, 在与代码为伴的一个星期里, 我真的收获了很多。 这次软件 工程的课程设计, 让我巩固了这学期学的知识, 又复习了关于数据库的知识, 更是学会了如 何将所学的知识运用到实际,真正的应用软件开发,Java 开发中来。并且,在设计过程中, 通过上网搜索有关资料的同时,也开阔了视野,丰富了自己的知识面。为期一个星期的课程设计已经结束了, 在这个过程中我获益匪浅, 比如说初步学会了用 Java开发界面, 虽然做出的网页不是特别美观, 很多地方有瑕疵, 但是从一窍不通成长到能 逐渐能做出一个功能基本完善的简单的系统, 一步
23、步走来, 其中收获的不仅是知识, 还有动 手能力,自学能力,合作能力。 总体来说,这次的软件工程课程设计没有我想象中的那么难, 刚开始设计时就遇到了很多困难, 不过认真听过老师每天的讲解后, 很多困难也就迎刃而解 了。同时也要感谢老师和同学们的帮助,如果没有他们的帮助,很难完成这次的课程设计。虽然我的设计其功能基本符合用户需求, 能够完成基本的业务操作流程, 并提供部分系 统维护功能 ,使用户方便进行数据添加、修改、查询和删除。但是由于设计时间较短,所以 该系统还有许多不尽如人意的地方, 比如说明文档比较少, 用户界面不够美观, 出错处理不 够等多方面的问题。这些都有待进一步改善,希望在以后的
24、学习和工作中得以完善。参考文献1 邱珊 主编, Java 语言程序设计 ,科学出版社 2008.22 高金兰,鲁立, 数据库原理与 SQL Server 应用,科学出版社 2010.33 李春宝 主编,数据库原理与应用 ,清华大学出版社, 2009.4附录1. 程序类的设计SimpleStudentManager 主函数类DLFrame 登陆界面类ManagerFrane 管理员界面类StudentFrame 学生界面类SM 学生信息管理的类SAdd 用于学生信息管理中增加或修改某条记录的界面的类SSelect 用于学生基本信息管理中查询时输入学号的界面的类CM 课程信息管理的类CAdd 用于
25、课程信息管理中增加或修改某条记录的界面的类CSelect 用于课程信息管理中查询时输入课程号的界面的类SCM 选课信息管理的类SCSelect 用于选课信息管理中查询时输入学号的界面的类GM 成绩信息管理的类GAdd 用于成绩信息管理中修改成绩的界面的类GSelect 用于成绩信息管理中查询时输入学号的界面的类PM 用户信息管理的类UAdd 用于用户信息管理中修改密码的界面的类PSelect 用于用户信息管理中查询时输入用户名的界面的类StudentS 用于学生信息查看时输入学号的界面的类StudentSelect 用于成绩信息查看时输入学号的界面的类PPM 个人信息管理的类PPSelect
26、用于个人信息管理查询时输入用户名的界面的类2. 源代码import javax.swing.*;import java.awt.*;import java.sql.*;class CAdd extends JFrame implements ActionListener/ 用于课程信息管理中增加或修改 某条记录的界面JLabel lcno = new JLabel( 课程号: );JLabel lcname = new JLabel( 课程名: );JLabel lpcno = new JLabel( 先行课程号: );JTextField tcno = new JTextField(10);
27、JTextField tcname = new JTextField(10);JTextField tpcno = new JTextField(10);JButton btnOK = new JButton( 确定 );JButton btnCancel = new JButton( 取消 );JPanel p = new JPanel();Connection con = null;Statement stmt = null;ResultSet rs = null;boolean isNewsm = true;/ 用于判断是否显示课程信息管理的界面 public CAdd() / 构造方法
28、this.setTitle( 增加 );this.setBounds(200, 200, 146, 235);p.setLayout(new FlowLayout(FlowLayout.LEFT); p.add(lcno);p.add(tcno);p.add(lcname);p.add(tcname);p.add(lpcno);p.add(tpcno);p.add(btnOK);p.add(btnCancel);this.add(p);this.setResizable(false); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); b
29、tnOK.addActionListener(this);btnCancel.addActionListener(this);this.show();public void connDB() / 连接数据库try catch (ClassNotFoundException e) e.printStackTrace();try con = DriverManager.getConnection(sa, 123);stmt = con.createStatement(); catch (SQLException e) e.printStackTrace();public void closeDB(
30、) / 关闭连接try stmt.close();con.close(); catch (SQLException e) e.printStackTrace();public void insertst() / 插入记录String kch = null;String kcm = null;String xxkch=null;kch = tcno.getText();kcm = tcname.getText(); xxkch=tpcno.getText();if (this.getTitle() = 修改) / 如果是修改记录,先删除再增加 try this.connDB();int rs1
31、= stmt.executeUpdate(delete from c where cno=+ kch + ); catch (SQLException e) e.printStackTrace();String str = insert into c values( + kch + , + kcm + ,+ xxkch + ); this.connDB();/ 连接数据库 try stmt.executeUpdate(str);newJOptionPane.showMessageDialog(null, this.getTitle() + 成功! , 提 示 , JOptionPane.INF
32、ORMA TION_MESSAGE, ImageIcon(menu4.gif); this.setVisible(false);catch (SQLException e) JOptionPane.showMessageDialog(null, 课程号已存在! ); tcno.setText();public void actionPerformed(ActionEvent e) if (e.getActionCommand() = 确定 ) this.insertst();if (isNewsm) new CM( 课程信息管理 ).display();isNewsm = true;if (e
33、.getActionCommand() = 取消 ) this.setVisible(false);new CM( 课程信息管理 ).display(); import java.sql.*; import java.util.*; import javax.swing.*; class CM extends JFrame implements ActionListener / 课程信息管理 JPanel p = new JPanel();JButton btnAdd = new JButton( 增加 ); JButton btnDelete = new JButton( 删除 ); JBu
34、tton btnAlter = new JButton( 修改 ); JButton btnSearch = new JButton( 查询 ); JButton btnDisplay = new JButton( 显示 ); JMenuBar mb = new JMenuBar();JPanel p1 = new JPanel();JTable sTable; JScrollPane scroll; Connection con = null; Statement stmt = null; ResultSet rs = null; Object playerInfo;CSelect cst;
35、String mkch = null; boolean bstd = false; CM(String title) / 构造方法 super(title); add(South, p); this.add(Center, p1); mb.add(btnAdd); mb.add(btnDelete); mb.add(btnAlter); mb.add(btnSearch); mb.add(btnDisplay); this.connDB();/ 连接数据库 this.setBounds(200, 200, 400, 260); btnAdd.addActionListener(this); b
36、tnDelete.addActionListener(this); btnAlter.addActionListener(this); btnSearch.addActionListener(this); btnDisplay.addActionListener(this); this.setJMenuBar(mb);/ this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setResizable(false);show();CM(CSelect cst, String title) / 构造方法 super(title); th
37、is.cst = cst; bstd = true;add(South, p); this.add(Center, p1); mb.add(btnAdd); mb.add(btnDelete); mb.add(btnAlter); mb.add(btnSearch); mb.add(btnDisplay); this.connDB();this.setBounds(200, 200, 400, 260); btnAdd.addActionListener(this); btnDelete.addActionListener(this); btnAlter.addActionListener(t
38、his); btnSearch.addActionListener(this); btnDisplay.addActionListener(this); this.setJMenuBar(mb);/ this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setResizable(false);show();public void display() / 显示所有的课程信息int i = 0;int j = 0;int k = 0;List al = new ArrayList();try rs = stmt.executeQuery
39、(select * from c);while (rs.next() / 找出表中的记录数赋给 i al.add(rs.getString(cno); al.add(rs.getString(cn); al.add(rs.getString(pcno); i+; catch (SQLException e) e.printStackTrace();playerInfo = new Objecti3;String columnNames = 课程号 , 课程名 , 先行课程号 ; try rs = stmt.executeQuery(select * from c order by cno);
40、while (rs.next() playerInfoj0 = rs.getString(cno);playerInfoj1 = rs.getString(cn);playerInfoj2 = rs.getString(pcno); j+; catch (SQLException e) e.printStackTrace();sTable = new JTable(playerInfo, columnNames);/ 创建网格 p1.add(sTable);scroll = new JScrollPane(sTable);this.add(scroll);public void connDB(
41、) / 连接数据库try catch (ClassNotFoundException e) e.printStackTrace(); try con = DriverManager.getConnection( sa, 123);stmt = con.createStatement(); catch (SQLException e) e.printStackTrace();public void closeDB() / 关闭连接try stmt.close(); con.close(); catch (SQLException e) e.printStackTrace();public voi
42、d delete() / 删除某个课程信息String kch = null;String kcm = null;String xxkch = null;int row = -1;row = sTable.getSelectedRow();if (row = -1) / 判断要删除的信息是否被选中 JOptionPane.showMessageDialog(null, 请选择要删除的记录! ); else if (!bstd) / 判断选择的是不是查询后的结果 int j1 = 0;try rs = stmt.executeQuery(select * from c);while (rs.ne
43、xt() & j1 = row) / 找出当前被选中的记录在数据库中 的对应kch = rs.getString(cno); 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 where cno= + kch + );/ 删除数据库中当前被选中的记录 JOptionPane.showMessageDialog(null, 记录删除成
44、功! ); 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, 记录删除成功! ); this.dispose();new CM( 课程信息管理 ).display(); catch (SQLException e) e.pr
45、intStackTrace();public void update() / 修改某个课程记录String kch = null;String kcm = null;String xxkch = null;int row = -1;row = sTable.getSelectedRow();if (row = -1) JOptionPane.showMessageDialog(null, 请选择要修改的记录! ); else int j1 = 0;try if (!bstd) / 判断选择的是不是查询后的结果rs = stmt.executeQuery(select * from c); el
46、se rs = stmt.executeQuery(select * from c where cno= + mkch+ );while (rs.next() & j1 = row) / 找出当前被选中的记录在数据库中的对 应kch = rs.getString(cno); kcm = rs.getString(cn); xxkch = rs.getString(pcno); j1+; catch (SQLException e) e.printStackTrace();CAdd cadd = new CAdd(); cadd.setTitle( 修改 ); this.dispose();pu
47、blic void select() / 显示某个查询的结果mkch = cst.kch; playerInfo = new Object13;String columnNames = 课程号 , 课程名 , 先行课程号 ; try rs = stmt.executeQuery(select * from c where cno= + mkch + ); while (rs.next() playerInfo00 = rs.getString(cno);playerInfo01 = rs.getString(cn);playerInfo02 = rs.getString(pcno); catc
48、h (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); this.add(scroll);public void actionPerf
49、ormed(ActionEvent e) if (e.getActionCommand() = 增加 ) new CAdd();this.dispose();if (e.getActionCommand() = 删除 ) this.delete();if (e.getActionCommand() = 修改 ) this.update();if (e.getActionCommand() = 查询 ) cst = new CSelect();this.dispose();if (e.getActionCommand() = 显示 ) this.dispose();new CM( 课程信息管理
50、).display();import javax.swing.*;public class CSelect extends JFrame implements ActionListener / 用于课程信息管理中查 询时输入课程号的界面JLabel ltitle = new JLabel( 课程号: );JTextField tcno = new JTextField(8);JButton btnOK = new JButton( 确定 );JPanel p = new JPanel();String kch = null;public CSelect() / 构造方法p.add(ltitle
51、);p.add(tcno);p.add(btnOK);add(p);this.setBounds(300, 280, 200, 160); btnOK.addActionListener(this);this.setResizable(false);this.show(); public void actionPerformed(ActionEvent e) kch = tcno.getText();/ 取得当前输入课程号的值 if (kch.equals() / 判断是否输入了课程号 JOptionPane.showMessageDialog(null, 课程号不能为空,请重新输入! );
52、else this.dispose(); new CM(this, 课程信息管理 ).select();import javax.swing.*;import java.awt.*;import java.sql.*;class DLFrame extends JFrame implements ActionListener, ItemListener / 登录界面 JPanel p1 = null; JPanel p2 = null; JPanel p3 = null;JLabel userName = new JLabel( 用户: );JTextField txtUser = new J
53、TextField(); JLabel password = new JLabel( 密码: ); JPasswordField txtPwd = new JPasswordField(6); JLabel role = new JLabel( 角色: );JComboBox cbrole = new JComboBox(); JButton btnLogin = new JButton( 登录 ); JButton btncz = new JButton( 重置 ); JButton btnCancel = new JButton( 取消 ); JLabel imageLabel;Icon image;static int OK = 1;static int CANCEL = 0; int actionCode = 0;Connection con = null;Statement stmt = null; ResultSet rs = null; int qxian = 0;public DLFrame() / 构造方法 super(登录界面 ); p1 = new JPanel(); p2 = new JPanel(); p3 = new JPanel(); cbrole
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年灌溉工程技术高级考试预测题集
- 2025年销售总监竞聘笔试备考策略
- 2025年水利工程灌区管理工高级知识精讲与模拟试题集
- 2025年初中体育教师招聘面试要点及预测题解析
- 电击安全知识培训
- 2025年特岗教师招聘考试小学数学命题趋势分析
- 2025年物业管理技能进阶考试必-备知识点与模拟题
- 2025年财务会计实操手册中级考试模拟题集及案例分析
- 2025年火电运行值班员中级考试模拟题及解析
- 2025年游戏开发工程师游戏设计方向面试题集解析
- 电石炉巡检工课件
- 天翼云认证高级解决方案架构师练习试题附答案
- 成人脓毒症患者医学营养治疗指南(2025版)
- 仲裁证人出庭作证申请书
- 《普通高中职业规划教育现状的调研探析报告》7800字(论文)
- 光伏区围栏施工方案
- 2025年辽宁沈阳地铁集团有限公司招聘笔试参考题库含答案解析
- 《路径规划算法》课件
- GB/T 30843.2-20241 kV以上不超过35 kV的通用变频调速设备第2部分:试验方法
- 《物联网技术与应用》课件
- 自来水厂改建工程施工组织设计方案
评论
0/150
提交评论