数据库课程设计-员工薪资管理系统
工资管理系统课程设计
工资管理系统 课程设计一、课程目标知识目标: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. 帮助学生了解我国工资制度的相关法律法规,并能在实际操作中运用。
技能目标:1. 培养学生运用信息技术解决实际问题的能力,能独立操作工资管理系统。
2. 提高学生的团队协作能力,通过小组讨论和分享,共同解决操作过程中遇到的问题。
3. 培养学生分析、设计和优化工资管理系统的能力,为将来从事相关领域工作打下基础。
情感态度价值观目标:1. 培养学生认真负责的工作态度,注重细节,确保工资管理数据的准确性。
2. 激发学生对信息技术学科的兴趣,提高学习积极性,树立学习信心。
3. 增强学生的法律意识,使他们在实际操作中遵循国家法律法规,养成良好的职业道德。
分析课程性质、学生特点和教学要求,本课程旨在通过理论教学与实际操作相结合,帮助学生掌握工资管理系统的相关知识,培养实际操作能力。
课程目标具体、可衡量,便于学生和教师在教学过程中明确预期成果,并为后续教学设计和评估提供依据。
二、教学内容1. 工资管理系统概述- 了解工资管理系统的基本概念、功能和作用- 分析工资管理系统的类型及适用场景2. 工资管理系统模块介绍- 学习工资管理系统的主要模块,如员工信息管理、工资项目管理、工资计算、报表生成等- 掌握各模块的功能和操作方法3. 工资管理系统的操作流程- 学习工资管理系统的操作流程,包括数据录入、查询、修改、删除等- 掌握工资管理系统的权限设置和安全管理4. 工资管理系统在实际应用中的案例分析- 分析实际企业工资管理案例,了解工资管理系统的应用场景- 学习企业工资管理中的法律法规及合规要求5. 教学实践与操作- 安排学生进行工资管理系统的实际操作,巩固所学知识- 组织小组讨论,分享操作经验,解决实际问题6. 工资管理系统优化与拓展- 学习如何根据企业需求,优化工资管理系统功能- 探讨工资管理系统的发展趋势和新技术应用教学内容依据课程目标,遵循科学性和系统性原则,结合教材相关章节,制定详细的教学大纲。
工资管理系统的数据库课程设计
课程设计报告书年 月1 设计时间2 设计目的掌握数据库的设计3设计任务设计一个工资管理系统4 设计内容〔1〕目标:1)实现月工资计算;2)实现与工资管理有关的档案管理。
3)提高工资管理工作效率,降低出错率。
〔2〕功能要求:档案管理1)保存有关工资计算以及工资管理所必须的数据2)能对数据进行查询、统计工资计算1)正确计算出个人月工资、部门月工资以及全厂月工资。
2)能对病假扣款系数进行修正。
3)能统计工资计算表、个人工资单、部门工资单、工资汇总表四种表格。
需求分析工资管理信息系统对企业加强工资管理有着极其重要的作用,就一般的大型企业来说,它的设计内容非常复杂而且繁多,比方拥有工资计算功能,工资统计功能,报表输出功能,而且设计的模块也很多,比方工资管理模块,工资统计模块,报表设计模块,打印输出模块,模糊查询模块等等。
由于设计时间本设计事一个简单模型,该公司目前对工资管理的要求并不高。
因此,针对该公司而言,我们经过了反复地论证,最终确定了工资管理系统的设计方案。
该工资管理系统的主要功能如下图:图4-1概念结构设计图4-2职工技术职称性别 出生日期参加工作日期所属部门人员类别工种类别 技术等级职工号文化程度 现住址籍贯民族工资管理系统职工基本信息 工资结构设置 工资汇总资料输入职工增删职工查询基础工资岗位工资工龄工资岗位工资工龄工资图4-3图4-4工资表岗位津贴住房补贴职务津贴物价补贴房租缺勤扣除工资加班费出勤表职工出勤日数工伤日数 产假日数旷工日数病假日数事假日数 加班日数夜班日数 病假系数图4-5 总ER 图逻辑结构设计职工表〔职工号 技术等级 性别 出生日期 参加工作日期 所属部门 人员类别 工种职别技术职称 文化程度 民族 籍贯 现住址 〕工资表〔技术等级 职工的基本工资 岗位津贴 物价补贴 职位津贴 住房补贴 房租〕出勤表〔职工号 职工出勤 工伤日数 产假日期 病假日期 旷工日期 事假日期 加班日期 夜班日期 病假日期〕物理结构设计职工表4-1字段名称 类型 是否为空 主关键字 取值范围 备注 职工号 char 否 Y 主键 char 否 N 性别 char 否 N 出生日期datetime否N职工出勤表工资表职工号 性别 民族职工号 技术等级物价补贴 岗位津贴物价补贴住房补贴 技术等级加班费 旷工日数加班日数职工代号工伤日数产假日数事假日数病假日数影响影响参加工作datetime 否 N日期所属部门 char 否 N人员类别 char 否 N工种职别 char 否 N技术等级 char 否 N技术职称 char 否 N文化程度 char 否 N民族 char 否 N籍贯 char 否 N现住址 char 否 N工资表4-2字段名称 类型 是否为空 主键字 取值范围 备注 技术等级 char 否 Y 主键 岗位津贴 int 否 N物价补贴 int 否 N职务津贴 int 否 N住房补贴 int 否 N房租 int 否 Nint 否 N缺勤扣除工资加班费 int 否 N出勤表4-3字段名称 类型 是否为空 主键字 取值范围 备注 职工号 char 否 Y 主键 int 否 N职工的出勤日数工伤日数 int 否 N产假日数 int 否 N病假日数 int 否 N旷工日数 int 否 N事假日数 int 否 N加班日数 int 否 N夜班日数 int 否 N病假系数 int 否 N数据库实现职工号 char(10) primary key,create table ZG(char(10) not null,性别 char(10) not null,出生日期 datetime not null,参加工作日期 datetime not null ,所属部门 char (20) not null,人员类别 char(10) not null,工种职别 char (10) not null,技术等级 char (10) not null,技术职称 char (10) not null,文化程度 char (10) not null,民族 char (10) not null,籍贯 char (10) not null,现住址 char (10) ) not null;技术等级 char(10) primary key not null, create table GZ(职工的基本工资 int not null ,岗位津贴 int not null ,物价补贴 int not null ,职务津贴 int not null,住房补贴 int not null,房租 int not null );职工号 char(10) primary key,create table CQ(职工的出勤日数 int ,公伤日数 int not null,产假日数 int not null ,病假日数 int not null,旷工日数 int not null,事假日数 int not null,加班日数 int not null ,夜班日数 int not null ,病假系数 int not null);数据载入职工表的数据图4-6工资表的数据图4-7出勤表的数据图4-8运行与测试设计系统查询功能及要求,写出主要的查询SQL语句,并给出运行结果。
《ACCESS数据库》_工资管理系统
目录第1章课程设计目的与要求 (2)1.1 课程设计目的 (2)1.2 课程设计的实验环境 (2)1.3 课程设计的预备知识 (2)1.4 课程设计要求 (2)第2章课程设计内容 (3)2.1 选题说明及需求介绍 (3)2.2数据库设计说明 (3)2.2.1概念设计 (3)2.2.2逻辑设计 (4)2.2.3建立数据库和基本表 (6)2.2.4定义基本表之间的关系 (7)2.3系统的功能模块划分 (7)2.4实现过程及完成效果介绍 (8)2.4.1实现过程简要说明 (8)2.4.1系统实现效果 (8)第3章课程设计总结 (13)参考文献 (14)课程设计目的与要求1.1 课程设计目的本课程的课程设计实际是计算机信息管理专业学生学习完《数据库原理与应用》课程后,进行的一次全面的综合训练,其目的在于加深对数据库基础理论和基本知识的理解,掌握运用数据库应用系统开发软件的基本方法。
1.2 课程设计的实验环境硬件要求能运行WindowsXP操作系统的微机系统。
数据库应用系统开发软件可以选用Microsoft Access 2003,或其他数据库管理系统。
1.3 课程设计的预备知识熟悉数据库的基本知识及一种以上数据库系统开发软件。
1.4 课程设计要求必须独立完成课程设计报告的撰写,不得抄袭他人或网上的社会实践报告,如有雷同,抄袭者和被抄袭者的成绩均为不合格,不能取得学分。
按课程设计指导书提供的课题,独立设计,要求书写详细的设计说明书,对复杂的代码段和程序段,应画出程序流程图。
在界面设计中,画出每个窗口的布局,有多个窗口时,按模块调用的方式画出窗口调用图。
要求书写规范、文字通顺、图表清晰、数据完整、结论明确。
课程设计内容2.1 选题说明及需求介绍选题说明:1、项目背景:数据库原理课程设计2、编写目的:掌握数据库设计原理及相关软件的使用3、软件定义:工资管理系统4、开发环境:Access2003需求分析:1、问题的提出:工资管理是现代企业管理中的一个部分,完善的工资管理系统可以有效的管理职工,可以提高对职工的管理,还能节省企业的费用。
工资系统数据库课程设计
工资系统数据库课程设计一、课程目标知识目标:1. 理解数据库在工资管理系统中的应用和重要性;2. 掌握工资管理系统的基本功能模块及其数据表结构设计;3. 学会运用SQL语句进行工资数据的查询、插入、更新和删除操作;4. 了解数据库的安全性和一致性原则在工资系统中的应用。
技能目标:1. 能够独立设计并实现一个简单的工资管理系统数据库;2. 能够运用所学知识,对工资数据进行有效管理和维护;3. 能够通过数据库查询和分析,解决工资管理中的实际问题;4. 学会使用数据库管理工具(如:MySQL、Oracle等)进行数据操作。
情感态度价值观目标:1. 培养学生对数据库技术在工资管理系统中的应用产生兴趣,提高学习积极性;2. 培养学生严谨、细心的数据处理能力和团队合作精神;3. 增强学生对信息技术的认识,使其意识到信息技术在企业管理中的重要作用;4. 培养学生尊重劳动、诚实守信的品质,提高社会责任感。
课程性质:本课程为实践性较强的课程,以培养学生的实际操作能力和解决问题的能力为主。
学生特点:学生具备一定的数据库基础知识和计算机操作技能,但可能对工资管理系统的实际应用了解不多。
教学要求:结合学生特点和课程性质,注重理论与实践相结合,以案例教学为主,培养学生的实际操作能力和分析解决问题的能力。
在教学过程中,关注学生的学习进度和情感态度,确保课程目标的实现。
通过课程学习,使学生能够将所学知识应用于实际工作中,提高其职业素养。
二、教学内容1. 工资管理系统概述- 了解工资管理系统的基本概念和功能模块;- 分析工资管理系统的业务流程。
2. 数据库设计基础- 学习数据库设计的基本原则和步骤;- 掌握实体关系模型和关系数据库设计方法。
3. 工资管理系统数据库设计- 设计工资管理系统所需的数据表结构;- 学习如何建立实体和关系,并进行属性定义。
4. SQL语句操作- 掌握SQL基本操作(查询、插入、更新、删除);- 学习运用SQL语句对工资数据进行管理。
javaMySql数据库课程设计(员工工资管理系统)
Java MySql数据库课程设计 - 员工工资管理系统1. 引言在现代企业中,员工工资管理是一项非常重要的任务。
合理管理员工工资不仅可以激励员工的积极性,还可以提高企业的运营效率。
为了更好地管理员工工资,我们决定设计一个员工工资管理系统,使用Java编程语言与MySql数据库进行开发。
2. 功能需求该员工工资管理系统将包含以下功能模块: - 员工信息管理:包括添加员工、删除员工、查看员工信息、修改员工信息等功能。
- 工资管理:包括录入员工工资、计算员工工资、查询员工工资等功能。
- 统计分析:包括统计部门工资总和、统计员工工资平均值等功能。
3. 技术选型为了实现上述功能需求,我们选择使用Java编程语言与MySql数据库进行开发。
以下是我们选择这些技术的原因: - Java是一种面向对象的编程语言,具有良好的可读性和可维护性,适合开发大型项目。
- MySql是一种关系型数据库管理系统,具有高性能和可扩展性,适合处理大量的数据。
4. 数据库设计4.1 数据表设计我们将设计两个数据表来存储员工信息和工资信息。
4.1.1 员工信息表字段名称数据类型说明id int员工IDname varchar员工姓名age int员工年龄gender varchar员工性别department varchar员工部门4.1.2 工资信息表字段名称数据类型说明id int工资IDemployee_id int员工IDmonth varchar月份salary decimal工资金额4.2 数据库查询语句以下是一些常用的数据库查询语句,用于实现系统功能模块:4.2.1 添加员工INSERT INTO employee (id, name, age, gender, d epartment)VALUES (1001, '张三', 25, '男', '技术部');4.2.2 删除员工DELETE FROM employee WHERE id=1001;4.2.3 查看员工信息SELECT*FROM employee;4.2.4 修改员工信息UPDATE employee SET age =26WHERE id=1001;4.2.5 录入员工工资INSERT INTO salary (id, employee_id, month, sa lary)VALUES (1, 1001, '2021-01', 5000);4.2.6 计算员工工资SELECT SUM(salary) FROM salary WHERE employee_ id =1001;4.2.7 查询员工工资SELECT*FROM salary;4.2.8 统计部门工资总和SELECT department, SUM(salary) FROM employee JOIN salary ON employee.id= salary.employee_id GROUP BY department;4.2.9 统计员工工资平均值SELECT employee_id, AVG(salary) FROM salary GROUP BY employee_id;5. 系统架构为了提高系统的扩展性和灵活性,我们将采用三层架构来设计该员工工资管理系统。
数据库课程设计企业工资管理系统java版完整代码
课程设计报告企业工资管理系统姓名X X X班级XXXXX学号XXXXXX课程名称数据库原理及应用指导教师201X年X月X日目录一.工资管理系统需求分析…………………………………功能需求…………………………………………………功能划分………………………………………功能描述……………………………………………性能需求…………………………………………………数据流图………………………………………………二.总体设计…………………………………………………数据库概念设计…………………………………………功能模块…………………………………………………三.系统详细设计……………………………………………数据库逻辑设计…………………………………………各模块功能………………………………………………职工信息管理系统…………………………………职工工资管理系统…………………………………职工津贴管理系统…………………………………四.系统实现…………………………………………………界面截图…………………………………………………主界面及工资基本信息界面……………………登录界面…………………………………………系统主界面………………………………………信息录入,修改,删除,查询界面…………设计代码…………………………………………………五.实验总结…………………………………………………1、需求分析1.1功能需求功能划分(1)、员工信息表;及时反映员工(de)基本信息(2)、员工津贴表,反映员工津贴(3)、员工基本工资表功能描述(1)、基本工资(de)设定(2)、津贴(de)设定(3)、计算出月工资(4)、录入员工工资信息(5)、添加员工工资信息(6)、更改员工工资信息性能需求此工资管理系统对工资数据精度(de)计算能在默认情况之下精确到小数点后3位小数,即是精确到分(de)计算.但在用户使用过程中,能自行根据实际情况进行小数计算精度(de)设定,最大能允许保留小数点后5位(de)精度.在时间特性上,当用户发出命令请求时(de)服务器(de)响应时间、对数据更新处理、工资数据(de)查询检索等上,同样要求系统响应时间不会超过秒时间.系统支持多种操作系统(de)运行环境,多不同操作系统,不同文件格式(de)磁盘上(de)数据均能实现信息(de)互通,及共享.当服务器移植到其他(de)系统平台,如:Linux平台下时,同样能和其他(de)系统进行数据存取同步,不会出现系统之间互不兼容(de)情况,系统支持多系统之间(de)互连互通,系统有巨大(de)强健性.本课程设计是用Java 语言编写,mysql数据库.数据流图根据工资管理要求及用户需求调查分析,得到以下数据流图图第一层数据流图图职工信息(de)载入图考勤(de)信息载入2.总体设计数据库概念设计有了数据流图,用E-R图来说明工资信息管理系统(de)数据库概念模式,如图图实体之间关系E-R 图功能模块3.系统详细设计数据库逻辑设计将以上E-R转换成如下关系模式员工(职工号,姓名,密码)工资(职工号,姓名,基本工资,)津贴(职工号,姓名,奖金)其中,标有下划线(de)字段表示为该数据表(de)主码,即主关键字.在上面(de)实体以及实体之间关系(de)基础上,形成数据库中(de)表格以及各个表格之间(de)关系.工资信息管理系统数据库中各个表格(de)设计结果如下面(de)几个表格所示.每个表格表示在数据库中(de)一个表.表一:员工信息表:表二:基本工资表:表四:津贴信息表各模块功能职工信息管理系统功能为:财务部门相关人员录入、修改、删除、查询员工个人信息职工工资管理系统功能为:根据工资生成公式,按照员工(de)考勤情况及各种表现按月生成相应(de)工资;财务部门相关人员能录入、修改、删除、查询每个月每个员工(de)工资信息以及工资汇总;员工本人能查询自己(de)工资信息以及工资汇总;职工登陆查询系统功能为:员工本人能通过用户名和密码查询自己(de)信息以及修改自己(de)密码;4.系统实现界面截图主界面登录界面管理员管理工资界面信息录入,修改,删除,查询界面职工信息查询界面职工密码修改界面设计代码package wage_management;import .;import .;class DB extends JFrame implements ActionListener { JFrame frame = new JFrame("欢迎进入企业工资管理系统");JLabel label = new JLabel("", ;JButton button1 = new JButton("进入系统"); JButton button2 = new JButton("退出系统"); ImageIcon im = new ImageIcon("");JLabel a1 = new JLabel(im);void Create() {JPanel pcontentPane = (JPanel) ();(a1);(label);(new FlowLayout());(button1);(button2);(true);(this);(this);;();(200, 100, 550, 180);(true);}public static void main(String[] args) {DB dome = new DB();();}public void actionPerformed(ActionEvent e) { if ())) {DL dl = new DL();();();}if ())) {quals("admin") == true&& ().equals("admin") == true)) {(this, "登录成功");GZGLZJM gz = new GZGLZJM();();();}else {(null, "输入用户名或密码错误");}}if ()==logonButton2){try {Connection con;Statement ps;ResultSet rs;String sql = null;("");("").newInstance();con = ("jdbc: management","root","jxb");sql="select from workerinfo where name='"+t1+"' and mi='"+t2+"'";ps = (PreparedStatement) (sql);rs = (sql);if()){if("name").equals(t1) && ("mi").equals(t2)){YGDLJM yg = new YGDLJM();();();(this, "登录成功");();}}else {(this, "输入用户名或密码错误");}}catch (Exception e1) {// TODO Auto-generated catch block();}}if ())) // 退出{(0);}}}package wage_management;import GZGLZJM extends JFrame implements ActionListener {JFrame f = new JFrame("工资管理系统");JButton b1 = new JButton("工资管理");JButton b2 = new JButton("员工信息管理");JButton b3 = new JButton("返回");ImageIcon im = new ImageIcon("");JLabel a1 = new JLabel(im);void create() {JPanel p = (JPanel) ();(new FlowLayout());(a1);(b1);(b2);(b3);;(true);(this);(this);(this);(200, 100, 500, 200);(true);}public void actionPerformed(ActionEvent e) { if ())) {// 返回DL d = new DL();();();}if ())) {// 员工信息管理YGGL yg = new YGGL();();();}if ())) {// 工资管理GZGL gz = new GZGL();();();}}}package wage_management;import 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(4);JTextField tf2 = new JTextField(4);JTextField tf3 = new JTextField(4);JTextField tf4 = new JTextField(4);JTextField tf5 = new JTextField(6);JTextField tf6 = new JTextField(7);String[] cloum = { "职工号", "姓名", "津贴", "月基本工资","月薪"};Object[][] row = new Object[50][5];JTable table = new JTable(row, cloum);JScrollPane scrollpane = new JScrollPane(table); JSplitPane splitpane = new JSplitPane;void create() {JPanel p = (JPanel) ();(new FlowLayout());(scrollpane);(splitpane);JPanel p1 = new JPanel();(b1);(b2);(b3);(b4);(b5);JPanel p2 = new JPanel();;(scrollpane);JPanel p3 = new JPanel();(new FlowLayout());(new JLabel(""));(new JLabel("职工号"));(tf1);(new JLabel("姓名"));(tf2);(new JLabel("津贴"));(tf3);(new JLabel("月基本工资"));(tf4);(new JLabel("月薪"));(tf5);(new JLabel(" 在此处输入职工号点击查询删除"));(tf6);(p1, ;(p2, ;(50);;(this);(this);(this);(this);(this);(200, 100, 500, 600);(true);// 可以调整界面大小(true);}public void actionPerformed(ActionEvent e) {if ())) { // 录入Connection con;Statement sql;try {("");} catch (ClassNotFoundException e1) {"" + e1);}try {con = ("jdbc: management","root","jxb");sql = ();String insertStr = "INSERT INTO welfare (no,name,jt)VALUES('"+()+"','"+()+"','"+()+"');";(insertStr);String insertStr1 = "INSERT INTO wageinfo (no,name,jb)VALUES('"+()+"','"+()+"','"+()+"');";(insertStr1);();(this, "入录成功");} catch (SQLException e1) {(this, "入录失败");}}if ())) {// 修改Connection con;Statement sql;try {("");} catch (ClassNotFoundException e1) {"" + e1);}try {con = ("jdbc: management","root","jxb");sql = ();String updateStr = "UPDATE welfare SET jt='"+()+"',name='"+()+"'where no='"+()+"';";(updateStr);String updateStr1 = "UPDATE wageinfo SET jb='"+()+"',name='"+()+"'where no='"+()+"';";(updateStr1);(this, "修改成功");();} catch (SQLException e1) {(this, "信息不存在");}}if ())) {// 删除Connection con;Statement sql;ResultSet rs;try {("");} catch (ClassNotFoundException e1) {"" + e1);}try {con = ("jdbc: management","root","jxb");sql = ,;("DELETE FROM wageinfo where no='"+()+"';");("DELETE FROM welfare where no='"+()+"';");(this, "删除成功");();} catch (SQLException e1) {(this, "删除失败");}}if ())) {// 查询全部Connection con;Statement sql;ResultSet rs;//Vector vector = new Vector();try {("");} catch (ClassNotFoundException e1) { (this, "连接数据库失败");}try {con = ("jdbc: management","root","jxb");sql = ,;if ())) {for (int i = 0; i < 50; i++)for (int j = 0; j < 4; j++)("", i, j);rs = ("select distinct from wageinfo ,welfare where =");int k = -1;while ()) {++k;String no = (1);String name = (2);String jb = (3);String jt = (6);int sum= (3)+(6);(no, k, 0);(name, k, 1);(jb, k, 3);(jt, k, 2);(sum,k,4);}}} catch (SQLException e1) {(this, "查询失败");}}if ())) {// 返回GZGLZJM gl=new GZGLZJM();();();}}}package wage_management;import class YGDLJM 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][5];JTable table = new JTable(row, cloum);JScrollPane scrollpane = new JScrollPane(table);JSplitPane splitpane = new JSplitPane;void create() {JPanel p = (JPanel) ();(new FlowLayout());(scrollpane);(splitpane);JPanel p1 = new JPanel();(b1);(b2);(b3);JPanel p2 = new JPanel();;(scrollpane);JPanel p3 = new JPanel();(new FlowLayout());(p1, ;(p2, ;(50);;(this);(this);(this);(200, 100, 500, 550);(true);// 可以调整界面大小(true);}public void actionPerformed(ActionEvent e) { if ())) {// 查询个人工资Connection con;Statement sql;ResultSet rs;try {("");} catch (ClassNotFoundException e1) {"" + e1);}try {con = ("jdbc: management","root","jxb");sql = ,;if ())) {for (int i = 0; i < 50; i++)for (int j = 0; j < 4; j++)("", i, j);// rs = ("select distinct from wageinfo ,welfare,workerinfo where = and = and ='"+t1+"' and ='"+t2+"'");int k = -1;while ()) {++k;String no = (1);String name = (2);String jb = (3);String jt = (6);int sum= (3)+(6);(no, k, 0);(name, k, 1);(jb, k, 3);(jt, k, 2);(sum,k,4);}}} catch (SQLException e1) {(this, "查询失败");}}if ())){// 修改密码XGMM xgmm=new XGMM();();}if ())) {// 返回DL dl=new DL();();();}}}package wage_management;import class YGGL 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(4);JTextField tf2 = new JTextField(4);JTextField tf3 = new JTextField(4);JTextField tf4 = new JTextField(4);JTextField tf5 = new JTextField(6);JTextField tf6 = new JTextField(7);String[] cloum = { "职工号", "姓名", "津贴", "月基本工资","月薪","登陆密码"};Object[][] row = new Object[50][6];JTable table = new JTable(row, cloum);JScrollPane scrollpane = new JScrollPane(table);JSplitPane splitpane = new JSplitPane; void create() {JPanel p = (JPanel) ();(new FlowLayout());(scrollpane);(splitpane);JPanel p1 = new JPanel();(b1);(b2);(b3);(b4);(b5);JPanel p2 = new JPanel();;(scrollpane);(new FlowLayout());(new JLabel(""));(new JLabel("职工号"));(tf1);(new JLabel("姓名"));(tf2);(new JLabel("津贴"));(tf3);(new JLabel("月基本工资"));(tf4);(new JLabel("登陆密码"));(tf5);(new JLabel(" 在此处输入职工号点击查询删除"));(tf6);(p1, ;(p2, ;(50);;(this);(this);(this);(this);(this);(200, 100, 600, 600);(true);// 可以调整界面大小(true);}public void actionPerformed(ActionEvent e) {if ())) { // 添加新员工信息Connection con;Statement sql;try {("");} catch (ClassNotFoundException e1) {(this, "连接数据库失败");}try {con = ("jdbc: management","root","jxb");sql = ();String insertStr = "INSERT INTO welfare (no,name,jt)VALUES('"+()+"','"+()+"','"+()+"');";(insertStr);String insertStr1 = "INSERT INTO wageinfo (no,name,jb)VALUES('"+()+"','"+()+"','"+()+"');";(insertStr1);String insertStr2 = "INSERT INTO workerinfo (no,name,mi)VALUES('"+()+"','"+()+"','"+()+"');";(insertStr2);(this, "添加成功");();} catch (SQLException e1) {(this, "添加失败");}}if ())) {// 修改员工信息Connection con;Statement sql;try {("");} catch (ClassNotFoundException e1) {(this, "连接数据库失败");}try {con = ("jdbc: management","root","jxb");sql = ();con = ("jdbc: management","root","jxb");sql = ();String updateStr = "UPDATE welfare SET jt='"+()+"',name='"+()+"'where no='"+()+"';";(updateStr);String updateStr1 = "UPDATE wageinfo SET jb='"+()+"',name='"+()+"'where no='"+()+"';";(updateStr1);(updateStr1);String updateStr2 = "UPDATE workerinfo SET name='"+()+"',mi='"+()+"'where no='"+()+"';";(updateStr2);(this, "修改成功");();} catch (SQLException e1) {(this, "修改失败");}}if ())) {// 删除员工信息Connection con;Statement sql;try {("");} catch (ClassNotFoundException e1) {(this, "连接数据库失败");}try {con = ("jdbc: management","root","jxb");sql = ,;("DELETE FROM wageinfo where no='"+()+"';");("DELETE FROM welfare where no='"+()+"';");("DELETE FROM workerinfo where no='"+()+"';");(this, "删除成功");();} catch (SQLException e1) {(this, "删除失败");}}if ())) {// 查询全部员工信息Connection con;Statement sql;ResultSet rs;try {("");} catch (ClassNotFoundException e1) {(this, "连接数据库失败");}try {con = ("jdbc: management","root","jxb");sql = ,;if ())) {for (int i = 0; i < 50; i++)for (int j = 0; j < 4; j++)("", i, j);rs = ("select distinct from wageinfo ,welfare,workerinfo where = and = ;");int k = -1;while ()) {++k;String no = (1);String name = (2);String jb = (3);String jt = (6);int sum= (3)+(6);String mi = (9);(no, k, 0);(name, k, 1);(jb, k, 3);(jt, k, 2);(sum,k,4);(mi,k,5);}}} catch (SQLException e1) {(this, "查询失败");}}if ())) {// 返回GZGLZJM gl=new GZGLZJM();();();}}}package wage_management;import 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) ();(new FlowLayout());(label1);(5, 5);(4, 8);(password);(100, 200);(600, 600);(label2);(50, 20);(newpassword);(100, 20);(80, 120);(Button1);(cancelButton);;(true);(this);(this);;();(200, 100, 500, 220);(true);}public void actionPerformed(ActionEvent e) {if ()==Button1){Connection con;Statement sql;try {} catch (ClassNotFoundException e1) {(this, "连接数据库失败");}try {con = ("jdbc: management","root","jxb");sql = ();String updateStr = "UPDATE workerinfo SET mi='"+()+"'where name='"+t1+"';";(updateStr);(this, "修改成功");();} catch (SQLException e1) {(this, "请输入原密码和新密码");// }}if ()==cancelButton) // 返回{YGDLJM dl=new YGDLJM();();();}}}5.课设总结此次课设难度有点大,通过几天(de)努力终于完成了,开始对如何连接数据库不太了解,通过小组合作,和网上查阅资料,最终解决了问题,在写员工登陆界面时,要从数据库读取和验证密码,开始遇到了些问题,后来慢慢都完成了,总(de)来说收获很大,了解了如何将所学数据库运用到编程里,对数据库数据(de)查询,更改,添加都有了更一步(de)了解.。
员工薪资管理系统
员工薪资管理课题选取背景及意义背景:随着经济的发展,各个公司的规模也越来越大,为了更好的、更方便地管理企业中各个成员的工资发放情况,我们必须要有一个完善的、合理的、便捷的员工薪资管理系统来管理公司员工工资的发放情况。
该员工薪资管理系统主要用于员工的工资发放管理,管理员可以通过此员工薪资管理系统保证职员薪资信息的准确性。
此系统的建立和使用有利于管理者和职员更好的了解自己的薪资信息,提高公司员工薪资发放工作的效率。
意义:本系统提供了基本的人员信息管理,同时对员工的基本工资、浮动工资和工资发放进行系统管理,同时配以查询功能,以便能真正适用于各类中小企业及失业单位。
一、员工薪资管理系统概述1、现状分析随着企业人员数量增加,企业的工资管理工作也变得越来越复杂。
早期的工资统计和发放都是使用人工方式处理纸质材料,不仅花费财务人员大量的时间且不易保存,往往由于个人的因素抄写不慎或计算疏忽,出现工资发放错误的现象。
早期工资管理多采取纸质材料和具有较强的时间限制。
随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给企业提出越来越严峻的挑战,对企业体系无论是在行政职能、企业管理水平以及优质服务上都提出更高的要求。
建设一个科学高效的信息管理系统是解决这一问题的必由之路。
企业内部财务管理是该企业运用现代化技术创造更多更高的经济效益的主要因素之一。
工资管理作为企业内部的一种财务管理也是如此,由于企业职工人数较多,每一位职工的具体实际情况也不尽相同,各项工资条款的发放,如果没有一个完整的管理系统对企业和员工的工作都带来许多的不便。
基于以上原因,企业工资管理系统使用电脑安全保存、快速计算、全面统计,实现工资管理的系统化、规范化、自动化。
2、系统目标员工薪资管理系统的主要目的是利用计算机对员工的各种工资信息进行日常的管理,如查询、修改、添加、删除以及存储等,迅速准确地完成各种工资信息的统计计算和汇总工作,针对系统服务对象的具体要求,设计了企业工资管理系统。
数据库原理与应用》VFP课程设计---职工信息管理系统
《数据库原理与应用》课程设计报告职工信息管理系统一.系统介绍1.1.功能简介职工信息管理系统的功能是管理职工的个人信息,包括对其进行查询、修改、打印等,职工信息管理系统的主要功能有:(1)对新聘任的职工注册;(2)对职工信息维护;(3)可以方便的查询职工信息;(4)可以进行教师信息报表的查看与打印;(5)对登录口令的添加、修改、删除。
1.2.功能模块图图1-1二.需求分析2.1.功能需求通过调查,要求功能需要有以下功能:(1)由于需要方便的系统操作,要求有良好人机界面;(2)由于该系统的使用对象多,要求有较好的权限管理;(3)方便的数据查询;(4)信息需要全面系统,报表也应全面。
2 .2.数据需求(1)原始数据修改简单方便;(2)数据的添加简单方便;(3)满足第三范式要求不存在部分函授依赖关系和传递依赖关系;(4)删除数据方便简单,数据稳定性好。
三.建库结果3.1.数据关系E-R图3-13.2.数据表结构1.建表本系统数据库包括职工信息表、部门表、工资费用表、调资表表1职工信息表字段名类型宽度小数位编号字符 6姓名字符8性别字符 2出身年月日期8职称字符 6部门号字符 2是否党员逻辑 2表3工资费用表表4调资表2.创建表间永久关系对表结构进行修改,设置职工信息表中的编号为主索引;职工信息表中的部门号为候选索引;部门表中的部门号字段为主索引;工资费用表中的编号字段为主普通索引;调资表中的编号为普通索引;再依次建立下述关系:以职工信息表为主表,工资费用表为从表,以编号字段作为关键字建立主从关系。
以职工信息表为主表,调资用表为从表,以编号字段作为关键字建立主从关系。
以部门表为主表,职工信息表为从表,以部门编号字段为关键字建立主从关系。
四.系统开发设计4.1.开发流程模块框图图4-14.2开发流程与功能介绍1.登录在设计登录菜单是先健一个口令表,里面有操作员和口令两个字段,输入几组数据,然后新建一个登录界面如图所示图4-2-12.主表单:功能选择登录系统后,进入功能选择界面如图所示,图4-2-23.设计职工信息表单职工信息子系统表单包括查询、维护、退出图4-2-34.“查询”表单点击“查询”按钮进入查询表单。
工资管理系统课程设计
软件工程课程设计报告题目:工资管理系统设计与实现班级:教师:学号:姓名:大学计算机科学与技术学院年月课程设计任务书姓名学号班级课程名称软件工程导论课程性质专业基础课设计时间2009 年9月20 日——2009年11 月12 日设计名称工资管理系统设计与实现项目组成员姓名学号在本项目中的分工代码实现文档编写设计要求使用传统软件工程方法对工资管理系统进行分析和设计,本程序是建立在Windows操作系统上,以VB为开发软件的应用程序,主要功能包括:人事信息的录入,修改,删除和查询操作:工资的核算查询;用户信息的管理等。
计划与进度9日20日至9月30日——学习项目开发的背景目标10日1日至10月7日——可行性研究10日8日至10月13日——系统分析(包括需求分析,数据流图,数据字典等)10日14日至10月24日——系统设计(包括功能设计,数据库设计及数据库的实现)10月25日至11月2日——系统实现11月3日至11月12日——软件测试及资料整理指导教师意见目录内容概要第一章引言1.1项目开发背景1.2项目开发的目标及意义1.3系统的开发方法第二章可行性研究2.1 系统流程图2.2 完成新系统的可行性第三章系统分析3.1 系统的设计思想3.2 需求分析3.3 系统的运行环境和开发平台3.4 数据流图3.5 数据字典第四章系统设计4.1 功能模块设计4.2 系统总体功能模块4.3 数据库设计4.4 数据库结构的实现第五章工资管理系统功能实现5.1 开发环境简介5.2 系统界面的设计5.3 员工基本信息管理功能设计5.4 工资管理功能设计第六章软件测试第七章用户操作手册第八章总结8.1 参考文献8.2 设计体会与建议内容摘要工资管理系统是使用Visual Basic 6.0开发的一个数据库管理系统。
在此主要讲述了使用SQL Server 2000和Visual Basic 6.0完成工资管理系统基本功能的过程。
工资管理系统课程设计报告
工资管理系统课程设计报告Last updated on the afternoon of January 3, 2021课程设计报告题目:工资管理系统专业:网络工程班级:姓名:指导教师:成绩:计算机学院2017年12月8日目录823一、工资管理系统数据库设计1、项目介绍工资管理系统的功能是收集员工的个人信息,以便实现按照科室录入个人的基本资料,向各科室发放个人工资和计算个人的实际发放工资,可以让相关财务部门及领导查看各科室人数情况和工资金额,还可以让员工用自己的员工号去查看自己的工资和扣除金额的情况。
工资管理系统的主要功能有:(1)、按照科室录入个人的基本资料,工资和扣除金额的数据;(2)、计算个人的实际发放工资;(3)、按科室、职业分类统计人数和工资金额;(4)、实现员工个人信息和工资的分类查询;(5)、能够删除辞职人员的数据;工资管理:包括与工资发放相关的各种数据处理,以及对这些处理的有机组织规划;人事管理:主要指对各种员工人事信息的管理,包括员工的基本情况和升迁离职情况;工资项目:影响工资计算的各种因素,如:基本工资,福利补贴和奖励工资,扣除的事业保险和住房公积金等等。
用户登录管理:2种权限,一种是管理员权限,可以做任何操作;一种是普通用户权限只可以查看自己的工资及基本信息,不能编辑,也不能查看其他用户信息。
1.1数据需求分析及数据字典1.需求分析工资管理系统就是对员工工资的管理,所以首先我们需要知道的是员工有哪些信息,并且是怎样进行分类的。
工资信息包含1:员工基本信息(姓名,年龄,所在部门和职务:如经理、工程师、销售员等);2:部门信息;3工资表。
部门表应包括部门号及其名称,工资应该包含对应部门对应员工的工资。
员工唯一对应的是员工编号,所以员工编号是主键,其他的都不能是,根据员工编号我们可以查找员工的基本信息,还有员工的工资信息等。
综合分析对工资管理系统分四个表:1)员工基本信息表(员工编号,姓名 ,性别, 年龄,出生年月, 籍贯,职务,电话号码,部门编号);2)部门表(部门编号,部门名称,部门负责人,联系电话);3)工资清单表(工资编号,员工编号,基本工资,福利补贴,奖励工资,事业保险金,住房公积金);4)实发工资表(工资编号,员工编号,所得工资);概念结构设计实体间的联系:1:员工基本信息表 workers:(员工编号w_number、姓名w_name、性别sex、年龄age、出生日期birthday、籍贯native、电话号码w_tel、所在部门编号dep_number)。
UML课程设计--工资管理系统
统一建模语言UML课程设计报告工资管理系统分析与设计姓名:学号:班级:指导教师:《UML(Unified Modeling Language统建模语言)》课程设计任务书指导教师(签字):教研室主任(签字):一、工资管理系统的需求分析1。
系统功能需求(1)员工可以进入此系统查询工资和查看基本的信息。
(2)管理员可以对员工的信息进行添加,删除,修改。
并对数据库中的数据维护,包括数据备份,导入数据,导出数据.满足上述需求的系统主要包括下面几个模块(1)数据库维护模块:管理员要对数据库内所有的数据进行备份和恢复,并可实现数据导入导出功能.(2)基本信息管理模块:实现对员工基本信息的管理操作,包括员工基本数据信息的添加、修改、删除和查询等功能。
(3)信息浏览查询模块:用户对系统中的信息进行查询。
可根据条件查询员工历史工资数据(如按月份查询、按姓名查询、按部门查询等)。
图1.1系统功能需求2图1。
2数据库维护模块数据备份:将一个月的数据进行复制. 数据导入:每天将数据导入到数据库中。
数据导出:每天下班将数据导出数据库。
3基本信息管理模块图1.3基本信息管理模块删除员工信息:如果有员工辞职则删除该员工的信息。
添加员工信息:如果聘用了新员工则添加员工信息.修改员工信息:如果有员工的信息有所变动则修改。
4信息浏览查询模块查询员工信息:员工查询自己的信息.查询工资:员工查询自己的工资情况。
二、系统的UML建模1、系统的用例图创建用例图之前首先需要确定参与者.①在工资管理系统中,需要员工的参与,员工可以查询工资的历史数据并领取工资,还可以通过员工编号查看员工的基本信息.②管理员是此系统的核心,管理着整个系统.他要对所有的员工的信息的管理,对数据进行添加,删除,修改。
管理员还要对系统进行相关维护操作,数据备份,数据恢复,数据导入等以及更新数据库。
(1)系统用户参与的总的用例图管理员和员工都可发从用户这个参与者中泛化而来,用户是指此系统的所有使用者,以登录系统完成相应的操作。
《数据库应用》课程设计——人事管理系统(java源代码)
《数据库应用》课程设计——人事管理系统(java源代码)//用户登陆类package classsource;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;public class Land extends JFrame{JFrame jf ;JTextField textName=new JTextField(); JPasswordField textage=new JPasswordField(); JLabel label = new JLabel("员工管理系统");JLabel labelName=new JLabel("用户名:");JLabel labelage=new JLabel("密码:");JButton buttonEnter=new JButton("登录");JButton buttoncancel=new JButton("清空");public Land(){jf=this;setTitle("登录");Font f = new Font("新宋体",Font.PLAIN,12); Container con = getContentPane();con.setLayout(null);label.setBounds(95,10,110,20);label.setFont(new Font("新宋体",Font.PLAIN,14));con.add(label);labelName.setBounds(45,40,55,20);labelName.setFont(f);con.add(labelName);textName.setBounds(95,40,120,20);con.add(textName);labelage.setBounds(45,70,45,20);con.add(labelage);labelage.setFont(f);textage.setBounds(95,70,120,20);con.add(textage);buttonEnter.setBounds(90,110,60,20);buttonEnter.setFont(f);con.add(buttonEnter);//登陆的鼠标监听buttonEnter.addMouseListener(new MouseAdapter(){public void mouseClicked(MouseEvent me){if(textName.getText().equals("")){new JOptionPane().showMessageDialog(null,"用户名不能为空!"); }else if(textage.getText().equals("")){new JOptionPane().showMessageDialog(null,"密码不能为空!"); }else{String sql="select * from UserInformation where User_Name = '" + textName.getText() + "' and Password = '" + textage.getText()+ "'";System.out.println(sql);Judge(sql);}}});buttoncancel.setBounds(155,110,60,20);buttoncancel.setFont(f);con.add(buttoncancel);//清空按钮的鼠标监听方法buttoncancel.addMouseListener(new MouseAdapter(){public void mouseClicked(MouseEvent me){textName.setText("");textage.setText("");}});setResizable(false);Image img=Toolkit.getDefaultToolkit().getImage("image\\main.gif");setIconImage(img);Toolkit t = Toolkit.getDefaultToolkit();int w = t.getScreenSize().width;int h = t.getScreenSize().height;setBounds(w/2-150,h/2-90,300,180);setVisible(true);}private void Judge(String sqlString) {if (Database.joinDB()) {if (Database.query(sqlString))try{if(Database.rs.isBeforeFirst()) {System.out.println("密码正确");jf.setVisible(false);.close();new Main();}else {System.out.println("错误");new JOptionPane().showMessageDialog(null,"用户名或密码错误!","",JOptionPane.ERROR_MESSAGE);}}catch(Exception ex) {System.out.println(ex.getMessage());}}else{System.out.println("连接数据库不成功");}}public static void main(String args[]){new Land();}}//主函数类,可以独立运行package classsource;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;public class Main extends JFrame implements Runnable{ Thread t=new Thread(this);JDesktopPane deskpane = new JDesktopPane();JPanel p = new JPanel();Label lp1=new Label("欢迎使用员工管理系统 !"); ImageIcon icon1=new ImageIcon("imagetjsc.gif"); ImageIcon icon2=new ImageIcon("imagecxdl.gif"); ImageIcon icon3=new ImageIcon("imagexgmm.gif"); ImageIcon icon4=new ImageIcon("imagetcxt.gif"); ImageIcon icon5=new ImageIcon("imagejj.gif"); ImageIcon icon6=new ImageIcon("imagehelp.gif"); ImageIcon icon7=new ImageIcon("imagecx.gif"); ImageIcon icon8=new ImageIcon("imagegl.gif");ImageIcon icon9=new ImageIcon("imagext.gif");ImageIcon icon10=new ImageIcon("imagexxgl.gif");ImageIcon icon11=new ImageIcon("imagexxcx.gif");ImageIcon icon12=new ImageIcon("imagebz.gif");ImageIcon icon13=new ImageIcon("imagegy.gif");ImageIcon icon14=new ImageIcon("imageglxx.gif");ImageIcon icon15=new ImageIcon("imagecxxx.gif");//完--------------------------------------------------------------------------------public Main(){setTitle("员工管理系统");Container con = getContentPane();con.setLayout(new BorderLayout());con.add(deskpane,BorderLayout.CENTER);Font f =new Font("新宋体",Font.PLAIN,12);JMenuBar mb = new JMenuBar();JMenu systemM = new JMenu("系统管理");systemM.setFont(f);JMenu manageM = new JMenu("信息管理");manageM.setFont(f);JMenu employeeMM = new JMenu("员工信息管理");employeeMM.setFont(f);JMenu selectM = new JMenu("信息查询");selectM.setFont(f);JMenu employeeSM =new JMenu("员工信息查询"); employeeSM.setFont(f);JMenu helpM = new JMenu("帮助");helpM.setFont(f);JMenu aboutM=new JMenu("关于");aboutM.setFont(f);JMenuItem password = new JMenuItem("密码修改"); password.setFont(f);JMenuItem land = new JMenuItem("重新登陆");land.setFont(f);JMenuItem addDelete = new JMenuItem("添加/删除用户"); addDelete.setFont(f);JMenuItem exit = new JMenuItem("退出系统");exit.setFont(f);systemM.add(password);systemM.add(land);systemM.add(addDelete);systemM.add(exit);//为系统管理菜单加事件password.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){System.out.println("AmendPassword");deskpane.add(new AmendPassword());}});land.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.out.println("Land");setVisible(false);new Land();}});addDelete.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ deskpane.add(new AddDeleteUser());}});exit.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){//new JOptionPane().showMessageDialog(setVisible(false);}});JMenuItem departmentM = new JMenuItem("部门信息管理"); departmentM.setFont(f);JMenuItem employeeM = new JMenuItem("基本信息管理"); employeeM.setFont(f);JMenuItem trainM = new JMenuItem("培训信息管理");trainM.setFont(f);JMenuItem encouragementPunishM = new JMenuItem("奖罚信息管理"); encouragementPunishM.setFont(f);JMenuItem wageM =new JMenuItem("薪资信息管理");wageM.setFont(f);employeeMM.add(trainM);employeeMM.add(employeeM);employeeMM.add(encouragementPunishM);employeeMM.add(wageM);manageM.add(employeeMM);manageM.add(departmentM);//为管理菜单加事件departmentM.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.out.println("Departmentmanage");deskpane.add(new Departmentmanage());}});employeeM.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.out.println("Employeemanage");deskpane.add(new Employeemanage());}});trainM.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.out.println("Trainmanage");deskpane.add(new Trainmanage());}});encouragementPunishM.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){System.out.println("EncouragementPunish");deskpane.add(new EncouragementPunish());}});wageM.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.out.println("WageManage");deskpane.add(new WageManage());}});JMenuItem departmentS = new JMenuItem("部门信息查询"); departmentS.setFont(f);JMenuItem employeeS = new JMenuItem("基本信息查询"); employeeS.setFont(f);JMenuItem trainS = new JMenuItem("培训信息查询");trainS.setFont(f);JMenuItem encouragementPunishS = new JMenuItem("奖罚信息查询"); encouragementPunishS.setFont(f);JMenuItem wageS =new JMenuItem("薪资信息查询");wageS.setFont(f);employeeSM.add(trainS);employeeSM.add(employeeS);employeeSM.add(encouragementPunishS);employeeSM.add(wageS);selectM.add(employeeSM);selectM.add(departmentS);//为查询菜单加事件departmentS.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.out.println("DIQ");deskpane.add(new DIQ());}});employeeS.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.out.println("BIQ");deskpane.add(new BIQ());}});trainS.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.out.println("TIQ");deskpane.add(new TIQ());}});encouragementPunishS.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){System.out.println("EPIQ");deskpane.add(new EPIQ());}});wageS.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.out.println("SIQ");deskpane.add(new SIQ());}});JMenuItem help = new JMenuItem("帮助");help.setFont(f);JMenuItem about =new JMenuItem("关于");about.setFont(f);helpM.add(help);aboutM.add(about);//为帮助菜单加事件about.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){deskpane.add(new About());}});mb.add(systemM);mb.add(manageM);mb.add(selectM);mb.add(helpM);mb.add(aboutM);setJMenuBar(mb);Image img=Toolkit.getDefaultToolkit().getImage("imagemain.gif"); setIconImage(img);systemM.setIcon(icon9);manageM.setIcon(icon8);selectM.setIcon(icon7);helpM.setIcon(icon6);addDelete.setIcon(icon1);land.setIcon(icon2);password.setIcon(icon3);exit.setIcon(icon4);employeeMM.setIcon(icon5);employeeSM.setIcon(icon5);departmentM.setIcon(icon10);departmentS.setIcon(icon11);help.setIcon(icon6);aboutM.setIcon(icon13);about.setIcon(icon13);employeeM.setIcon(icon14);trainM.setIcon(icon14); encouragementPunishM.setIcon(icon14); wageM.setIcon(icon14);employeeS.setIcon(icon15);trainS.setIcon(icon15); encouragementPunishS.setIcon(icon15); wageS.setIcon(icon15);JToolBar jToolBar1 = new JToolBar(); jToolBar1.setLayout(new GridLayout(9,1)); JButton jButton1 = new JButton();jButton1.setToolTipText("员工基本信息管理"); JButton jButton2 = new JButton();jButton2.setToolTipText("员工基本信息查询"); JButton jButton3 = new JButton();jButton3.setToolTipText("修改密码");JButton jButton5 = new JButton();jButton5.setToolTipText("计算器");JButton jButton6 = new JButton();jButton6.setToolTipText("退出系统");jToolBar1.setMaximumSize(new java.awt.Dimension(600, 50)); jToolBar1.setMinimumSize(new java.awt.Dimension(600, 50)); //添加工具栏中按钮的方法jButton1.setIcon(new ImageIcon("image1.png"));jButton1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.out.println("Employeemanage");deskpane.add(new Employeemanage());}});jToolBar1.add(jButton1);jButton2.setIcon(new ImageIcon("image2.png"));jButton2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){deskpane.add(new BIQ());}});jToolBar1.add(jButton2);jButton3.setIcon(new ImageIcon("image3.png"));jButton3.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){deskpane.add(new AmendPassword());}});jToolBar1.add(jButton3);jButton5.setIcon(new ImageIcon("image5.png"));jButton5.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.out.println("Calculator");deskpane.add(new Calculator());}});jToolBar1.add(jButton5);jButton6.setIcon(new javax.swing.ImageIcon("image6.png")); jButton6.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.exit(0);}});jToolBar1.add(jButton6);jToolBar1.setBounds(0, 0, 30, 600);jToolBar1.setEnabled(false);con.add(jToolBar1,BorderLayout.WEST);p.setLayout(new BorderLayout());p.add(lp1,BorderLayout.EAST);t.start();con.add(p,BorderLayout.SOUTH);Toolkit t = Toolkit.getDefaultToolkit();int width = t.getScreenSize().width - 200; int height = t.getScreenSize().height - 100; setSize(width,height);setLocation(150,100);setVisible(true);setResizable(false);}//线程的方法public void run(){System.out.println("线程启动了!");Toolkit t = Toolkit.getDefaultToolkit();int x=t.getScreenSize().width;System.out.println("x=" + x);lp1.setForeground(Color.red);while(true){if(x<-600){x=t.getScreenSize().width;}lp1.setBounds(x,0,700,20);x-=10;try{Thread.sleep(100);}catch(Exception e){} }}public static void main(String[] args){new Main();}}//数据库联接类package classsource;import java.sql.*;public class Database {public static Connection cn;public static Statement st;public static ResultSet rs;public static boolean joinDB() {boolean joinFlag;try {joinFlag = true;Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");cn =DriverManager.getConnection("jdbc:odbc:EmployeeInformationMS","sa"," ");cn.setCatalog("EmployeeInformationMS");System.out.println("数据库连接成功");st = cn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);return joinFlag;} catch (SQLException sqlEx) {System.out.println(sqlEx.getMessage());joinFlag = false;return joinFlag;} catch (ClassNotFoundException notfoundEX) { System.out.println(notfoundEX.getMessage());joinFlag = false;return joinFlag;}}public static boolean executeSQL(String sqlString) { boolean executeFlag;try {st.execute(sqlString);executeFlag = true;} catch (Exception e) {executeFlag = false;System.out.println("sql exception:" + e.getMessage()); }return executeFlag;}public static boolean query(String sqlString) {try {rs = null;//System.out.println(sqlString);rs = st.executeQuery(sqlString);} catch (Exception Ex) {System.out.println("sql exception:" + Ex);return false;}return true;}}//添加删除用户类package classsource;import java.awt.event.*;import java.awt.*;import javax.swing.*;import java.sql.*;public class AddDeleteUser extends javax.swing.JInternalFrame { private JButton butACancel,butDCancel,butDelete,butOk;private JComboBox cbUserName;private JLabel jLabel1,jLabel2,jLabel3,jLabel4,jLabel5;private JPasswordField pas1,pas2,pas3;private JTextField txtname;public AddDeleteUser() {initComponents();this.setVisible(true);this.setClosable(true);this.setSize(268,350);}private void initComponents() { jLabel1 = new JLabel();jLabel2 = new JLabel();jLabel3 = new JLabel();txtname = new JTextField();pas1 = new JPasswordField();pas2 = new JPasswordField(); butOk = new JButton();butACancel = new JButton();jLabel4 = new JLabel(); cbUserName = new JComboBox(); jLabel5 = new JLabel();pas3 = new JPasswordField(); butDelete = new JButton(); butDCancel = new JButton(); getContentPane().setLayout(null); jLabel1.setText("新用户名:"); getContentPane().add(jLabel1); jLabel1.setBounds(30, 30, 70, 20); jLabel2.setText("输入密码:");getContentPane().add(jLabel2);jLabel2.setBounds(30, 60, 70, 18); jLabel3.setText("确认密码:"); getContentPane().add(jLabel3);jLabel3.setBounds(30, 90, 60, 18); getContentPane().add(txtname); txtname.setBounds(100, 30, 130, 24); getContentPane().add(pas1);pas1.setBounds(100, 60, 130, 24); getContentPane().add(pas2);pas2.setBounds(100, 90, 130, 24); butOk.setText("添加");getContentPane().add(butOk);butOk.setBounds(80, 130, 70, 27); butACancel.setText("清空"); getContentPane().add(butACancel); butACancel.setBounds(160, 130, 70, 27); jLabel4.setText("已有用户名:"); getContentPane().add(jLabel4);jLabel4.setBounds(30, 180, 80, 18); getContentPane().add(cbUserName); cbUserName.setBounds(100, 180, 130, 24); jLabel5.setText("密码:"); getContentPane().add(jLabel5);jLabel5.setBounds(30, 210, 60, 18);getContentPane().add(pas3);pas3.setBounds(100, 216, 130, 24);butDelete.setText("删除");getContentPane().add(butDelete);butDelete.setBounds(79, 260, 70, 27);butDCancel.setText("清空");getContentPane().add(butDCancel);butDCancel.setBounds(160, 260, 70, 27);//将所有用用户名读出来Database.joinDB();String sql="select * from UserInformation";try{if(Database.query(sql)){while(Database.rs.next()){String name=Database.rs.getString("User_Name");cbUserName.addItem(name);}}}catch(Exception e){}//为添加和取消按钮加事件----------------------------------------- butOk.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){if(txtname.getText().equals("")){new JOptionPane().showMessageDialog(null,"用户名不能为空!");}else if(pas1.getText().equals("")){new JOptionPane().showMessageDialog(null,"密码不能为空!");}else if(pas1.getText().equals(pas2.getText())){String sql="insert UserInformation values('"+ txtname.getText() +"','"+ pas1.getText() +"','B')";try{if(Database.executeSQL(sql)){new JOptionPane().showMessageDialog(null,"添加成功!");cbUserName.addItem(txtname.getText());}}catch(Exception ea){}}}});butACancel.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){txtname.setText("");pas1.setText("");pas2.setText("");}});//为删除和取消按钮加事件--------------------------------------- butDelete.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){String name="" + cbUserName.getSelectedItem();String sql="select * from UserInformation where User_Name='"+ name +"'";try{if(Database.query(sql)){Database.rs.next();String pas=pas3.getText();String password=Database.rs.getString("Password");System.out.println(password);if(pas.equals(password)){String sdelete="delete from UserInformation where User_Name='"+ name +"'";if(Database.executeSQL(sdelete)){new JOptionPane().showMessageDialog(null,"删除成功!");pas3.setText("");cbUserName.removeAllItems();String sql1="select * from UserInformation";if(Database.query(sql1)){while(Database.rs.next()){Stringname1=Database.rs.getString("User_Name"); cbUserName.addItem(name1);}}}}else{new JOptionPane().showMessageDialog(null,"密码不正确!");}}}catch(Exception el){System.out.println(el);}}});butDCancel.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){pas3.setText("");}});}}//修改密码类package classsource;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;public class AmendPassword extends JInternalFrame { JLabel lbe1=new JLabel("修改密码");JPanel p=new JPanel();public AmendPassword(){setTitle("修改密码");p.add(lbe1);AmendPanel panel=new AmendPanel();Container contentPane=getContentPane(); contentPane.add(p,"North");contentPane.add(panel,"Center");setBounds(100, 100, 280, 260);this.setClosable(true);setVisible(true);}}class AmendPanel extends JPanel {JButton b1,b2;JLabel lbe2,lbe3,lbe4,lbe5; JPasswordField pas1,pas2,pas3; JComboBox tf;public AmendPanel(){lbe2=new JLabel("用户名:");lbe3=new JLabel("输入旧密码:"); lbe4=new JLabel("输入新密码:"); lbe5=new JLabel("确定新密码:"); tf=new JComboBox();pas1=new JPasswordField();pas2=new JPasswordField();pas3=new JPasswordField();b1=new JButton("确定");b2=new JButton("清空");add(lbe2);lbe2.setBounds(16,10,90,25); this.add(tf);tf.setBounds(100,10,120,25); add(lbe3);lbe3.setBounds(16,45,90,25);add(pas1);pas1.setBounds(100,45,120,25);add(lbe4);lbe4.setBounds(16,80,80,25);add(pas2);pas2.setBounds(100,80,120,25);add(lbe5);lbe5.setBounds(16,115,80,25);add(pas3);pas3.setBounds(100,115,120,25);add(b1);b1.setBounds(100,160,60,30);add(b2);b2.setBounds(160,160,60,30);setLayout(null);//将所有用用户名读出来Database.joinDB();String sql="select * from UserInformation";try{if(Database.query(sql)){while(Database.rs.next()){String name=Database.rs.getString("User_Name"); tf.addItem(name);}}}catch(Exception e){}//为确定取消按钮加事件b1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){String name="" + tf.getSelectedItem();System.out.println(name);String sql="select * from UserInformation where User_Name='"+ name +"'";System.out.println(sql);try{if(Database.query(sql)){Database.rs.next();String ps1=pas1.getText();String password=Database.rs.getString("Password");if(ps1.equals(password)){if(pas2.getText().equals(pas3.getText())){String supdate="update UserInformation set Password='"+pas3.getText()+"' where User_Name='"+ name +"'";Database.executeSQL(supdate);new JOptionPane().showMessageDialog(null,"密码更改成功!");}else{new JOptionPane().showMessageDialog(null,"两次密码不同!");}}else{new JOptionPane().showMessageDialog(null,"旧密码不正确!");}}}catch(Exception el){System.out.println(el);}}});b2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){pas1.setText("");pas2.setText("");pas3.setText("");}});}}//关于类package classsource;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class About extends JInternalFrame {JLabel label = new JLabel("运行环境:Windows");JLabel labe2 = new JLabel("开发语言:JAVA");JLabel labe3 = new JLabel("数据库类型:SqlServer2000"); public About(){setTitle("关于");Container con=getContentPane();con.setLayout(new GridLayout(4,1));con.add(label);con.add(labe2);con.add(labe3);con.setBackground(Color.white);setResizable(false);setSize(380,220);setVisible(true);setClosable(true);}}//员工信息查询类package classsource;import java.awt.*;import javax.swing.*;import javax.swing.table.*;import java.awt.event.*;import java.util.*;import javax.swing.JScrollPane.*;import java.sql.*;public class BIQ extends JInternalFrame{JLabel lbl1=new JLabel("基本信息查询");JLabel lbl2=new JLabel("员工编号:");JLabel lbl3=new JLabel("员工姓名:");JTextField btxtid=new JTextField(10);JTextField btxtname=new JTextField(10);JButton btn1=new JButton("查询");JTable table;DefaultTableModel dtm;String columns[] = {"员工编号","员工姓名"," 性别 ","出生日期","婚姻状况","政治面貌"," 学历 ","进入公司时间","转正时间"," 部门 "," 职务 ","员工状态"," 备注"};public BIQ(){setTitle("基本信息查询");dtm = new DefaultTableModel();table = new JTable(dtm);JScrollPane sl = new JScrollPane();sl.getViewport().add(table);dtm.setColumnCount(5);dtm.setColumnIdentifiers(columns); getContentPane().setLayout(null);lbl1.setBounds(240,10,300,30);lbl1.setFont(new Font("宋体",Font.BOLD,24)); getContentPane().add(lbl1);Font f=new Font("宋体",Font.PLAIN,12);lbl2.setBounds(10,60,80,25);lbl2.setFont(f);getContentPane().add(lbl2);btxtid.setBounds(80,60,80,23);btxtid.setFont(f);getContentPane().add(btxtid);lbl3.setBounds(10,90,80,25);lbl3.setFont(f);getContentPane().add(lbl3);btxtname.setBounds(80,90,80,23);btxtname.setFont(f);getContentPane().add(btxtname);btn1.setBounds(90,130,60,25);btn1.setFont(f);getContentPane().add(btn1);sl.setBounds(180,60,500,370);getContentPane().add(sl);//设置边框btxtid.setBorder(BorderFactory.createLineBorder(Color.black));btxtname.setBorder(BorderFactory.createLineBorder(Color.black));btn1.setBorder(BorderFactory.createRaisedBevelBorder());sl.setBorder(BorderFactory.createLineBorder(Color.black));//----连接数据库--------------------------------------------------------------------------Database.joinDB();String sql="select * from EmployeeInformation";if(Database.query(sql)){System.out.println(sql);try{while(Database.rs.next()){String eNumber=(""+Database.rs.getInt("E_Number"));System.out.println(eNumber);String eName=Database.rs.getString("E_Name");System.out.println(eName);String eSex=Database.rs.getString("E_Sex");System.out.println(eSex);String eBornDate=Database.rs.getString("E_BornDate");System.out.println(eBornDate);String eMarriage=Database.rs.getString("E_Marriage");System.out.println(eMarriage);StringePoliticsVisage=Database.rs.getString("E_PoliticsVisage"); System.out.println(ePoliticsVisage);String eSchoolAge=Database.rs.getString("E_SchoolAge"); System.out.println(eSchoolAge);String eEnterDate=Database.rs.getString("E_EnterDate"); System.out.println(eEnterDate);String eInDueFormDate=Database.rs.getString("E_InDueFormDate"); System.out.println(eInDueFormDate);String eDepartment=Database.rs.getString("E_Department"); System.out.println(eDepartment);String eHeadship=Database.rs.getString("E_Headship");System.out.println(eHeadship);String eEstate=Database.rs.getString("E_Estate");System.out.println(eEstate);String eRemark=Database.rs.getString("E_Remark");System.out.println(eRemark);Vector v=new Vector();v.add(eNumber);v.add(eName);v.add(eSex);v.add(eBornDate);v.add(eMarriage);v.add(ePoliticsVisage);v.add(eSchoolAge);v.add(eEnterDate);v.add(eInDueFormDate);v.add(eDepartment);v.add(eHeadship);v.add(eEstate);v.add(eRemark);dtm.addRow(v);}}catch(Exception eBIQ){System.out.println("初始化数据失败!");}}//为查询按钮加事件btn1.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent eBIQ){ System.out.println("按钮事件");String esql;int rc=dtm.getRowCount();for(int i=0;i<rc;i++){dtm.removeRow(0);}if(btxtid.getText().equals("")&&btxtname.getText().equals("")){ esql="select * from EmployeeInformation";}else if(btxtname.getText().equals("")){esql="select * from EmployeeInformation where E_Number = '" + btxtid.getText() +"'";}else{esql="select * from EmployeeInformation where E_Number = '" + btxtid.getText() +"' or E_Name like '%"+ btxtname.getText() +"%'";}System.out.println(esql);if(Database.query(esql)){try{while(Database.rs.next()){String eNumber=(""+Database.rs.getInt("E_Number"));System.out.println(eNumber);String eName=Database.rs.getString("E_Name");System.out.println(eName);。
- 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");。