数据库课程设计-员工薪资管理系统
工资管理系统课程设计

工资管理系统 课程设计一、课程目标知识目标:1. 理解工资管理系统的基本概念、功能及重要性;2. 掌握工资管理系统中的数据结构、算法及数据库操作;3. 学会分析企业工资管理的需求,设计合理的工资管理系统。
技能目标:1. 能够运用所学知识,独立完成工资管理系统的模块划分与功能设计;2. 能够运用数据库技术,实现工资数据的存储、查询、统计和输出;3. 能够运用编程语言,开发简单的工资管理系统,解决实际问题。
情感态度价值观目标:1. 培养学生对企业信息化管理的认识,提高对信息技术的兴趣和热情;2. 培养学生的团队协作意识,学会与他人共同分析问题、解决问题;3. 培养学生具备良好的职业道德,关注企业员工薪酬权益,树立公平、公正的价值观。
课程性质:本课程为信息技术与学科实践相结合的课程,以实践操作为主,理论学习为辅。
学生特点:六年级学生具备一定的计算机操作能力和编程基础,对新鲜事物充满好奇心,喜欢动手实践。
教学要求:结合学生特点,注重理论与实践相结合,以任务驱动、案例教学为主,培养学生的实际操作能力和解决问题的能力。
将课程目标分解为具体的学习成果,以便于教学设计和评估。
二、教学内容1. 工资管理系统概述- 工资管理系统的定义与作用- 工资管理系统的基本功能模块2. 数据库基础- 数据库的基本概念- 数据表的设计与创建- 数据的增、删、改、查操作3. 工资管理系统的设计与实现- 系统需求分析- 模块划分与功能设计- 数据库设计与实现- 系统界面设计4. 编程实现工资管理系统- 选择合适的编程语言(如Python、Java等)- 编程实现各功能模块- 调试与测试5. 案例分析与实操- 分析实际企业工资管理案例- 结合所学知识,进行实操演练6. 课程总结与拓展- 总结课程重点知识- 探讨工资管理系统的发展趋势和新技术教学内容安排和进度:第1-2周:工资管理系统概述与数据库基础第3-4周:工资管理系统的设计与实现第5-6周:编程实现工资管理系统第7-8周:案例分析与实操第9-10周:课程总结与拓展教材章节及内容关联:《信息技术》六年级下册:第三章 数据库与数据处理第四章 管理信息系统第五章 编程解决问题教学内容确保科学性和系统性,注重理论与实践相结合,以培养学生的实际操作能力和解决问题的能力。
工资管理系统课程设计目标

工资管理系统课程设计目标一、课程目标知识目标:1. 理解工资管理系统的基本概念和功能,掌握其在我国企业中的应用情况。
2. 学会使用数据库管理软件进行工资数据的录入、查询、修改和删除等操作。
3. 掌握工资计算的相关知识,如基本工资、加班工资、奖金、个人所得税等计算方法。
技能目标:1. 能够独立操作工资管理系统,完成员工工资的核算、发放和报表生成。
2. 培养学生运用信息技术解决实际问题的能力,提高数据处理和分析的技巧。
3. 提高学生的团队协作能力,通过小组讨论和项目实践,学会与他人共同解决问题。
情感态度价值观目标:1. 培养学生对工资管理系统工作的兴趣,激发学习热情,提高学习积极性。
2. 增强学生的职业责任感,使其认识到工资管理工作的严谨性和重要性。
3. 培养学生尊重劳动、尊重他人劳动成果的良好品质,树立正确的价值观。
分析课程性质、学生特点和教学要求,本课程将目标分解为以下具体学习成果:1. 学生能够独立完成工资管理系统的基本操作,达到熟练运用水平。
2. 学生能够运用所学知识解决实际工资管理问题,提高解决问题的能力。
3. 学生通过课程学习,增强团队协作意识,提高沟通能力。
4. 学生树立正确的劳动观念,提高职业素养,为将来从事相关工作打下坚实基础。
二、教学内容根据课程目标,本章节教学内容主要包括以下几部分:1. 工资管理系统概述- 工资管理系统的基本概念与功能- 工资管理系统在我国企业中的应用2. 工资管理系统操作- 数据库管理软件的基本操作- 工资数据的录入、查询、修改和删除3. 工资计算方法- 基本工资计算- 加班工资、奖金计算- 个人所得税计算4. 工资发放与报表生成- 工资发放流程- 工资报表的种类与生成方法5. 案例分析与项目实践- 分析实际工资管理案例- 小组项目实践,完成工资管理操作教学内容按照以下教学大纲安排和进度:第一周:工资管理系统概述、数据库管理软件基本操作第二周:工资数据录入、查询、修改和删除第三周:工资计算方法第四周:工资发放与报表生成第五周:案例分析与项目实践本章节内容与教材相关章节紧密关联,确保科学性和系统性,旨在帮助学生掌握工资管理系统的相关知识,提高实际操作能力。
工资管理系统 课程设计 总结报告

漳州师范学院计算机科学与工程系
数据库课程设计总结报告
学生学号
080810129
姓名
傅荣真
专 业
信息管理与信息系统
班 级
08信管(1)
所属学期
2010-2011学年第1学期
一、项目介绍与设计目的
项目介绍:项目名称:企业员工工资管理系统。该系统通过设置不同的权限(普通用户,管理员)来进行对企业员工的基本信息和各项资金进行管理和维护的小型管理系统,通过对员工的资金管理来实现员工与企业共赢的情景。
用户名:xxq 密码:xxq 登录权限:管理员
用户名:flz 密码:flz 登录权限:管理员
普通用户
用户名:张永生 密码:123 登录权限:个人用户
用户:范通 密码:123 登录权限:个人用户
六、体会与感想
在开发这个工资管理系统过程中我深刻地体会到了自学能力的重要性。毕竟在学校学习到的知识是有限的,而在开发系统的过程中仅凭原有的一点点知识是远远不够的,只有翻阅大量的资料才能学到更多的知识,才能实现其预期的功能。在开发过程中,遇到困难是在所难免的,期间我跟我的指导老师和同学进行交流,从中明白了很多。开发一个系统,恒心和毅力也是不可缺少的,如果一遇到难题就心慌,想要放弃,那这样就不可能完成系统。同样,在开发过程当中,细心也是非常重要的,由于很多事项都要很注意才行,如果没有做到这一点,就会出错。
四、小组成员名单及分工情况(要求包括小组成员名单、工作分配及小组各成员贡献度))
组员
模块分工
组长:熊贤清(55%)
设计系统数据库,登录、关于、变动工资、查询和福利费、员工信息维护和工资管理系统主界面等窗体
组员:傅荣真(45%)
设计基本工资,工资表,员工考勤,员工信息查询四个窗体
数据库工资管理系统

数据库工资管理系统数据库工资管理系统是一种用于管理和计算员工工资的软件系统。
它通过将员工信息和薪资数据存储在数据库中,实现了自动计算工资、生成工资报表等功能。
本文主要讨论数据库工资管理系统的优势、功能以及实施过程。
一、数据库工资管理系统的优势数据库工资管理系统具有以下几个方面的优势:1. 提高工资计算效率:传统的手工工资计算需要花费大量的时间和人力,容易出现错误。
而数据库工资管理系统可以自动计算工资,并且能够准确地计算各种津贴、奖金、扣款等,大大提高了工资计算的效率和准确性。
2. 实时数据更新:数据库工资管理系统能够实时更新员工信息和薪资数据,及时反映员工的入职、离职、晋升等变动情况,确保工资计算的准确性。
3. 数据安全性:数据库工资管理系统通过设置密码、权限控制等方式,保护员工的隐私数据不被非法获取。
同时,数据库的备份和恢复功能也能确保数据的安全性。
二、数据库工资管理系统的功能数据库工资管理系统包括以下几个主要功能:1. 员工信息管理:系统可以存储和管理员工的个人信息,包括姓名、工号、部门、职位等。
管理员可以通过系统对员工信息进行增删改查等操作。
2. 薪资数据管理:系统可以存储和管理员工的薪资数据,包括基本工资、加班工资、津贴、社会保险等。
管理员可以通过系统对薪资数据进行录入、修改、查询等操作。
3. 工资计算:系统可以根据设定的计算规则,自动计算每个员工的工资。
计算规则可以包括基本工资、加班工资、绩效奖金、扣款等。
管理员可以设定不同的计算规则,以适应公司的具体情况。
4. 工资报表生成:系统可以生成各种工资报表,包括个人工资明细、部门工资汇总、公司工资统计等。
管理员可以通过系统生成报表,并进行打印或导出。
三、数据库工资管理系统的实施过程数据库工资管理系统的实施过程可以分为以下几个步骤:1. 需求分析:根据公司的具体需求,进行系统的需求分析,并确定系统的功能和性能要求。
2. 数据库设计:根据需求分析的结果,进行数据库的设计,并创建相应的数据表和字段。
职工工资管理系统c++程序设计报告

职工工资管理系统c++程序设计报告职工工资管理系统是一种用于管理员工薪资的软件系统。
下面是一个使用C++编写的职工工资管理系统的程序设计报告。
## 设计与实现### 设计该系统的设计主要考虑到以下几个方面:1. 功能需求:设计一个能够记录职工的基本信息、薪资信息、请假信息、加班信息等的系统。
2. 数据库设计:设计一个可以存储数据的数据结构,包括表格和字段。
3. 界面设计:设计一个用户友好的界面,方便用户进行操作。
4. 安全性:设计一个安全性措施,保证数据的安全性和隐私性。
### 实现1. 数据库设计:使用MySQL数据库进行数据存储。
2. 界面设计:使用Qt Creator开发界面。
3. 程序实现:使用C++语言进行程序实现。
#### 功能实现1. 记录职工基本信息:包括职工ID、姓名、性别、出生日期、身份证号码、联系方式等。
2. 记录薪资信息:包括基本工资、基本工资+津贴、基本工资+补贴、奖金等。
3. 记录请假信息:包括请假日期、请假原因、请假时间等。
4. 记录加班信息:包括加班日期、加班时间、加班地点、加班原因等。
5. 记录职工基本信息与薪资信息的关联关系。
6. 记录加班信息与请假信息的关联关系。
7. 显示当前职工的工资信息、请假信息、加班信息等。
8. 允许用户对职工的工资信息、请假信息、加班信息等进行编辑和删除。
## 性能测试为了测试系统的性能和稳定性,我们使用了以下方法:1. 模拟大量数据的操作:在系统中添加大量数据,并对其进行各种操作。
2. 进行并发测试:在系统中添加并发用户,并对系统进行各种操作。
3. 进行压力测试:在系统中添加大量压力,并通过增加并发用户等方式对系统进行压力测试。
通过以上方法,我们测试了系统的性能和稳定性,并得到了以下结果:- 系统在高并发情况下能够稳定运行。
- 系统在低并发情况下也能够流畅运行。
- 系统在高压力情况下能够快速响应,并保持稳定运行。
- 系统在低压力情况下也能够流畅运行。
数据库课程设计--工资管理系统

数据库课程设计设计题目:工资管理系统班级:学号:姓名:任务分配表目录一绪论 (3)二需求分析 (3)三概要设计 (4)四物理设计 (5)五详细设计 (6)六调试分析 (9)七小结 (16)八附件 (16)一、绪论随着计算机技术的飞速发展和经济体制改革的不断深入,传统企业管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成员工工资管理工作。
提高公司企业管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。
基于C#与SQL server数据库技术建立一个通用工资管理系统,该系统为提供了查询、增加记录、删除等功能,功能比较的齐全,并对工资进行了统计如津贴管理、报表统计等。
基本上能满足管理员和公司的要求。
此次数据库课程设计的主要设计如下:原理分析、程序设计过程、程序实现和程序调试以及数据库的设计。
需求分析、概要结构设计、逻辑结构设计、物理结构设计和数据库的实施和维护。
主要包括两大大功能模块:1.管理员管理界面设计。
2.员工管理界面设计。
二、需求分析功能需求分析:该通用工资管理系统具备下列功能:管理员通过输入用户名和密码进下该系统后,可以进行一些基本查询(员工信息查询、工资奖金信息查询)、工资管理(计算总工资、奖金管理);通过输入密码,可以进行查询员工的数据(工资,奖金,税收等)。
具体功能的详细描述如下1、在首页进行选择,员工与管理员通道2、点击[管理员登陆]3、用户名和密码即可进入 [工资管理]功能窗体,在此可以选择功能,添加,查询,人员列表4、点击[添加]功能窗体,添加员工工资信息。
5、点击[查询]功能窗体,输入员工号即可查询员工信息。
6、点击[人员列表]功能窗体,可查看所有员工的列表,这界面内可以进行删除操作。
7、点击[员工登陆]8、用户名和密码即可进入 [员工工资查询]功能窗体,在此可以选择查询基本信息,查询工资信息。
9、在[查询基本信息],员工可自己查看自己的信息。
10、在[查询工作信息],员工可自己查看自己的工作信息。
sqlssms工资管理系统课程设计

sqlssms工资管理系统课程设计一、课程目标知识目标:1. 学生能掌握SQL Server Management Studio(SSMS)的基本操作和功能;2. 学生能理解工资管理系统的基本需求,学会使用SQL语句进行数据库的创建和管理;3. 学生能掌握使用SQL语句进行数据查询、插入、更新和删除等基本操作;4. 学生能了解工资管理系统中数据表之间的关系,并运用SQL语句进行关联查询。
技能目标:1. 学生能独立使用SSMS创建和管理数据库;2. 学生能编写SQL语句实现工资管理系统的数据操作;3. 学生能运用所学知识解决实际工资管理中的问题;4. 学生能在团队中协作,共同完成工资管理系统的设计与实现。
情感态度价值观目标:1. 培养学生对数据库管理工作的兴趣,激发学习热情;2. 培养学生严谨、细致的学习态度,提高实际操作能力;3. 培养学生团队协作精神,提高沟通与协作能力;4. 培养学生遵守国家法律法规,保护数据安全的意识。
课程性质:本课程为实践性较强的课程,结合实际工资管理系统案例,使学生掌握数据库管理和SQL语句的使用。
学生特点:学生具备一定的计算机操作基础,对数据库管理有一定了解,但实际操作能力有待提高。
教学要求:结合课程特点和学生实际,采用案例教学、任务驱动等教学方法,注重实践操作,提高学生的动手能力。
同时,注重培养学生的团队协作和沟通能力,提高其综合素质。
通过本课程的学习,使学生能够将所学知识应用于实际工作中,为未来职业发展奠定基础。
二、教学内容1. 工资管理系统概述:介绍工资管理系统的基本功能、业务流程及其在企业管理中的作用。
- 教材章节:第一章 数据库基础知识2. SQL Server Management Studio(SSMS)基本操作:学习SSMS的安装与配置,掌握其主要功能模块。
- 教材章节:第二章 SQL Server管理工具3. 数据库创建与管理:学习创建数据库、数据表,以及如何进行数据备份与恢复。
数据库课程设计实验报告-工资管理系统

延安大学计算机学院实验报告专用纸实验室:软件工程实验室学号:实验日期:2013年11月日(1)。
需求分析工资管理信息系统对企业加强工资管理有着极其重要的作用,就一般的大型企业来说,它的设计内容非常复杂而且繁多,比如拥有工资计算功能,工资统计功能,报表输出功能,而且设计的模块也很多,比如工资管理模块,工资统计模块,报表设计模块,打印输出模块,模糊查询模块等等.在做这个管理系统时,我们既咨询了父母又结合了教师等不同行业人士的工资情况,发现该系统受些许因素牵制比如说:公司大小,人员流动性,员工学历等通过我们的了解调查最终总结出系统功能如下:a。
整体结构合理, 模块化结构利于操作。
b。
完整的数据输入,输出,维护.c。
拥有不错的自检性,用户输错或误输均有提示。
d. 拥有较强的容错性,某个用户的错误操作不会引起系统的瘫痪。
e. 程序接口灵活,以便日后操作与维护。
f. 在不影响系统功能的前提下,美化操作界面.(2)。
概念设计○1E-R图错误!数据流图(3).逻辑设计基本信息(员工编号号,姓名,性别,毕业学校,所学专业,学历,电话,住址,从事岗位).考勤信息表(员工编号,姓名,请假天数,矿工天数,月迟到次数,月份).加班信息表(员工编号,姓名,晚班加班(天),周末加班(天),春节加班(天),节假日加班(天),月份)。
岗位信息表(员工编号,姓名,从事岗位,基本工资,部门名称)。
部门信息表(部门编号,部门名称,部门经理,部门人数)根据基本表创建了如下视图:加班津贴(员工编号,姓名,加班薪酬,月份)缺勤扣除表(员工编号,姓名,扣除工资,月份)月工资表(员工编号,姓名,基本工资,扣除工资,加班薪酬,实得工资,月份)年终奖(员工编号,姓名,奖(4).数据字典视图的创建:(5)。
系统的实现开发环境:SQL server 2005及eclipse○,1用SQL语言创建数据库Array 1.基本信息表(JBXX)Create table JBXX(Empno int not null primarykey,Emname varchar(8) not null,Sex char(2)check(Sex=’ 男’or Sex=’女’),School varchar(20)null,Profession varchar(20) null,Education varchar(6) null,Phone char(11) null,Address varchar(15)null)3.加班信息表(OVERTIMEINFORMA TION)Create table OVERTIMEINFORMATION(Empno int not null ,Night int null,Weekend int null,Festival int null,Special int null,Themonth int not null,5。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库原理及应用课程设计报告课程设计题目:(员工薪资管理系统)学生姓名陈柏铿专业信息与计算科学学号 201620320224班级 1623202指导教师郭树蕻2018/6/23目录* 摘要 (01)一、开发背景 (03)设计背景 (03)设计要求 (03)二、系统性需求分析 (04)三、概要设计 (04)四、物理设计 (05)五、详细设计 (05)数据库的E-R图 (05)数据库结构设计 (06)六、调试分析 (07)七、管理软件源代码 (11)八、思考与总结 (30)九、参考文献 (31)一、开发背景1.设计背景:1)某单位现有1000名员工,其中有管理人员、财务人员、技术人员和销售人员。
2)该单位下设4个科室,即经理室、财务科、技术科和销售科。
3)工资由基本工资、福利补贴和奖励工资构成,失业保险和住房公积金在工资中扣除。
4)每个员工的基本资料有姓名、性别、年龄、单位和职业(如经理、工程师、销售员等)。
5)每月个人的最高工资不超过3000元。
工资按月发放,实际发放的工资金额为工资减去扣除。
2.设计要求:1)进行需求分析。
2)设计E-R图。
3)实现按照科室录入个人的基本资料、工资和扣除金额的数据。
4)计算个人的实际发放工资。
5)按科室、职业分类统计人数和工资金额。
6)实现分类查询。
7)能够删除辞职人员的数据。
8)开发工具不限。
二、系统性需求分析本系统的开发宗旨以及总体任务就是帮助企业的财务主管部门提高工作效率,实现企业工资信息管理的自动化、规范化和系统化。
所以为了能够实现编制这个系统所设定的目标,在程序的开发之前,需求分析是必不可少的。
需求分析的第一步描述工资管理系统的功能,即定义用例,以此确定系统的功能需求。
工资管理系统的用例分析主要是找出系统中所有的用例,因此要和工资管理系统的潜在用户进行讨论。
系统最终实现的主要功能如下:1、员工基本信息模块员工基本信息模块具有员工信息输入、员工增删和员工信息查询三个功能。
员工基本信息包括员工编号、员工姓名、员工性别、所在部门、年龄、住址和联系电话等信息。
员工增删实现了对数据库中员工信息的增加和删除。
2、工资结构设置模块根据该公司的工资管理实际情况,本系统将工资结构分为基础工资、岗位工资和工龄工资三部分。
该模块可以对这三个工资类型设置工资等级,并对每个等级设置工资标准。
数据流需求分析:数据库寻找信息数据库需求分析——数据流图三、概要设计根据需求分析阶段得到的功能需求,管理员、员工通过输入用户名号和密码进下该系统后,可以进行一些基本查询(员工工资信息查询、津贴信息查询)、还可以进行员工删除和添加员工的操作,员工通过登录并输入密码,可以进行查询自己的数据(工资,信息)。
模块功能大概可以分为如下5个方面:这几个模块工资管理、信息查询,添加和删除员工,登陆、退出。
工资管理包括基本工资查询,添加员工、删除员工等。
四、物理设计1. 选择[登陆] 则会进入相应登陆网页。
2. 选择[员工] [管理员][游客]即可进入对应的网页3. 进入[员工界面]即可进入 [员工工资查询]功能窗体。
4. 进入[管理员界面] 即可进入 [修改信息][添加信息][查询信息]功能窗体。
5. 选择[添加信息] 按钮即可进入 [添加员工信息]功能窗体。
6. 选择[删除信息] 菜单按钮即可进入 [删除员工]功能窗体。
7.选择[查询信息] 菜单按钮即可进入 [查询员工信息]功能窗体。
8. 选择[首页]将返回整个系统。
五、详细设计(1)数据库的E-R图及合并部分视图生成E-R 图员工信息E-R图:员工工资信息E-R图:(2)数据库结构设计根据上面概念结构设计阶段得到的E-R图,下一步应该将它转化为关系模型。
可以得到对应的关系模式为:Worker(num,name,sex,age,dep,occup,password)Salary(work_num,basic_pay,welfare,honus,insurance,housing_fund, payment)数据库表的建立:(sql语句及截图)语句如下:Create table worker( num char(5) primary key,name varchar(8),sex char(5),age smallint,dep varchar(20),occup varchar(20),password varchar(10),);Create table salary( worker_num nchar(5) primary key,basic_pay float,welfare float,bonus float,insurance float,housing_fund float,payment float,)六、调试分析1、进入系统界面2、职工/管理员系统界面3、工资管理界面4、密码修改界面5、工资管理界面录入/修改/删除/查询所有/返回员工信息管理界面七、管理软件源代码说明:管理界面选择采用Java构建管理界面,Java对数据库有着对数据库良好的连接功能,且其可以很容易的实现窗口的构建,可以给用户以及管理员以良好友善的界面,便于人机交互,能够很好的对数据库实现管理,以及其面向对象的特性在后期的维护中很容易实现软件的扩展与各种维护!Java编程语言的风格十分接近C语言、C++语言。
Java是一个纯粹的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。
Java舍弃了C语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。
package wage_management;import java.awt.*;import java.awt.event.*;import javax.swing.*;class DB1 extends JFrame implements ActionListener {private static final long serialVersionUID = 1L;JFrame frame = new JFrame("欢迎进入工资管理系统");JLabel label = new JLabel("", JLabel.CENTER);JButton button1 = new JButton("进入系统");JButton button2 = new JButton("退出系统");void Create() {JPanel pcontentPane = (JPanel) frame.getContentPane();pcontentPane.add(label);pcontentPane.setLayout(new FlowLayout());pcontentPane.add(button1);pcontentPane.add(button2);pcontentPane.setBackground(Color.gray);pcontentPane.setVisible(true);button1.addActionListener(this);button2.addActionListener(this);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.pack();frame.setBounds(500, 300, 300, 150);frame.setResizable(false);frame.setVisible(true);}public static void main(String[] args) {DB1 dome = new DB1();dome.Create();}public void actionPerformed(ActionEvent e) {if (button1.equals(e.getSource())) {DL dl = new DL();dl.create();frame.dispose();}if (button2.equals(e.getSource())) {// 退出System.exit(0);}}}---------------------------------------------------------------------- package wage_management;import java.awt.Color;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JPasswordField;import javax.swing.JTextField;import com.mysql.jdbc.PreparedStatement;@SuppressWarnings("serial")class DL extends JFrame implements ActionListener{JFrame frame = new JFrame("职工/管理员登陆");JLabel label1 = new JLabel("用户名");JLabel label2 = new JLabel("密码");JButton logonButton1 = new JButton("管理员登录");JButton logonButton2 = new JButton("职工登录");JButton cancelButton = new JButton("退出");JTextField username = new JTextField(9);JPasswordField password = new JPasswordField(9);static String t1;static String t2;void create(){JPanel p = (JPanel) frame.getContentPane();@SuppressWarnings("unused")JPanel p1 = new JPanel();p.setLayout(new FlowLayout());p.add(label1);p.setSize(5, 5);p.setLocation(4, 8);p.add(username);p.setSize(100, 200);p.setLocation(800, 800);p.add(label2);p.setSize(50, 20);p.setLocation(40, 80);p.add(password);p.setSize(100, 20);p.setLocation(80, 120);p.add(logonButton1);p.add(logonButton2);p.add(cancelButton);p.setBackground(Color.gray);p.setVisible(true);logonButton1.addActionListener(this);logonButton2.addActionListener(this);cancelButton.addActionListener(this);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack();frame.setBounds(500, 300, 500, 220);frame.setVisible(true);}@SuppressWarnings("deprecation")public void actionPerformed(ActionEvent e){t1 = username.getText();t2 = password.getText();if(e.getSource()==logonButton1){if( username.getText().equals("admin") == true&& (password.getText().equals("admin") == true)){JOptionPane.showMessageDialog(this, "登录成功!"); GZGLZJM gz = new GZGLZJM();gz.create();frame.dispose();}else {JOptionPane.showMessageDialog(null, "输入用户名或密码错误!");}}if (e.getSource()==logonButton2){try {Connection con;Statement ps;ResultSet rs;String sql = null;Class.forName("org.gjt.mm.mysql.Driver");Class.forName("org.gjt.mm.mysql.Driver").newInstance();con = DriverManager.getConnection("jdbc:mysql://localhost:3306/management","root","hellomysql");sql="select * from worker where num='"+t1+"' and password='"+t2+"'";ps=(PreparedStatement) con.prepareStatement(sql);rs = ps.executeQuery(sql);if(rs.next()){if(rs.getString("num").equals(t1) && rs.getString("password").equals(t2)) {YGGLZJM yg = new YGGLZJM();yg.create();frame.dispose();JOptionPane.showMessageDialog(this, "登录成功!");this.dispose();}}else {JOptionPane.showMessageDialog(this, "输入用户名或密码错误!");}}catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}if (cancelButton.equals(e.getSource())) // 退出{System.exit(0);}}}-------------------------------------------------------------------------------- package wage_management;import java.awt.Color;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JSplitPane;import javax.swing.JTable;import javax.swing.JTextField;@SuppressWarnings("serial")public class GZGL extends JFrame implements ActionListener {JFrame f = new JFrame("员工工资管理");JButton b1 = new JButton("录入");JButton b2 = new JButton("修改");JButton b3 = new JButton("删除");JButton b4 = new JButton("查询所有");JButton b5 = new JButton("返回");JTextField tf1 = new JTextField(6);JTextField tf2 = new JTextField(4);JTextField tf3 = new JTextField(4);JTextField tf4 = new JTextField(4);JTextField tf5 = new JTextField(4);JTextField tf6 = new JTextField(4);JTextField tf7 = new JTextField(6);JTextField tf8 = new JTextField(6);JTextField tf9 = new JTextField(4);JTextField tf10= new JTextField(4);JTextField tf11= new JTextField(6);JTextField tf12= new JTextField(6);String[] cloum = { "职工号", "基本工资", "津贴", "奖金","保险","房贷","总工资"}; Object[][] row = new Object[50][7];JTable table = new JTable(row, cloum);JScrollPane scrollpane = new JScrollPane(table);JSplitPane splitpane = new JSplitPane(JSplitPane.VERTICAL_SPLIT); void create() {JPanel p = (JPanel) f.getContentPane();p.setLayout(new FlowLayout());p.add(scrollpane);p.add(splitpane);JPanel p1 = new JPanel();p1.add(b1);p1.add(b2);p1.add(b3);p1.add(b4);p1.add(b5);JPanel p2 = new JPanel();p2.setBackground(Color.gray);p2.add(scrollpane);@SuppressWarnings("unused")JPanel p3 = new JPanel();p.setLayout(new FlowLayout());p.add(new JLabel(""));p.add(new JLabel("职工号"));p.add(tf1);p.add(new JLabel("基本工资"));p.add(tf2);p.add(new JLabel("津贴"));p.add(tf3);p.add(new JLabel("奖金"));p.add(tf4);p.add(new JLabel("保险"));p.add(tf5);p.add(new JLabel("房贷"));p.add(tf6);p.add(new JLabel("总工资"));p.add(tf7);p.add(new JLabel("姓名"));p.add(tf8);p.add(new JLabel("性别"));p.add(tf9);p.add(new JLabel("年龄"));p.add(tf10);p.add(new JLabel("部门"));p.add(tf11);p.add(new JLabel("职业"));p.add(tf12);splitpane.add(p1, JSplitPane.TOP);splitpane.add(p2, JSplitPane.BOTTOM);splitpane.setDividerLocation(50);p.setBackground(Color.gray);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);b4.addActionListener(this);b5.addActionListener(this);f.setBounds(500, 100, 500, 600);f.setResizable(false);// 可以调整界面大小f.setVisible(true);}public void actionPerformed(ActionEvent e) {if (b1.equals(e.getSource())) { // 录入Connection con;Statement sql;try {Class.forName("org.gjt.mm.mysql.Driver");} catch (ClassNotFoundException e1) {System.out.println("" + e1);}try {con=DriverManager.getConnection("jdbc:mysql://localhost:3306/management","root","hellomysql ");sql = con.createStatement();String insertStr = "INSERT INTO salary (worker_num,basic_pay,welfare,bonus,insurance,housing_fund,payment)VALUES('"+tf1.getText()+ "','"+tf2.getText()+"','"+tf3.getText()+"','"+tf4.getText()+"','"+tf5.getText()+"','"+tf6.g etText()+"','"+tf7.getText()+"');";sql.executeUpdate(insertStr);String insertStr1 = "INSERT INTO worker (num,name,sex,age,dep,occup,password)VALUES('"+tf1.getText()+"','"+tf8.getText()+"','"+tf9. getText()+"','"+tf10.getText()+"','"+tf11.getText()+"','"+tf12.getText()+"','"+tf1.getText( )+"');";sql.executeUpdate(insertStr1);con.close();JOptionPane.showMessageDialog(this, "入录成功!");} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "入录失败!");}}if (b2.equals(e.getSource())) {// 修改Connection con;Statement sql;try {Class.forName("org.gjt.mm.mysql.Driver");} catch (ClassNotFoundException e1) {System.out.println("" + e1);}try {con = DriverManager.getConnection("jdbc:mysql://localhost:3306/management","root","hellomysql"); sql = con.createStatement();String updateStr = "UPDATE salary SET basic_pay='"+tf2.getText()+"',welfare='"+tf3.getText()+"',bonus='"+tf4.getText()+"',insuran ce='"+tf5.getText()+"',housing_fund='"+tf6.getText()+"',payment='"+tf7.getText()+"'where worker_num='"+tf1.getText()+"';";sql.executeUpdate(updateStr);String updateStr1 = "UPDATE worker SET name='"+tf8.getText()+"',sex='"+tf9.getText()+"',age='"+tf10.getText()+"',dep='"+tf11.getTe xt()+"',occup='"+tf12.getText()+"'where num='"+tf1.getText()+"';";sql.executeUpdate(updateStr1);JOptionPane.showMessageDialog(this, "修改成功!");con.close();} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "信息不存在!");}}if (b3.equals(e.getSource())) {// 删除Connection con;Statement sql;@SuppressWarnings("unused")ResultSet rs;try {Class.forName("org.gjt.mm.mysql.Driver");} catch (ClassNotFoundException e1) {System.out.println("" + e1);}try {con = DriverManager.getConnection("jdbc:mysql://localhost:3306/management","root","hellomysql"); sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);sql.executeUpdate("DELETE FROM salary where worker_num='"+tf1.getText()+"';");sql.executeUpdate("DELETE FROM worker where num='"+tf1.getText()+"';");JOptionPane.showMessageDialog(this, "删除成功!");con.close();} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "删除失败!");}}if (b4.equals(e.getSource())) {// 查询全部Connection con;Statement sql;ResultSet rs;try {Class.forName("org.gjt.mm.mysql.Driver");} catch (ClassNotFoundException e1) {JOptionPane.showMessageDialog(this, "连接数据库失败!");}try {con = DriverManager.getConnection("jdbc:mysql://localhost:3306/management","root","hellomysql"); sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);if (b4.equals(e.getSource())) {for (int i = 0; i < 50; i++)for (int j = 0; j < 4; j++)table.setValueAt("", i, j);rs = sql.executeQuery("select * from salary");int k = -1;while (rs.next()) {++k;String no = rs.getString(1);String jb = rs.getString(2);String jt = rs.getString(3);String jj = rs.getString(4);String bx = rs.getString(5);String zf = rs.getString(6);String sum= rs.getString(7);table.setValueAt(no, k, 0);table.setValueAt(jb, k, 1);table.setValueAt(jt, k, 2);table.setValueAt(jj, k, 3);table.setValueAt(bx, k, 4);table.setValueAt(zf, k, 5);table.setValueAt(sum,k, 6);}}} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "查询失败!");}}if (b5.equals(e.getSource())) {// 返回GZGLZJM gl=new GZGLZJM();gl.create();f.dispose();}}}----------------------------------------------------------------------------------------- package wage_management;import java.awt.Color;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;class GZGLZJM extends JFrame implements ActionListener {private static final long serialVersionUID = 1L;JFrame f = new JFrame("工资管理系统");JButton b1 = new JButton("工资管理");JButton b2 = new JButton("员工信息管理");JButton b3 = new JButton("返回");void create() {JPanel p = (JPanel) f.getContentPane();p.setLayout(new FlowLayout());p.add(b1);p.add(b2);p.add(b3);p.setBackground(Color.gray);p.setVisible(true);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);f.setBounds(500, 300, 500, 200);f.setResizable(false);f.setVisible(true);}public void actionPerformed(ActionEvent e) {if (b3.equals(e.getSource())) {// 返回DL d = new DL();d.create();f.dispose();}if (b2.equals(e.getSource())) {// 员工信息管理YGGL yg = new YGGL();yg.create();f.dispose();}if (b1.equals(e.getSource())) {// 员工工资管理GZGL gz = new GZGL();gz.create();f.dispose();}}}------------------------------------------------------------------------- package wage_management;import java.awt.Color;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JPasswordField;@SuppressWarnings("serial")class XGMM extends DL implements ActionListener{JFrame frame = new JFrame("密码修改");JLabel label1 = new JLabel("原密码");JLabel label2 = new JLabel("新密码");JButton Button1 = new JButton("确定");JButton cancelButton = new JButton("返回"); JPasswordField password = new JPasswordField(9); JPasswordField newpassword = new JPasswordField(9); void create(){JPanel p = (JPanel) frame.getContentPane();p.setLayout(new FlowLayout());p.add(label1);p.setSize(5, 5);p.setLocation(4, 8);p.add(password);p.setSize(100, 200);p.setLocation(600, 600);p.add(label2);p.setSize(50, 20);p.setLocation(40, 80);p.add(newpassword);p.setSize(100, 20);p.setLocation(80, 120);p.add(Button1);p.add(cancelButton);p.setBackground(Color.cyan);p.setVisible(true);Button1.addActionListener(this);cancelButton.addActionListener(this);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack();frame.setBounds(200, 100, 500, 220);frame.setVisible(true);}public void actionPerformed(ActionEvent e){if (e.getSource()==Button1){Connection con;Statement sql;try {Class.forName("org.gjt.mm.mysql.Driver");} catch (ClassNotFoundException e1) {JOptionPane.showMessageDialog(this, "连接数据库失败!");}try {con = DriverManager.getConnection("jdbc:mysql://localhost:3306/management","root","hellomysql"); sql = con.createStatement();@SuppressWarnings("deprecation")String updateStr = "UPDATE worker SET password='"+newpassword.getText()+"'where num='"+t1+"';";sql.executeUpdate(updateStr);JOptionPane.showMessageDialog(this, "修改成功!");con.close();frame.dispose();} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "请输入原密码和新密码!");}}if (e.getSource()==cancelButton) //返回{YGGLZJM dl=new YGGLZJM();dl.create();frame.dispose();}}}---------------------------------------------------------------------------------package wage_management;import java.awt.Color;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JSplitPane;import javax.swing.JTable;import javax.swing.JTextField;@SuppressWarnings("serial")public class YGGL extends JFrame implements ActionListener { JFrame f = new JFrame("员工信息管理");JButton b2 = new JButton("修改员工信息");JButton b3 = new JButton("删除员工信息");JButton b4 = new JButton("查询所有员工信息");JButton b5 = new JButton("返回");JTextField tf1 = new JTextField(8);JTextField tf2 = new JTextField(8);JTextField tf3 = new JTextField(6);JTextField tf4 = new JTextField(6);JTextField tf5 = new JTextField(6);JTextField tf6 = new JTextField(6);String[] cloum = { "职工号", "姓名", "性别", "年龄","部门","职业"}; Object[][] row = new Object[50][6];JTable table = new JTable(row, cloum);JScrollPane scrollpane = new JScrollPane(table);JSplitPane splitpane = new JSplitPane(JSplitPane.VERTICAL_SPLIT); void create() {JPanel p = (JPanel) f.getContentPane();p.setLayout(new FlowLayout());p.add(scrollpane);p.add(splitpane);JPanel p1 = new JPanel();p1.add(b2);p1.add(b3);p1.add(b4);p1.add(b5);JPanel p2 = new JPanel();p2.setBackground(Color.gray);p2.add(scrollpane);p.setLayout(new FlowLayout());p.add(new JLabel(""));p.add(new JLabel("职工号"));p.add(tf1);p.add(new JLabel("姓名"));p.add(tf2);p.add(new JLabel("性别"));p.add(new JLabel("年龄"));p.add(tf4);p.add(new JLabel("部门"));p.add(tf5);p.add(new JLabel("职业"));p.add(tf6);splitpane.add(p1, JSplitPane.TOP);splitpane.add(p2, JSplitPane.BOTTOM);splitpane.setDividerLocation(50);p.setBackground(Color.gray);b2.addActionListener(this);b3.addActionListener(this);b4.addActionListener(this);b5.addActionListener(this);f.setBounds(500, 100, 500, 600);f.setResizable(false);// 可以调整界面大小f.setVisible(true);}public void actionPerformed(ActionEvent e) {if (b2.equals(e.getSource())) {// 修改员工信息Connection con;Statement sql;try {Class.forName("org.gjt.mm.mysql.Driver");} catch (ClassNotFoundException e1) {JOptionPane.showMessageDialog(this, "连接数据库失败!");}try {con = DriverManager.getConnection("jdbc:mysql://localhost:3306/management","root","hellomysql"); sql = con.createStatement();String updateStr = "UPDATE worker SET name='"+tf2.getText()+"',sex='"+tf3.getText()+"',age='"+tf4.getText()+"',dep='"+tf5.getText ()+"',occup='"+tf6.getText()+"'where num='"+tf1.getText()+"';";sql.executeUpdate(updateStr);JOptionPane.showMessageDialog(this, "修改成功!");con.close();} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "修改失败!");}}if (b3.equals(e.getSource())) {// 删除员工信息Connection con;try {Class.forName("org.gjt.mm.mysql.Driver");} catch (ClassNotFoundException e1) {JOptionPane.showMessageDialog(this, "连接数据库失败!");}try {con = DriverManager.getConnection("jdbc:mysql://localhost:3306/management","root","hellomysql"); sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);sql.executeUpdate("DELETE FROM worker where num='"+tf1.getText()+"';");sql.executeUpdate("DELETE FROM salary where worker_num='"+tf1.getText()+"';"); JOptionPane.showMessageDialog(this, "删除成功!");con.close();} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "删除失败!");}}if (b4.equals(e.getSource())) {// 查询全部员工信息Connection con;Statement sql;ResultSet rs;try {Class.forName("org.gjt.mm.mysql.Driver");} catch (ClassNotFoundException e1) {JOptionPane.showMessageDialog(this, "连接数据库失败!");}try {con = DriverManager.getConnection("jdbc:mysql://localhost:3306/management","root","hellomysql"); sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);if (b4.equals(e.getSource())) {for (int i = 0; i < 50; i++)for (int j = 0; j < 4; j++)table.setValueAt("", i, j);rs = sql.executeQuery("select * from worker ;");int k = -1;while (rs.next()) {++k;String no = rs.getString(1);String xm = rs.getString(2);String xb = rs.getString(3);String nl = rs.getString(4);String bm = rs.getString(5);String zy = rs.getString(6);table.setValueAt(no, k, 0);table.setValueAt(xm, k, 1);table.setValueAt(xb, k, 2);table.setValueAt(nl, k, 3);table.setValueAt(bm, k, 4);table.setValueAt(zy, k, 5);}}} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "查询失败!");}}if (b5.equals(e.getSource())) {// 返回GZGLZJM gl=new GZGLZJM();gl.create();f.dispose();}}}----------------------------------------------------------------------------------- package wage_management;import java.awt.Color;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JSplitPane;import javax.swing.JTable;@SuppressWarnings("serial")public class YGGLZJM extends DL implements ActionListener {JFrame f = new JFrame("工资管理");JButton b1 = new JButton("查询个人工资");JButton b2 = new JButton("修改密码");JButton b3 = new JButton("返回");String[] cloum = { "职工号", "基本工资", "津贴", "奖金","保险","房贷","总工资"};Object[][] row = new Object[50][7];JTable table = new JTable(row, cloum);JScrollPane scrollpane = new JScrollPane(table);JSplitPane splitpane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);void create() {JPanel p = (JPanel) f.getContentPane();p.setLayout(new FlowLayout());p.add(scrollpane);p.add(splitpane);JPanel p1 = new JPanel();p1.add(b1);p1.add(b2);p1.add(b3);JPanel p2 = new JPanel();p2.setBackground(Color.gray);p2.add(scrollpane);@SuppressWarnings("unused")JPanel p3 = new JPanel();p.setLayout(new FlowLayout());splitpane.add(p1, JSplitPane.TOP);splitpane.add(p2, JSplitPane.BOTTOM);splitpane.setDividerLocation(50);p.setBackground(Color.gray);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);f.setBounds(200, 100, 500, 550);f.setResizable(false);// 可以调整界面大小f.setVisible(true);}public void actionPerformed(ActionEvent e) {if (b1.equals(e.getSource())) {// 查询个人工资Connection con;Statement sql;ResultSet rs;try {Class.forName("org.gjt.mm.mysql.Driver");} catch (ClassNotFoundException e1) {System.out.println("" + e1);}try {con = DriverManager.getConnection("jdbc:mysql://localhost:3306/management","root","hellomysql");。