java学生信息标准管理系统.doc
《java学生信息标准管理系统.doc》由会员分享,可在线阅读,更多相关《java学生信息标准管理系统.doc(35页珍藏版)》请在咨信网上搜索。
目录 1 引 言 1 1.1背景及意义 1 1.2 试验技术选择 1 1.3 课题实现技术简明说明 5 1.4可行性分析 6 2系统需求分析 6 3 学生信息管理系统设计 7 3.1数据模型分析和设计 8 3.2 结构设计和结构功效图 10 3.2.1 结构设计 10 3.2.2 功效结构图 10 4 系统实现 12 5 系统调试和测试 17 5.1系统功效测试 17 5.2系统调试常见错误 17 6 试验小结 19 参考文件 19 附录代码 1 引 言 1.1背景及意义 利用计算机进行学生信息管理,不仅能够确保正确、无误、快速输出,而且还能够利用计算机对相关信息进行查询,检索快速、查找方便、可靠性高、存放量大、保密性好。要科学地实现信息化管理,开发一个适合学校,能够进行信息存放、查询、修改等功效信息管理系统是十分关键。本课题就是针对便于学生信息管理问题而设计一个管理系统。 1.2 试验技术选择 本课题设计关键利用技术有两个:java项目开发和oracle对数据库操作。这里关键介绍本课题为何选择这两个开发技术: ⑴首先了解一下Java语言特点 Java是一个跨平台,适合于分布式计算环境面向对象编程语言。具体来说,它含有以下特征: 简单性、面向对象、分布式、解释型、可靠、安全、平台无关、可移植、高性能、多线程、动态性等。 下面我们将关键介绍Java语言面向对象、平台无关、分布式、多线程、可靠和安全等特征。 ①面向对象 面向对象其实是现实世界模型自然延伸。现实世界中任何实体全部能够看作是对象。对象之间经过消息相互作用。另外,现实世界中任何实体全部可归属于某类事物,任何对象全部是某一类事物实例。假如说传统过程式编程语言是以过程为中心以算法为驱动话,面向对象编程语言则是以对象为中心以消息为驱动。用公式表示,过程式编程语言为:程序=算法+数据;面向对象编程语言为:程序=对象+消息。 全部面向对象编程语言全部支持三个概念:封装、多态性和继承,Java也不例外。现实世界中对象全部有属性和行为,映射到计算机程序上,属性则表示对象数据,行为表示对象方法(其作用是处理数据或同外界交互)。所谓封装,就是用一个自主式框架把对象数据和方法联在一起形成一个整体。能够说,对象是支持封装手段,是封装基础单位。Java语言封装性较强,因为Java无全程变量,无主函数,在Java中绝大部分组员是对象,只有简单数字类型、字符类型和布尔类型除外。而对于这些类型,Java也提供了对应对象类型方便和其它对象交互操作。 多态性就是多个表现形式,具体来说,能够用“一个对外接口,多个内在实现方法”表示。举一个例子,计算机中堆栈能够存放多种格式数据,包含整型,浮点或字符。不管存放是何种数据,堆栈算法实现是一样。针对不一样数据类型,编程人员无须手工选择,只需使用统一接口名,系统可自动选择。运算符重载(operatoroverload)一直被认为是一个优异多态机制表现,但因为考虑到它会使程序变得难以了解,所以Java最终还是把它取消了。 继承是指一个对象直接使用另一对象属性和方法。实际上,我们碰到很多实体全部有继承含义。比如,若把汽车看成一个实体,它能够分成多个子实体,如:卡车、公共汽车等。这些子实体全部含有汽车特征,所以,汽车是它们“父亲”,而这些子实体则是汽车“孩子”。Java提供给用户一系列类(class),Java类有层次结构,子类能够继承父类属性和方法。和另外部分面向对象编程语言不一样,Java只支持单一继承。 ②平台无关性 Java是平台无关语言是指用Java写应用程序不用修改就可在不一样软硬件平台上运行。平台无关有两种:源代码级和目标代码级。C和C++含有一定程度源代码级平台无关,表明用C或C++写应用程序不用修改只需重新编译就能够在不一样平台上运行。 Java关键靠Java虚拟机(JVM)在目标码级实现平台无关性。JVM是一个抽象机器,它附着在具体操作系统之上,本身含有一套虚机器指令,并有自己栈、寄存器组等。但JVM通常是在软件上而不是在硬件上实现。(现在,SUN系统企业已经设计实现了Java芯片,关键使用在网络计算机NC上。 另外,Java芯片出现也会使Java更轻易嵌入到家用电器中。)JVM是Java平台无关基础,在JVM上,有一个Java解释器用来解释Java编译器编译后程序。Java编程人员在编写完程序后,经过Java编译器将Java源程序编译为JVM字节代码。任何一台机器只要配置了Java解释器,就能够运行这个程序,而不管这种字节码是在何种平台上生成。另外,Java采取是基于IEEE标准数据类型。经过JVM确保数据类型一致性,也确保了Java平台无关性。 Java平台无关性含有深远意义。首先,它使得编程人员所梦寐以求事情(开发一次软件在任意平台上运行)变成事实,这将大大加紧和促进软件产品开发。其次Java平台无关性恰好迎合了“网络计算机”思想。假如大量常见应用软件(如字处理软件等)全部用Java重新编写,而且放在某个Internet服务器上,那么含有NC用户将不需要占用大量空间安装软件,她们只需要一个Java解释器,每当需要使用某种应用软件时,下载该软件字节代码即可,运行结果也能够发回服务器。现在,已经有数家企业开始使用这种新型计算模式构筑自己企业信息系统。 ③分布式 分布式包含数据分布和操作分布。数据分布是指数据能够分散在网络不一样主机上,操作分布是指把一个计算分散在不一样主机上处理。 Java支持WWW用户机/服务器计算模式,所以,它支持这两种分布性。对于前者,Java提供了一个叫作URL对象,利用这个对象,你能够打开并访问含有相同URL地址上对象,访问方法和访问当地文件系统相同。对于后者,Javaapplet小程序能够从服务器下载到用户端,即部分计算在用户端进行,提升系统实施效率。 Java提供了一整套网络类库,开发人员能够利用类库进行网络程序设计,方便得实现Java分布式特征。 ④可靠性和安全性 Java最初设计目标是应用于电子类消费产品,所以要求较高可靠性。Java即使源于C++,但它消除了很多C++不可靠原因,能够预防很多编程错误。首先,Java是强类型语言,要求显式方法申明,这确保了编译器能够发觉方法调用错误,确保程序愈加可靠;其次,Java不支持指针,这杜绝了内存非法访问;第三,Java自动单元搜集预防了内存丢失等动态内存分配造成问题;第四,Java解释器运行时实施检验,能够发觉数组和字符串访问越界,最终,Java提供了异常处理机制,程序员能够把一组错误代码放在一个地方,这么能够简化错误处理任务便于恢复。 因为Java关键用于网络应用程序开发,所以对安全性有较高要求。假如没有安全确保,用户从网络下载程序实施就很危险。Java经过自己安全机制预防了病毒程序产生和下载程序对当地系统威胁破坏。当Java字节码进入解释器时,首先必需经过字节码校验器检验,然后,Java解释器将决定程序中类内存布局,随即,类装载器负责把来自网络类装载到单独内存区域,避免应用程序之间相互干扰破坏。最终,用户端用户还能够限制从网络上装载类只能访问一些文件系统。 上述多个机制结合起来,使得Java成为安全编程语言。 ⑤多线程 线程是操作系统一个新概念,它又被称作轻量进程,是比传统进程更小可并发实施单位。 C和C++采取单线程体系结构,而Java却提供了多线程支持。 Java在两方面支持多线程。首先,Java环境本身就是多线程。若干个系统线程运行负责必需无用单元回收,系统维护等系统级操作;其次,Java语言内置多线程控制,能够大大简化多线程应用程序开发。Java提供了一个类Thread,由它负责开启运行,终止线程,并可检验线程状态。Java线程还包含一组同时原语。这些原语负责对线程实施并发控制。利用Java多线程编程接口,开发人员能够方便得写出支持多线程应用程序,提升程序实施效率。必需注意地是,Java多线程支持在一定程度上受运行时支持平台限制。比如,假如操作系统本身不支持多线程,Java多线程特征可能就表现不出来。 ⑵ oracle数据库特点 ●无范式要求,可依据实际系统需求结构数据库。 ●采取标准SQL结构化查询语言。 ●含有丰富开发工具,覆盖开发周期各阶段。 ●支持大型数据库,数据类型支持数字、字符、大至4GB二进制数据,为数据库面向存放提供数据支持。 ●含有第四代语言开发工具(SQL*formS、SQL*REPORTS、SQL*MENU等)。 ●含有字符界面和图形界面,易于开发。 ●经过SQL*DBA控制用户权限,提供数据保护功效,监控数据库 运行状态,调整数据缓冲区大小。 ●分布优化查询功效。 ●含有数据透明、网络透明,支持异种网络、异构数据库系统。并行 处理采取动态数据分片技术。 ●支持用户机/服务器体系结构及混合体系结构(集中式、分布式、 用户机/服务器)。 ●实现了两阶段提交、多线索查询手段。 ●支持多个系统平台(HPUX、SUNOS、OSF/1、VMS、 WINDOWS、WINDOWS/NT、OS/2)。 ●数据安全保护方法:没有读锁,采取快照SNAP方法完全消除了分布读写冲突。自动检测死锁和冲突并处理。 ●数据安全等级为C2级(最高级)。 ●数据库内模支持多字节码制,支持多个语言文字编码。 ●含有面向制造系统管理信息系统和财务系统应用系统。 总而言之,选择java作为开发语言,oracle作为数据库开发工具是个不错选择。java语言面向对象、平台无关、分布式、多线程、可靠和安全等特征,使得开发出来项目含有健壮性、可维护性、可移植性等特点。Oracle是现在最具权威数据库产品,它含有兼容性、可移植性、可联结性、高生产率和开放性特点,使它成为当今众多程序开发人员首选数据库开发工具。所以本课题选择java和oracle作为开发技术是为以后开发更复杂项目打下基础,以免到时候碰到相关技术问题而不知所措。 1.3 课题实现技术简明说明 本课题关键利用了java图形编程和oracle数据库操作。 Java图形编程给用户提供了一个直观、易于和用户进行交互图形界面。在图形编程中,利用了大量java.swing包中类,之所以选择swing包中类而不选java.awt包中类,关键是swing包中类能给用户提供愈加好观感。 oracle数据库操作这部分内容分成三部分来实现:首先,编写对数据库操作类,包含:连接数据库、实施sql语句、关闭数据库连接等。其次,编写一个用于对学生信息进行数据库操作类,包含:学生信息增加、修改、删除和查询等。最终,编写一个用于对课程相关信息进行数据库操作类,包含:对课程信息增加、修改、删除、查询等等。 经过结合图形编程和数据库编程,从而基础上实现了学生信息管理基础功效,因为本人技术上不足,难免有些地方需要改善,这些存在问题全部将成为本人前进动力,并在以后愈加完善本课题设计。 1.4可行性分析 系统性质为管理软件,所以数据库设计和操纵是系统设计关键。这里从两方面分析技术上可行性。 首先,对于java编程部分,java课已经开过。所以在课题设计中,对java图形编程方面问题全部能迎韧而解。 其次,对于数据库相关知识,本人利用了大量时间对相关书籍阅读和上机试验,基础上掌握了利用oracle数据库技术,含有一定系统分析和设计能力,熟悉数据库设计和操纵;所以该系统实现在技术上是可行。 2系统需求分析 本课题依据学生信息管理综合分析,便出于方便管理考虑,将学生信息管理系统功效总结起来,共需要实现以下多个方面功效: ①管理学生信息 管理全部学生基础信息,对学生信息操作包含添加、修改、删除等;能够依据多种条件查询出需要信息,比如修改,能够经过学生学号查询出学生基础信息,然后经过对需要修改项进行修改并保留修改后结果存入数据库学生表中。 ②管理课程信息 管理全部课程基础信息,包含对课程信息添加、修改、删除等操作;能够依据多种条件查询出需要信息,并对对应信息进行操作。比如修改和删除,能够经过学生学号查询出学生对应课程信息,对对应课程进行修改、删除操作。 ③学生选课和成绩 依据学生学号进行选课,登记所选课程成绩;能够依据学号查询出选课信息和成绩。 经过以上功效设计和实现,并实现学生信息管理系统基础功效。 3 学生信息管理系统设计 3.1数据模型分析和设计 数据库模型描述了在数据库中结构化和操纵数据方法,模型结构部分要求了数据怎样被描述(比如树、表等);模型操纵部分要求了数据添加、删除、显示、维护、打印、查找、选择、排序和更新等操作。数据库模型分类:分层模型、关系模型、网络模型和对象模型。 本课题选择关系模型,关系模型是现在最关键一个数据模型。关系数据库系统采取关系模型作为数据组织方法。关系数据模型含有下列优点: ● 关系模型和非关系模型不一样,它是建立在严格数学概念基础上。 ● 关系模型概念单一。不管实体还是实体之间联络全部用关系表示。对数据检索结构也是关系(即表)。所以其数据结构简单、清楚,拥护易懂易用。 ● 关系模型存取路径对用户透明,从而含有更高数据独立性、愈加好安全保密性,也简化了程序员工作和数据库开发建立工作。 所以,关系数据模型诞生以后发展快速,深受拥护喜爱,这也是本课题选择关系数据模型原因。 当然,关系数据模型也有缺点,其中最关键缺点是,因为存取路件对用户透明,查询效率往往不如非关系数据模型。所以为了提升性能,必需对用户查询请求进行优化,增加了开发数据库管理系统难度。 本课题关系数据模型数据结构可分为三个表来表示:学生信息表(Student)、课程信息表(Course)、学生选课表(SC); 学生信息表用于统计学生基础信息,如表3-1;课程信息表用于统计课程基础信息,如表3-2;学生选课表以下表3-3。这三个表对应E-R图分别是:图3.1 学生信息E-R图;图3.2 课程信息E-R图;图 3.3 学生选课E-R图;以下图。 表3-1 学生信息表(Student) 名称 数据类型 主键 非空 学号 Number(10) Yes Yes 学生姓名 Varchar2 No Yes 性别 Char(2) No No 年纪 Char(2) No No 专业 Varchar2 No No 学院 Char(8) No No 表3-2 课程信息表(Course) 名称 数据类型 主键 非空 课程编号 Char(4) Yes Yes 课程名称 Varchar2 No Yes 讲课老师 Varchar2 No No 上课地点 Varchar2 No No 课程类别 Char(1) No No 表3-3 学生选课表(SC) 名称 数据类型 主键 非空 学号 Char(10) Yes Yes 课程编号 Char(4) Yes Yes 成绩 Number(4,1) No No 学生 学号 学生姓名 性别 专业 年级 出生 图3.1 学生信息E-R图 课程 课程编号 上课地点 课程名称 讲课老师 课程类别 图3.2 课程信息E-R图 选课表 学号 课程编号 成绩 图3.3 学生选课E-R图 3.2 结构设计和结构功效图 3.2.1 结构设计 依据对系统进行需求分析,本系统将分为4个模块: ● 学生管理 管理学生基础信息,包含个人信息添加、修改、删除和选课信息添加。 ● 课程管理 管理课程基础信息,包含课程信息添加、修改和删除。 ● 成绩管理 管理学生选课成绩信息,包含成绩登记和修改。 ● 信息查询 查询已经登记信息,包含学生基础信息、课程基础信息和成绩信息。 3.2.2 功效结构图 学生管理系统功效结构图3.4所表示。 学生管理系统 学生管理 课程管理 成绩管理 信息查询 添加 增加 删除 学生查询 增加 课程查询 修改 修改 修改 删除 学生选课 成绩查询 按姓名查询 按学号查询 按性别查询 按专业查询 按学院查询 按课程名称查询 查询全部科目成绩 按讲课老师查询 图3.4 学生管理系统功效结构图 4 系统实现 该系统由6个模块组成,包含学生管理系统主界面模块、学生信息管理模块、课程信息管理模块、成绩信息管理模块、信息查询模块和数据操作模块。下面分别加以叙述: ① 学生管理系统主界面模块 学生管理系统主界面模块包含StuMS.java和StuMain.java两个文件。StuMS是学生管理系统主运行类,其中有运行整个程序main方法,该文件生成了StuMain类一个实例,从而生成了学生管理系统界面,图4.1所表示。StuMain类继承自JFrame类,实现了ActionListener接口,她有一个不带参数结构方法StuMain(),用来生成StuMain实例。StuMain类将全部功效集中到菜单栏中,并经过调用其它模块来实现学生管理系统各个功效。 图4.1 学生管理系统主界面 ② 学生信息管理模块 学生信息管理模块关键由StuInfo.java、AddStuInfo.java、EdiStuInfo.java、DelStuInfo.java、SelectCourse.java和StuInfoSearchSnum.java累计6个文件组成,其组成关系图4.2所表示。 学生信息超类 StuInfo.java 增加学生信息 AddStuInfo.java 修改学生信息 EdiStuInfo.java 删除学生信息 DelStuInfo.java 学生选课 SelectCourse.java 按学号查询 StuInfoSearchSnum.java 按学号查询 StuInfoSearchSnum.java 图4.2 学生信息管理模块功效结构图 学生信息管理模块6个文件组成了主界面中“学生管理”菜单内容,其中包含增加、修改、删除和学生选课功效,图4.3所表示。 图4.3 学生信息管理模块运行界面 ③ 课程信息管理模块 课程信息管理模块关键由CourseInfo.java、AddCourseInfo.java、EditCourseInfo.java、DelCourseInfo.java、CourseInfoSearchCnum.java这5个文件组成,其组成关系图4.4所表示。 课程信息超类 CourseInfo.java 增加课程信息 AddCourseInfo.java 修改课程信息 EditCourseInfo.java 删除课程信息 DelCourseInfo.java 按课程号查询 CourseInfoSearchCnum.java 按课程号查询 CourseInfoSearchCnum.java 图4.4 课程信息管理模块功效结构图 课程信息管理模块中5个类文件组成了主界面中“课程管理”菜单内容,其中包含增加、修改和删除功效,图4.5所表示。 图4.5 课程信息管理模块运行界面 ④ 成绩信息管理模块 成绩信息管理模块关键由GradeInfo.java、AddGradeInfo.java、EditGradeInfo.java这3个文件组成,其组成关系图4.6所表示。 成绩管理超类 GradeInfo.java 增加成绩信息 AddGradeInfo.java 修改成绩信息 EditGradeInfo.java 图4.6 成绩信息管理模块功效结构图 成绩信息管理模块中3个类文件组成了主界面中“成绩管理”菜单内容,其中包含增加和修改功效,图4.7所表示。 图4.7 成绩信息管理模块运行界面 ⑤ 信息查询模块 信息查询模块关键包含学生查询、课程查询和成绩查询3个部分。信息查询运行主截面图4.8所表示。 图4.8 学生信息查询模块运行界面 学生查询由StuSearchSnum.java、StuSearchSsex.java、StuSearchScollege.java、StuSearchSmajor.java和ResultStudent.java这6个文件组成,关键实现功效包含:按学号查询、按学生姓名查询、按性别查询、按学院查询和按专业查询。 5 系统调试和测试 5.1系统功效测试 功效测试关键是测试程序模块是否实现了设计中所要求功效。功效测试中需要注意有: (1)查询功效中,有按单一查询条件进行查询,也有按多个查询条件组合查询。这里要注意多个查询条件之间关系。还有部分常识性问题,比如按月查询,闰月中二月天数。 (2)录入功效中,需要注意是前台设置数值长度是否大于后台数值长度,和前台和后台数据结构是否相符,很多时候录入功效无法实现是因为这些原因。还有就是必需录入字段设置时候有误。 (3)测试删除功效中需要注意是单击"删除"按钮后,通常会出现提醒信息,问询是否确定删除。通常情况下,我们单击"确定"按钮查看信息是否被删除掉了,而忽略了单击"取消"按钮后程序反应:这时有可能是没有删除,还有一个可能是即便单击了"取消"按钮,也一样删除了数据。另外,在删除多条统计时候,要注意连续选中几条统计是否真正全部被删除掉了,即假如再根据这种查询方法查询,时候还能查询出来。有时候需要在数据库中设置一个标志位,而不是真正物理删除。所以在下一次查询中,可能还会被查询出来,这关键是因为在查询条件中没有将标志考虑在内。 (4)相关修改功效测试关键是看修改确定后是否数据真正已被修改了。这是最基础功效,需要注意是看是否能把不应该修改数据也修改成功了。 5.2系统调试常见错误 1.NullPointerException异常 通常是对一个为NULL值变量进行操作引发。为避免这种异常,最好在对变量操作之前检验,看它是否为NULL值。 2.SQLException异常 通常是因为SQL语句不正确引发。为避免这种异常,最好在使用SQL语句程序中捕捉此SQL异常。 3.NumberFormatException异常 这是因为数字格式错误而出现例外。为了避免出现这类错误,通常必需确保数据格式输入正确。 4.数据库连接垃圾回收 在实际开发应用中,通常出现某一个对象未能关闭情况,为了预防这种情况发生,能够在相关对数据库操作Java类文件中增加自动回收函数,在JVM自动地回收对象时,取出使用连接对象,判定是否关闭,假如没相关闭则关掉。代码以下所表示: protected void finalize() { try { If(getConn()!=null&&!getConn().isClosed()) { rs.cloes(); stm.close(); conn.close(); } }catch(SQLException e){} } 6 试验小结 经过这次课题设计并实现,尽管会碰到很多难题,不过让我愈加受益是在这次课题中得到经验、心得和锻炼。我发觉做试验过程其实就是个不停处理问题过程,从中也感觉到试验成功愉快,一个人永远有学不玩知识,就算是试验中知识点全部学了,但在实际应用过程中仍然会碰到不少问题,碰到问题时要做到两点:一个是“查” ,一个是“问”。不懂地方就得要自己找答案,能够从书本、网络中查找处理答案;再一个就是问周围同学。这次课程设计给我所学知识做了一个总结,为我深入学习编程做了铺垫。在本课题中存在不足之处是在所难免,本人将在以后加于改善。 参考文件 [1] 王克宏、郝建文. Java技术教程 [M]. 北京:清华大学出版社,9月. [2] 蔡敏、徐慧慧、黄炳强. UML基础和Rose建模教程 [M]. 北京:人民邮电出版社,5月. [3] 萨师煊、王珊. 数据库系统概论(第三版)[M]. 北京:高等教育出版社,12月. [4] 蒙祖强、龚涛. Oracle 10g 数据库Java开发. 北京:中国水利水电出版社,6月. 附录代码 // AddStuInfo.java package com.main; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.Connection; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextField; import javax.swing.JOptionPane; import com.bean.Student; import com.dao.StudentDao; import com.db.DB; import com.main.DelteStudent.delAction; public class AddStuInfo extends JFrame { StudentDao studao = new StudentDao(); DB db = new DB(); Connection conn = db.getConnection(); JTextField snoText = null; JTextField snameText = null; JComboBox sexcom = null; JTextField ageText = null; JComboBox classcom = null; JComboBox departcom = null; public void init() { // 窗体设计 this.setLayout(null); this.setTitle("学生信息管理系统"); this.setSize(500, 400); JLabel title = new JLabel("学生信息维护模块---录入数据"); title.setBounds(180, 20, 200, 30); this.add(title); JLabel snoLabel = new JLabel("学号"); snoText = new JTextField(); snoLabel.setBounds(20, 60, 40, 25); snoText.setBounds(60, 60, 120, 25); this.add(snoLabel); this.add(snoText); JLabel snameLabel = new JLabel("姓名"); snameText = new JTextField(); snameLabel.setBounds(220, 60, 40, 25); snameText.setBounds(260, 60, 120, 25); this.add(snameLabel); this.add(snameText); JLabel sexlabel = new JLabel("性别"); String[] sex = { "男", "女" }; sexcom = new JComboBox(sex); sexlabel.setBounds(20, 90, 40, 25); sexcom.setBounds(60, 90, 120, 25); this.add(sexlabel); this.add(sexcom); JLabel ageLabel = new JLabel("年纪"); ageText = new JTextField(); ageLabel.setBounds(220, 90, 40, 25); ageText.setBounds(260, 90, 120, 25); this.add(ageLabel); this.add(ageText); JLabel classlabel = new JLabel("班级"); String[] classes = { "信息081", "信息082", "物流081" }; classcom = new JComboBox(classes); classlabel.setBounds(20, 120, 40, 25); classcom.setBounds(60, 120, 120, 25); this.add(classlabel); this.add(classcom); JLabel departlabel = new JLabel("学院"); String[] depart = { "造纸", "理学院", "机电学院" }; departcom = new JComboBox(depart); departlabel.setBounds(220, 120, 40, 25); departcom.setBounds(260, 120, 120, 25); this.add(departlabel); this.add(departcom); // 录入数据 JButton addbtn = new JButton("录入"); addbtn.setBounds(150, 180, 60, 30); addbtn.addActionListener(new addAction()); this.add(addbtn); // 返回 JButton backbtn = new JButton("返回"); backbtn.setBounds(230, 180, 60, 30); backbtn.addActionListener(new BackAction ()); this.add(backbtn); this.setLocationRelativeTo(null); // 使窗体居中 this.setResizable(false);// 固定窗体大小 this.setVisible(true); // 设置窗体可见 //this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 窗体关闭时,程序结束 } // 获取文本框或选择框值 public Student getStudent() { Student stu = new Student(); String sno = snoText.getText(); // 获取输入学号 String sname = snameText.getText(); // 获取姓名 String sex = (String) sexcom.getSelectedItem();// 获取性别 int age = Integer.parseInt(ageText.getText().trim()); // 获取年纪 String className = (String) classcom.getSelectedItem(); // 获取班级 String depart = (String) departcom.getSelectedItem(); // 获取学院 // 封装信息 stu.setSno(sno); stu.setName(sname); stu.setSex(sex); stu.setAge(age); stu.setClassName(className); stu.setDepart(depart); return stu; } public static void main(String[] args) { AddStudent addstu = new AddStudent(); addstu.init(); } // 录入监听器 class addAction implements ActionListener { public void actionPerformed(ActionEvent e) { Student stu = getStudent(); boolean b = studao.save(stu, conn); if (b) { JOptionPane.showMessageDialog(null, "数据录入成功!"); } else { JOptionPane.showMessageDialog(null, "学号已存在,数据录入失败!"); } } } class BackAction implements ActionListener{ public void actionPerformed(ActionEvent e) { MainFrame m=new MainFrame (); m.init(); } } } //DelStuInfo.java package com.main; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.Connection; import java.sql.SQLException; import java.util.Vector; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import com.bean.Student; import com.dao.StudentDao; import com.db.D- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 学生 信息 标准 管理 系统
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文