欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    java学生信息管理系统文档.docx

    • 资源ID:4885617       资源大小:265.35KB        全文页数:33页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    java学生信息管理系统文档.docx

    目录1引言21.1背景及意义21.2实验技术选择21.3课题实现技术的简要说明61.4可行性分析62系统需求分析73学生信息管理系统设计83.1数据模型分析与设计83.2结构设计与结构功能图103.2.1结构设计103.2.2功能结构图104系统实现125系统调试与测试175.1系统功能测试175.2系统调试常见错误176实验小结19参考文献19附录代码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地址上的对 象,访问方式与访问本地文件系统相同。对于后者,Java的applet小程序可以从服务器 下载到客户端,即部分计算在客户端进行,提高系统执行效率。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)YesYes学生姓名Varchar2NoYes性别Char(2)NoNo年龄Char(2)NoNo专业Varchar2NoNo学院Char(8)NoNo表3-2课程信息表(Course)名称数据类型主键非空课程编号Char(4)YesYes课程名称Varchar2NoYes授课教师Varchar2NoNo上课地点Varchar2NoNo课程类别Char(1)NoNo表3-3学生选课表(SC)名称数据类型主键非空学号Char(10)YesYes课程编号Char(4)YesYes成绩Number(4,1)NoNo图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类将所有功能集中到菜单栏中,并通过调用其他模块来实现学生管理系统的各个 功能。学生管理 课程管理成哉管理 信息查询系绒管理口回 瓯n n r .1 iesultStudent.jaYaF-lFrhrm irsF ia-n-a图4.1学生管理系统主界面 学生信息管理模块学 生信息 管理模 块主要 由 StuInfo.java、AddStuInfo.java、EdiStuInfo.java、 DelStuInfo.java、SelectCourse.java 和 StuInfoSearchSnum.java 共计 6 个文件组成,其构成关 系如图4.2所示。图4.2学生信息管理模块功能结构图学生信息管理模块的6个文件组成了主界面中的“学生管理”菜单的内容,其中包括 增加、修改、删除和学生选课功能,如图4.3所示。图4.3学生信息管理模块的运行界面 课程信息管理模块课程信息管理模块主要由 CourseInfo.java、AddCourseInfo.java、EditCourseInfo.java、DelCourseInfo.java、CourseInfoSearchCnum.java 这 5 个文件组成,其构成关系如图 4.4 所示。图4.4课程信息管理模块功能结构图课程信息管理模块中的5个类文件组成了主界面中“课程管理”菜单的内容,其中包 括增加、修改和删除功能,如图4.5所示。esultStu dent, java图4.5课程信息管理模块运行界面 成绩信息管理模块成绩信息管理模块主要由 GradeInfo.java、AddGradeInfo.java、EditGradeInfo.java 这 3 个文件组成,其构成关系如图4.6所示。图4.6成绩信息管理模块功能结构图成绩信息管理模块中的3个类文件组成了主界面中的“成绩管理”菜单的内容,其中 包括增加和修改功能,如图4.7所示。图4.7成绩信息管理模块的运行界面 信息查询模块信息查询模块主要包括学生查询、课程查询和成绩查询3个部分。信息查询的运行主 截面如图4.8所示。系毓管理 学生管理 课程管理 成姑管理信息查询按学号查询按姓名查询成城查询*抵性制查询按专业查询按学圈查询ing arg:eration (J::EtEsultStudent.javs图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.北京:清华大学出版社,2002年9月.2 蔡敏、徐慧慧、黄炳强.UML基础与Rose建模教程M.北京:人民邮电出版社, 2006年5月.3 萨师煊、王珊.数据库系统概论(第三版)M.北京:高等教育出版社,2005年 12月.4 蒙祖强、龚涛.Oracle 10g数据库Java开发.北京:中国水利水电出版社,2005年6月.附录代码/ AddStuInfo.javapackage 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.DB;import com.main.AddStudent.BackAction;/删除学生信息public class DelStuInfo extends JFrame (StudentDao studao = new StudentDao();DB db = new DB();Connection conn = db.getConnection();JComboBox snocom = 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("请选择要删除学生信息的学号"); snoLabel.setBounds(20, 60, 200,25);this.add(snoLabel);try (Vector vec = studao.getSno();snocom = new JComboBox(vec); /将数据库里

    注意事项

    本文(java学生信息管理系统文档.docx)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开