软件工程课程设计高校工资管理系统_第1页
软件工程课程设计高校工资管理系统_第2页
软件工程课程设计高校工资管理系统_第3页
软件工程课程设计高校工资管理系统_第4页
软件工程课程设计高校工资管理系统_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

1、软件工程设计 xxxx 08计科(网络)2班目录前言11可行性研究11.1问题定义11.1.1问题的提出11.1.2问题的定义21.1.3问题定义报告21.2.可行性研究21.2.1技术可行性21.2.2 经济可行性41.2.3 操作可行性41.3 软件计划51.3.1工作范围51.3.2 资源52需求分析62.1 需求功能分析62.2 数据分析62.2.1数据流图62.2.2数据字典82.3安全性要求132.4一致性要求132.5完整性要求133 总体设计133.1系统图层框图133.2系统模块设计143.3数据库设计163.3.1概念结构设计163.3.2逻辑结构设计183.3.3数据库物

2、理设计184 详细设计224.1人机界面设计224.2 程序流程图224.3 模块具体实现235系统实现245.1编码245.2测试与分析475.2.1 系统测试概述475.2.2 具体的测试过程485.2.3 综合测试545.2.4 本系统性能测试与分析546安装和使用说明556.1安装说明556.2使用说明557小结55参考文献55 高等学校工资管理系统前言随着计算机技术的飞速发展,以数据库技术为基础的管理系统已成为了一个有效的管理手段,并在各行各业中得到越来越广泛的应用。本课题将设计一个应用于高校的工资管理系统。由于高校规模的不断扩大,其工资应用体系变得越来越复杂,与工资管理有关的信息也

3、随之急剧增加。在这种情况下,单靠人工来处理教职员工的工资不但要消耗大量的人力和物力,而且极容易出错。工资管理的重复性、规律性、时间性,也使得工资管理计算机化成为可能。计算机进行工资发放工作,不仅能够保证工资核算正确无误、快速输出,而且还可以利用工资数据库对有关工资的各种信息进行统计,服务于财务部门其他方面的核算和财务处理,使会计人员从繁重的手工制作中解脱出来,提高了会计信息的及时性、正确性、全面性。大大提高了管理水平和管理效率,产生了巨大的经济效益和社会效益。管理系统的开发不仅是一个应用程序编写的过程,更重要的是在系统分析和设计阶段所做的工作。本系统为高校教职工工资管理系统,采用了。财务部门人

4、员以管理员身份登录,对本系统的可登录人员进行管理;实现了财务部门对本单位工资发放系统的集中管理,保证了系统的安全性。该程序在设计过程中严格遵循软件工程学的方法,用分阶段的生命周期计划严格管理,并主要讲述了程序的总体设计、详细设计阶段,对程序进行需求迭代,不断修正和改进,利用java语言和sql server2005的强大数据库功能,直到形成一个完善的可行 “高校工资管理系统”。支持运行的环境:microsoft window98/2000/xp。1可行性研究1.1问题定义1.1.1问题的提出该校有9个部门:校办、人事处、教务处、总务处、财务处、电气系、机械系、管理系、基础部。其中财务处有1 名

5、主任会计师、2名会计和2名出纳共5人。由于职工人数增加,每月发工资前几天会计工作量增大,要抽调其他部门人员帮忙,花一个星期才能把职工的工资表做出来。同时学校的规模还在不断扩大,财务工作量还会加大。为了减轻工作量,改善工作,学校决定采用微机系统来处理工资问题。财务处首先到计算机软件公司,请求帮助分析解决问题的可能性。1.1.2问题的定义 对于所提问题,软件公司派一名系统分析员协助着手分析解决。财务处的工作量的确很大,工作人员忙不过来。一种办法是给财务处增加职工。若增加两名职工,按职工月工资500元计算,每年要增加2.1万元。若载发计算机工资管理系统,可以节省人力,不必给财务处增加职工。因此,每年

6、至少可获得经济效益1.2万元。为了节省1.2万元,校方能投资多少钱呢?由于大多数单位希望在两三年收回投资,因此,对于这个项目来说,2.5万元的开发成本可能是一个合理的上限。如果这项工作不能在2.5万元之内完成,那么它可能是值得做的。1.1.3问题定义报告 表1.1.2 问题定义报告用户单位xx学校用户负责人xxx分析员单位xx计算机软件公司分析员xxx项目工资管理问题财务处每月的管理工作太忙;很多精力都花在工资管理事务中项目目标研究工资管理系统的可能性项目规模此项目开发成本2.2万元1.2.可行性研究 1.2.1技术可行性分析员须学习了解有关工资处理的基本知识,掌握工资处理的大概情况。财务处每

7、月接收每个职工当月的水电用量记录,编制出当月职工的工资报表,并将当月工资发到职工手中。在对现行系统情况调查的基础上,得出新系统的逻辑模型(顶层数据流图)图1.2.1-1 顶层数据流图此流图中的“职工”既是数据流的源点又是终点。系统输出一些报表给财务处,因此“财务处”也是数据的终点。再将此基本系统模型细化,得到功能级数据流图如下。图1.2.1-2 图功能级数据流图此流图中,“处理事务”和“发放工资”、“产生报表”是系统必须完成的3个主要功能,它们代表了图1.2.1-1中的“工资管理系统”。此外,细化后的数据流图中还增加了3个数据存储。处理事务需要“事务数据”存储;产生报表和处理事务在不同时间,因

8、此需要“报表”数据存储;发放工资与处理事务也在不同时间进行,需要“工资”数据存储。根据以上的认识可推导出一些可供选择的解决方案。得出方案,再对这些方案进行详细分析,从技术角度探讨实现的可能性,选出最佳方案,确定是否能在2.5万元的成本内开发工资管理系统,并及时报告用户。1.2.2 经济可行性 系统开发费用的分析:费用主要包括计算机硬件、外部设备、软件费用,以及开发人员和维护人员的工资。设备方面初步考虑买一台120g硬盘的联想piv微型机和一台打印机,估计花费1.2万元左右(含有关软件)。开发简单的工资处理系统估计约需5个月的工作量。如果每人每个月工资2000元,则共需1万元。这两项成本共2.2

9、万元(见表1.2.2)。 表1.2.2 工资管理系统的成本/效益分析购买设备、软件费1.2万元人力(5个月、工资2000元/月)1.0万元开发成本总计2.2万元系统的维护费600元/年每年节省人力费用1.2万元/年每年节省经费1.14万元/年年节省(元)(1+i)n现在值(元)累计的现在值(元)11.14万元/年1.121.017 857万1.017 857万21.14万元/年1.259090.811.912 695万31.14万元/年1.408142.862.741 236万第三年后纯收入5212.36投资回收期2.52年通过成本/效益分析可知系统建立后每年可以节省2名职工,如果按每月工资5

10、00元计算,一年可以节省1.2万元。这样,估计2.52年就可以收回全部投资。因此,这种方案是合理的,在经济上是可行的。1.2.3 操作可行性 在技术可行性分析导出解决方案时,如把“验证数据”和“处理事务”放在同一个自动化边界内,即为批处理方案。这种方案不必再增加成本,是可行的。因此,从技术上、经济上、操作上对软件进行了可行性研究,得出的结论是开发工资管理系统是完全可行的。1.3 软件计划1.3.1工作范围1)项目目标 本项目用微机进行工资管理。2)主要功能 收集数据 将每个职工当月的水电费数据收集起来。工资核算 根据扣款以及水电费等计算出当朋应发工资种实发工资打印报表 产生工资总表,工资分类表

11、等各种统计报表。1.3.2 资源 1)人力资源 一个人参加工资管理系统的开发工作 2) 硬件资源 联想奔腾 iv 微型计算机、主存2g、250g硬盘、dvd光盘驱动器、hplaser系列激光打印机 3)软件资源 windows 操作系统 visual foxpro 9.0 以上版本 4)成本估算 设备费1.2万元,开发费1万元,共2.2万元。 预定开发计划如表1.3.2 表1.3.2 工资管理系统开发计2需求分析 2.1 需求功能分析用户需求分析就是在用户需求调研的基础上,确定系统的总体结构方案,完成相应的需求分析报告。在确定系统的总体结构方案过程中,包括确定应用程序的结构、系统的功能模块。用

12、户需求调研结束之后,应该立即进行用户需求分析。通过调查,确定本系统的功能主要分为五大类:1)系统管理:包括注销和退出。 2)职工基本情况管理:包括职工信息添加、修改、删除。3)工资管理:包括工资信息的查询和浏览以及工资调整。4)打印报表:职工基本信息报表,职工工资报表。5)系统帮助信息管理:系统介绍。2.2 数据分析2.2.1数据流图根据图1.2.1-2细化数据流图,得到零层数据流图 图2.2.1-1 零层数据流图 将图2.2.1-1中的“处理事务”这一变换细化。可将其分解成:取数据;计算应发工资;计算借款数据;修改借款数据;写工资单;写报表等,如图2.2.1-2 图2.2.1-2 第一层“处

13、理事务”分解的数据流图根据顶层数据流图、零层数据流图、第一层数据流图,便可以得出本工资管理系统的完整数据流图,如图2.2.1-3 图2.2.1-3 完整数据流图2.2.2数据字典数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充工具。数据流图和数据字典共同构成系统的逻辑模型。经分析工资管理系统的数据流图可以得出数据字典如下。1)数据流描述 事务=职工姓名+职工号+水费+电费 工资=职工姓名+职工号+基本工资+工龄津贴+教辅津贴+生活补贴+物价补贴+洗理费+书报费+其他应补+应发工资+电费+房租+水费+其他扣款+实发工资 人事数据=职工姓名+职工号+性

14、别+基本工资+工龄津贴+教辅津贴+生活补贴+物价补贴+洗理费+书报费+房租+其他应补(如补发工资) 报表=工资汇总表|房租水电费扣款 |基本工资表|工资签收表2)数据存储描述 数据存储名:事务数据文件组成:事务数据组织:按职工号大小顺序排列数据存储名:人事数据文件组成:人事数据组织:按职工号大小顺序排列数据存储名:工资文件组成:工资组织:按职工号大小顺序排列3)变换描述 变换名:收集数据变换编号:1输入数据流:事务数据输出数据流:事务数据变换逻辑:将职工原水电费登记到到该职工名下变换名:验证数据变换编号:2输入数据流:事务数据输出数据流:已校验的数据变换逻辑:将职工水电费进行校验 变换名:处理

15、事务变换编号:3输入数据流:事务数据、人事数据输出数据流:工资、报表变换逻辑:获得事务数据、获得人事数据、计算应发工资、计算实发工资、写工资单、写报表变换名:发放工资变换编号:4输入数据流:工资输出数据流:工资变换逻辑:将工资分发给职工变换名:产生报表 变换编号:5输入数据流:工资表输出数据流:工资汇总表、房租水电扣款表、基本工资分类表、工资签收表变换逻辑:对工资表中的有关项目进行汇总产生各种报表 变换名:修改人事数据变换编号:6输入数据流:修改数据项输出数据流:修改后的人事数据变换逻辑:对相关的数据项的值进行修改4)数据项描述数据项名:管理员用户名类型:字符型长度:20所属表名:管理员信息数

16、据项描述:管理员用于登录系统的帐号数据项名:管理员密码类型:字符型长度:20所属表名:管理员信息数据项描述:管理员用于登录系统的密码数据项名:职工姓名类型:字符型长度:20所属表名:职工基本信息,房租水电费扣款,工资汇总,工资签收数据项描述:高校领取工资的教职员工姓名数据项名:职工号类型:数字型长度:20所属表名:职工基本信息,房租水电费扣款,工资汇总,工资签收数据项描述:教职员工编号,采用自动编号数据项名:性别类型:字符型长度:2所属表名:职工基本信息数据项描述:高校教职员工性别数据项名:基本工资类型:数字型长度:10所属表名:工资汇总,工资签收数据项描述:教职员工基本工资数据项名:工龄津贴

17、类型:数字型长度:10所属表名:工资汇总,工资签收数据项描述:高校教职员工工龄补贴数据项名:教辅津贴类型:数字型长度:10所属表名:工资汇总,工资签收数据项描述:教职员工教辅补贴数据项名:生活津贴类型:数字型长度:10所属表名:工资汇总,工资签收数据项描述:高校教职员生活补贴数据项名:物价津贴类型:数字型长度:10所属表名:工资汇总,工资签收数据项描述:高校教职员工物价补贴数据项名:洗理费类型:数字型长度:10所属表名:工资汇总,工资签收数据项描述:高校教职员工洗理费补贴数据项名:书报费类型:数字型长度:10所属表名:工资汇总,工资签收数据项描述:高校教职员工书报费补贴数据项名:其他应补类型:

18、数字型长度:10所属表名:工资汇总,工资签收数据项描述:高校教职员工其他补贴数据项名:应发工资类型:数字型长度:10所属表名:工资汇总,工资签收数据项描述:高校教职员工应发的工资数据项名:房租类型:数字型长度:10所属表名:房租水电费扣款,工资签收数据项描述:高校教职员工每月的房租费用数据项名:水费类型:数字型长度:10所属表名:房租水电费扣款,工资签收数据项描述:高校教职员工每月的水费数据项名:电费类型:数字型长度:10所属表名:房租水电费扣款,工资签收数据项描述:高校教职员工每月的电费数据项名:其他应扣类型:数字型长度:10所属表名:工资汇总,工资签收数据项描述:高校教职员工其他扣款情况数

19、据项名:实发工资类型:数字型长度:10所属表名:工资汇总,工资签收数据项描述:高校教职员工每月实际发放的工资2.3安全性要求访问数据库时需要输入登陆帐号和密码。在数据库内设有管理员表,登陆系统时会要求输入管理员帐号和密码。登陆模块根据输入帐号和密码查管理员表,查到匹配记录则允许其登陆系统。管理员帐号和密码可以在系统中添加和修改。2.4一致性要求在管理系统相关的表之间,有较强的关联性。为了实现一致性的需求,各个表之间均建立起了相应的一致性约束。2.5完整性要求根据工资管理系统的要求,为保持数据的完整性,采用了数据库的事务机制,防止出现操作故障引起的数据不一致。3 总体设计3.1系统图层框图高校工

20、资管理系统的系统模块如图所示:高校工资管理系统退出打印写报表写工资单修改借款扣款工资计算取数据管理员登录 取借款扣款取事务数据取人事数据计算借款扣款计算实发工资计算应发工资 图3.1 高校工资管理系统图3.2系统模块设计把系统内部各种功能关系变换成程序模块之间的控制关系,复查并确定数据流图的类型。工资管理系统的数据流图具有较明显的输入、中心变换和输出三部分,故属于变换型的数据流图。“人事数据”、“事务数据”是逻辑输入,“工资”和“报表”是逻辑输出。上层模块如图3.2-1,主控模块“工资管理”为顶,分成输入、中心变换、输出。图3.2-1 工资管理系统上层模块分解上层模块设计中、下层模块。图3.2

21、中的中心变换模块与变换“处理事务”相对应,而变换“处理事务”分解后的数据流图(见图2-2),又包含有“取数据”、“计算应发工资”、“计算借款扣款”、“修改借款扣款”、“写工资单”、“计算实发工资”、“写报表”等7个功能。所以中心变换模块分解后的“工资管理”分层结构如图3.2-2图3.2-2 工资管理系统分层结构图由图可见,“工资管理”模块总是最先开始运行。它调用“取数据”模块读取数据。然后把控制归还给“工资管理”模块。再将“工资管理”模块将控制转给“计算应发工资”模块,完成计算后又将控制返回到“工资管理 ”模块。以此类推,最后由“工资管理”模块结束处理。现将该系统的功能模块作如下介绍:1)管理

22、员登录模块(m1)管理员通过管理员帐号和密码登录系统。2)取数据模块(m2)取事务数据(m2.1):初始化时录入教职员工房租水电费到数据库中,计算工资时,从数据库中调用。取人事数据(m2.2):从数据库中调用员工基本信息。取借款扣款数据(m2.3):输入或调用教职工借款和扣款。3)工资计算模块(m3)计算应发工资(m3.1):对教职员工的应发工资进行计算。计算借款扣款(m3.2):对教职员工的借款扣款进行计算。计算实发工资(m3.3):用教职员工的应发工资减去借扣款计算出实发工资。4)修改借款扣款模块(m4) 当教职员工的借款扣款有改动时,可对其进行修改。5)写工资单模块(m5)计算出教职员工

23、实发工资后,生成每个教职员工工资单。6)写报表模块(m6)产生教职员工工资单后,将其汇总,生成工资汇总报表。7)打印模块(m7)将生成的工资单和报表打印出来。3.3数据库设计3.3.1概念结构设计1)概念结构e-r图本实例根据上面的设计规划出的实体有:管理员信息实体、教职员工基本信息实体及教职员工工资实体。各个实体的e-r图如下:管理员信息实体图(实体及属性),如图3.3.1-1所示:管理员信息用户名管理员密码图3.3.1-1 管理员实体图教职员工基本信息实体图(实体及属性),如图3.3.1-2所示:职工姓名性别职工号教职员工 图3.3.1-2 教职员工实体教职员工工资实体图(实体及属性),所

24、图3.3.1-3所示:实发工资职工号教职员工工资其他应扣职工姓名应发工资基本工资其他应补工龄津贴书报费教辅津贴洗理费物价补贴生活补贴图3.3.1-3 教职工资实体图根据上述所示得出本系统的全局e-r图,如图3.3.1-4所示:所属职工号管理员用户名密码管理管理教职员工姓名性别n111111m职工号工资职工姓名基本工资工龄津贴教辅津贴生活补贴物价补贴洗理费书报费其他应补应发工资其他应扣实发工资 图3.3.1-4 系统全局e-r图3.3.2逻辑结构设计逻辑模型设计的任务就是把概念结构转换为与选用的dbms所支持的数据模型相符合的过程。本系统所选用的数据模型是关系型,把e-r图向关系数据模型转换的规

25、则是:1)一个实体型转换为一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码。2)一个联系转换为一个关系模式,与该联系相连的各实体的码以及联系的属性转换为关系的属性。该关系的码则有三种情况:若联系为1 :1,则每个实体的码均是该关系的侯选码。若联系为1 :n,关系的码为n端实体的码。若联系为n : m,则关系的码为诸实体码的组合。然后再根据优化原则进行优化设计,进行数据模型转换,建立了四个表:管理员信息表、教职员工基本信息表、教职员工工资表、房租水电费表。将e-r图转换成关系模型,关系的主码用横线标识: 管理员信息表(用户名,密码)教职员工基本信息表(员工号,姓名,性别,) 员工工资

26、表(员工号,姓名,基本工资,工龄津贴,教辅津贴,生活补贴,物价补贴,洗理费,书报费,其他应补,应发工资,其他应扣,实发工资)房租水电费表(员工号,姓名,房租,水费,电费)3.3.3数据库物理设计数据库的物理结构设需确定各个表的结构、存取方法和存取路径即可。把每一个关系设计一个表,存取方法只需要建立索引,具体设计如下:1) 各表的建立管理员信息表列名数据类型长度允许空管理员用户名char20不允许管理员密码char20教职员工基本表列名数据类型长度允许空职工号char20不允许姓名char20性别char2表中性别的属性,对于其有如下约束表达式:constraint c1 check (性别 i

27、n (男,女)。员工工资表列名数据类型长度允许空职工号char20不允许姓名char20基本工资float10工龄津贴float10教辅津贴float 10生活补贴float10物价补贴float10洗理费float10书报费float10其他应补float10应发工资float10其他应扣float10实发工资float10房租水电费表列名数据类型长度允许空职工号char20不允许姓名char20房租float10水费float10电费float102)表关系的实现 根据以上建立的管理员信息表,教职员工基本信息表,教职员工工资表,房租水电费表之间的联系,可以得出它们的关系图如下: 管理员用户

28、名密码教职工基本信息职工号姓名性别教职工工资职工号姓名基本工资工龄津贴教辅津贴生活补贴物价补贴洗理费书报费其他应补应发工资其他应扣实发工资房租水电费职工号姓名房租水费电费3)数据库备份和恢复方案应用辅助工具进行备份和恢复应用数据库辅助工具(如sqlbackuptools)进行备份,选择所需要备份的数据库和目标地址即可进行数据备份,恢复数据库只需要指定备份文件和需要恢复的数据库即可进行数据恢复。分离数据库法在企业管理器中右击需要备份的数据库,选择“所有任务”,“分离数据库”,执行分析操作,拷贝数据库mdf文件和ldf文件。恢复方案:在企业管理器的控制台树中选择“数据库”节点,右击,“所有任务”,

29、“附加数据库”,找到待恢复数据库的mdf文件,确定。4 详细设计4.1人机界面设计 这里只是用java语言简单地实现一下登录界面,其他编码将在后面的“系统实现”中详细说明。登录界面 图4.1 登录界面4.2 程序流程图开始登陆选择主界面操作进行职工信息管理操作是否退出?退出本系统yesno图4.2 程序流程图4.3 模块具体实现 由于“取数据”模块要从借款结算数据文件中读取记录,所以将其分解成图4.3所示。 图4.3 “取数据”模块的分解 这样,用同样的方法就可以把其他模块也进一步分解。由于系统所要求的工资汇总表、基本工资分类表、工资签收表要在所有职工的工资数据处理完之后才能产生出来。因此应在

30、软件结构中增加一个“打印”模块,以完成输出功能。 “输入模块”中,在输入之前首先应进行初始化,然后进行工资的输入与修改。各模块分解结束后,就可以将它们汇集成一张完整的结构图。5系统实现5.1编码1)数据库连接(文件名:dbconnect.java)这个文件先编译,因为后面的main.java文件的编译会用到该文件编译完产生的dbconnect.class文件/类dbconnect用于数据库的连接/导入sql包import java.sql.*;/创建数据库连接类dbconnectpublic class dbconnect/静态方法提高数据库的连接效率public static connect

31、ion getconn() throws exception/加载jdbc驱动class.forname(sun.jdbc.odbc.jdbcodbcdriver);/以系统默认用户身份,连接数据库studentmanagerreturn drivermanager.getconnection(jdbc:odbc:salarymanagement,);2 ) 添加职工信息(文件名:addemployee.java)/添加教职员工工面板类addemployee/导入系统的类包import java.awt.*;import java.sql.*;import javax.swing.*;impo

32、rt java.awt.event.*;/创建“添加职工“面板类public class addemployee extends jpanel implements actionlistener/声明连接数据库对象connection con;/声明sql语句对象statement st;/创建组件对象:标签、文本行、单选jlabel jlabel1=new jlabel(职工工号);jlabel jlabel2=new jlabel(职工姓名);jlabel jlabel3=new jlabel(职工性别);jlabel jlabel4=new jlabel(职工年龄);jlabel jla

33、bel5=new jlabel(家庭住址);jlabel jlabel6=new jlabel(联系电话);jtextfield jtextfield1=new jtextfield();jtextfield jtextfield2=new jtextfield();jtextfield jtextfield3=new jtextfield();jtextfield jtextfield4=new jtextfield();jtextfield jtextfield5=new jtextfield();jradiobutton jradiobutton1=new jradiobutton(男)

34、;jradiobutton jradiobutton2=new jradiobutton(女);buttongroup buttongroup1=new buttongroup();jbutton jbutton1=new jbutton(添加职工);/构造方法public addemployee()try/调用初始化方法jbinit();catch(exception exception)exception.printstacktrace();/界面初始化方法private void jbinit() throws exception/连接数据库con=dbconnect.getconn()

35、;st=con.createstatement();/框架的布局this.setlayout(null);/设置各组件的大小jlabel1.setbounds(new rectangle(21,17,64,24);jlabel2.setbounds(new rectangle(21,51,53,22);jlabel3.setbounds(new rectangle(21,86,61,27);jlabel4.setbounds(new rectangle(21,122,59,25);jlabel5.setbounds(new rectangle(21,168,54,24);jlabel6.set

36、bounds(new rectangle(21,205,54,24);jtextfield1.setbounds(new rectangle(102,10,200,30);jtextfield2.setbounds(new rectangle(102,49,200,30);jtextfield3.setbounds(new rectangle(102,117,80,33);jtextfield4.setbounds(new rectangle(102,163,200,29);jtextfield5.setbounds(new rectangle(102,200,200,29);jradiobu

37、tton1.setbounds(new rectangle(102,83,65,30);jradiobutton2.setbounds(new rectangle(190,85,85,30);jbutton1.setbounds(new rectangle(130,240,150,32);/设置单选按钮被选中jradiobutton1.setselected(true);/添加按钮动作事件jbutton1.addactionlistener(this);/添加组件到面板this.add(jlabel1);this.add(jtextfield1);this.add(jlabel2);this.

38、add(jtextfield2);this.add(jlabel3);buttongroup1.add(jradiobutton1);buttongroup1.add(jradiobutton2);this.add(jradiobutton1);this.add(jradiobutton2);this.add(jlabel4);this.add(jtextfield3);this.add(jlabel5);this.add(jtextfield4);this.add(jlabel6);this.add(jtextfield5);this.add(jbutton1);/点击按钮事件public

39、void actionperformed(actionevent e)/获取用户输入的信息string employeeid=jtextfield1.gettext();string employeename=jtextfield2.gettext();string employeesex=;if(jradiobutton1.isselected()employeesex+=男;if(jradiobutton2.isselected()employeesex+=女;string employeeage=jtextfield3.gettext();string employeeaddress=j

40、textfield4.gettext();string employeephone=jtextfield5.gettext();try/设置日期格式st.execute(set dateformat ymd);/利用st对象执行sql语句,进行插入操作st.executeupdate(insert into employee values(+employeeid+,+employeename+,+employeesex+,+employeeage+,+employeeaddress+,+employeephone+);/利用消息对话框提示职工添加成功joptionpane.showmessag

41、edialog(this,职工添加成功!);/清空文本行的内容jtextfield1.settext();jtextfield2.settext();jtextfield3.settext();jtextfield4.settext();jtextfield5.settext();catch(exception ex)/利用消息对话框提示异常的信息joptionpane.showmessagedialog(this,职工添加失败!);ex.printstacktrace();3) 修改教职员工信息(文件名:modifyemployee.java)/“职工信息修改”面板类modifyemploy

42、ee/导入系统的类包import java.awt.*;import java.sql.*;import javax.swing.*;import java.awt.event.*;/创建“职工信息修改资”类public class modifyemployee extends jpanel implements actionlistener/声明连接数据库对象connection con;/声明sql语句对象statement st;/创建组件对象:标签、文本行、单选jlabel jlabel1=new jlabel(请输入职工的编号:);jtextfield jtextfield1=new

43、 jtextfield();jbutton jbutton1=new jbutton(查找该职工);jlabel jlabel2=new jlabel(职工编号:);jtextfield jtextfield2=new jtextfield();jlabel jlabel3=new jlabel(职工姓名:);jtextfield jtextfield3=new jtextfield();jlabel jlabel4=new jlabel(职工性别:);jtextfield jtextfield4=new jtextfield();jlabel jlabel5=new jlabel(职工年龄:

44、);jtextfield jtextfield5=new jtextfield();jlabel jlabel6=new jlabel(家庭住址:);jtextfield jtextfield6=new jtextfield();jlabel jlabel7=new jlabel(联系电话:);jtextfield jtextfield7=new jtextfield();jbutton jbutton2=new jbutton(修改职工信息);/构造方法public modifyemployee()try/调用初始化方法jbinit();catch(exception exception)e

45、xception.printstacktrace();/面板初始化方法private void jbinit() throws exception/连接数据库con=dbconnect.getconn();st=con.createstatement();/框架的布局this.setlayout(null);/设置各组件的大小jlabel1.setfont(new java.awt.font(楷体,font.bold,14);jlabel1.setbounds(new rectangle(40,15,140,30);jtextfield1.setbounds(new rectangle(185

46、,15,120,30);jbutton1.setbounds(new rectangle(110,55,150,30);jlabel2.setfont(new java.awt.font(楷体,font.bold,14);jlabel2.setbounds(new rectangle(20,105,80,30);jtextfield2.setbounds(new rectangle(100,105,80,30);jlabel3.setfont(new java.awt.font(楷体,font.bold,14);jlabel3.setbounds(new rectangle(190,105,8

47、0,30);jtextfield3.setbounds(new rectangle(270,105,80,30);jlabel4.setfont(new java.awt.font(楷体,font.bold,14);jlabel4.setbounds(new rectangle(20,145,80,30);jtextfield4.setbounds(new rectangle(100,145,80,30);jlabel5.setfont(new java.awt.font(楷体,font.bold,14);jlabel5.setbounds(new rectangle(190,145,80,3

48、0);jtextfield5.setbounds(new rectangle(270,145,80,30);jlabel6.setfont(new java.awt.font(楷体,font.bold,14);jlabel6.setbounds(new rectangle(20,185,80,30);jtextfield6.setbounds(new rectangle(100,185,80,30);jlabel7.setfont(new java.awt.font(楷体,font.bold,14);jlabel7.setbounds(new rectangle(190,185,80,30);

49、jtextfield7.setbounds(new rectangle(270,185,80,30);jbutton2.setbounds(new rectangle(120,240,150,30);/添加按钮动作事件jbutton1.addactionlistener(this);jbutton2.addactionlistener(this);/添加组件到面板this.add(jlabel1);this.add(jtextfield1);this.add(jbutton1);this.add(jlabel2);this.add(jtextfield2);jtextfield2.seteditable(false);this.add(jlabel3);this.add(jtextfield3);this.add(jlabel4);this.add(jtextfield4);this.add(jlabel5);th

温馨提示

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

评论

0/150

提交评论