数据库课程设计—企业工资管理系统

合集下载

数据库课程设计—企业工资管理系统

数据库课程设计—企业工资管理系统

数据库课程设计—企业工资管理系统课程设计报告201X年X月X日企业工资管理系统姓名XXX班级XXXXX学号XXXXXX课程名称数据库原理及应用指导教师目录一.工资管理系统需求分析…………………………………1.1功能需求…………………………………………………1.1.1功能划分………………………………………1.1.2功能描述……………………………………………1.2性能需求…………………………………………………1.3数据流图………………………………………………二.总体设计…………………………………………………2.1数据库概念设计…………………………………………2.2功能模块…………………………………………………三.系统详细设计……………………………………………3.1数据库逻辑设计…………………………………………3.2各模块功能………………………………………………3.2.1职工信息管理系统…………………………………3.2.2职工工资管理系统…………………………………3.2.3职工津贴管理系统…………………………………四.系统实现…………………………………………………4.1界面截图…………………………………………………4.1.1主界面及工资基本信息界面……………………4.1.2登录界面…………………………………………4.1.3系统主界面………………………………………4.1.4信息录入,修改,删除,查询界面…………4.2设计代码…………………………………………………五.实验总结…………………………………………………1、需求分析1.1功能需求1.1.1功能划分(1)、员工信息表;及时反映员工的基本信息(2)、员工津贴表,反映员工津贴(3)、员工基本工资表1.1.2 功能描述(1)、基本工资的设定(2)、津贴的设定(3)、计算出月工资(4)、录入员工工资信息(5)、添加员工工资信息(6)、更改员工工资信息1.2性能需求此工资管理系统对工资数据精度的计算能在默认情况之下精确到小数点后3位小数,即是精确到分的计算。

数据库课程设计(工资管理系统使用说明书)

数据库课程设计(工资管理系统使用说明书)

一、安装说明1.附加数据库(1)程序拷贝到用户计算机后,文件夹下扩展名为“.MDF”和“.LDF”的两个数据文件拷贝到SQL Server 2000安装路径下的“MSSQL”/“Data”目录下。

(2)打开SQL Server 2000中的“企业管理器”,然后展开本地服务器,在“数据库”数据项上单击鼠标右键,在弹出的快捷菜单中选择“所有任务”/“附加数据库”菜单项,如图1所示。

图1 附加数据库2)在弹出的“附加数据库”对话框中单击“…”按钮选择刚拷贝过去的数据库文件(.MDF 文件),单击“确定”按钮,即可完成数据库的附加操作,如图2所示。

图2 选择所要附加的数据库二、系统登录双击文件夹下EXE文件,弹出如图1.1所示的登录界面。

图1.1 系统登录界面在“用户名”的文本框,输入用户名:yepeng,单击“密码”的文本框,输入密码:yepeng,单击【确定】按钮进入系统主界面,如图1.2所示。

图1.2 工资管理系统主界面三、基本工资管理基本工资管理菜单包括:员工录入和员工删除。

通过基本工资管理可以基本实现员工信息的添加及删除操作。

3.1 员工录入单击“基本工资管理”/“员工录入”选项,弹出如图1.3所示的界面。

员工录入模块主要录入员工信息。

图1.3 员工录入在“编号”、“姓名”的文本框中,输入员工的编号及姓名,单击“性别”及“学历”的下拉按钮选择性别及学历,最后单击【添加】按钮,即可添加员工信息。

3.2 员工删除单击“基本工资管理”/“员工删除”选项,弹出如图1.4所示的界面,该界面主要实现企业性质的信息设置。

图1.4 员工删除通过“选择编号”的下拉按钮选择要删除的员工编号,然后单击【删除】按钮即可删除相应的员工信息。

四、工资管理工资管理菜单包括:基本工资管理、浮动工资管理和工资发放管理。

4.1 基本工资管理单击“工资管理”/“基本工资管理”选项,弹出如图1.9所示的界面,该界面主要实现基本工资的添加。

课程设计——工资管理系统

课程设计——工资管理系统

数据库课程设计——工资管理系统一、系统需求分析部分1、系统需求:在当今科技社会中,企业的规模不断扩大,需要的员工数量也在日益增加,而对于员工的工资管理工作就显得尤为重要,一个拥有高效的工资管理的企业可以减少很多冗繁的工作,为企业的稳定性与高效性做出贡献。

因此,这可以体现出一个科学的工资管理系统有多么的重要。

2、系统说明工资管理系统包括工资查询、工资显示、工资添加、工资删除、工资更新、工资详细说明几个模块。

其中工资查询和工资详细说明为员工模块,其余为管理员模块(管理员可进行员工模块的查询管理等操作)Ⅰ、工资查询功能。

通过员工的编号及密码查询个人工资的情况。

情况包括:姓名、编号、性别、所属部门、职位、本月工资。

Ⅱ、工资显示功能。

向管理员显示所有用户的工资信息。

Ⅲ、工资添加功能。

用于管理员添加新员工的工资信息。

Ⅳ、工资删除功能。

用于管理员删除员工的工资信息Ⅴ、工资更新功能。

可用于管理员对工资的调整如对工资的加减调节。

Ⅵ、工资详细说明。

应发工资=基本工资+奖金+补贴扣费=伙食费+借支扣款+个人所得税+其他扣款实发工资=应发工资–扣费3、数据流图二、概念结构设计分E-R图1、2、3、总E-R图三、逻辑结构设计1、E-R图转化为关系模型:Ⅰ、管理员{编号(key),姓名,账号,密码}Ⅱ、员工{编号(key)、姓名、性别、部门、职务、密码}Ⅲ、工资{工资表编号(key)、管理员编号、员工编号、基本工资、应发工资、奖金、补贴、伙食费、借支扣款、个人所得税、其他扣款、本月工资}2、数据表:Ⅰ、管理员表Ⅱ、员工表Ⅲ、工资表。

数据库课程设计——企业员工工资管理系统

数据库课程设计——企业员工工资管理系统

数据库课程设计——企业员工工资管理系统一、引言在现代企业管理中,员工工资的管理是一个极为重要的环节。

为了提高工资管理的效率和准确性,需要设计和实现一套高效的企业员工工资管理系统。

本文将介绍如何在数据库课程设计中构建一个功能完善的企业员工工资管理系统。

二、系统需求分析企业员工工资管理系统需要满足以下基本需求:1. 员工信息管理:包括员工基本信息(姓名、性别、年龄等)、部门信息、职位信息等。

2. 工资计算:根据员工的基本工资、绩效考核等因素计算工资。

3. 工资发放:自动生成工资发放单,记录工资发放的时间和方式。

4. 工资查询:员工和管理人员能够查询工资详细信息,包括工资单、工资发放记录等。

5. 统计报表:生成各种工资统计报表,如部门工资总额、员工工资排名等。

三、系统设计与实现1. 数据库设计为了满足系统需求,需要设计一组适当的数据库表来存储相关数据。

以下是数据库表的设计方案:- 员工表(Employee):存储员工的基本信息(员工编号、姓名、性别、年龄等)。

- 部门表(Department):存储部门的信息(部门编号、部门名称等)。

- 职位表(Position):存储职位信息(职位编号、职位名称等)。

- 工资表(Salary):存储员工的工资信息(员工编号、基本工资、绩效等)。

- 工资发放表(SalaryPayment):记录工资的发放信息(员工编号、发放时间、发放方式等)。

2. 系统实现利用SQL语言和数据库管理系统,可以实现员工工资管理系统的各项功能需求。

以下是关键功能的实现示例:- 员工信息管理:通过SQL语句实现员工信息的增加、删除、修改和查询操作。

- 工资计算:编写SQL函数或存储过程来计算员工的工资,考虑到绩效考核等因素。

- 工资发放:编写SQL语句插入工资发放记录,记录发放时间和方式等信息。

- 工资查询:编写SQL语句实现员工和管理人员的工资查询功能,根据需要生成工资单。

- 统计报表:通过SQL语句生成工资统计报表,利用聚合函数和分组操作实现部门工资总额、员工工资排名等统计指标的计算。

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

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

数据库课程设计设计题目:工资管理系统班级:学号:姓名:任务分配表目录一绪论 (3)二需求分析 (3)三概要设计 (4)四物理设计 (5)五详细设计 (6)六调试分析 (9)七小结 (16)八附件 (16)一、绪论随着计算机技术的飞速发展和经济体制改革的不断深入,传统企业管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成员工工资管理工作。

提高公司企业管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。

基于C#与SQL server数据库技术建立一个通用工资管理系统,该系统为提供了查询、增加记录、删除等功能,功能比较的齐全,并对工资进行了统计如津贴管理、报表统计等。

基本上能满足管理员和公司的要求。

此次数据库课程设计的主要设计如下:原理分析、程序设计过程、程序实现和程序调试以及数据库的设计。

需求分析、概要结构设计、逻辑结构设计、物理结构设计和数据库的实施和维护。

主要包括两大大功能模块:1.管理员管理界面设计。

2.员工管理界面设计。

二、需求分析功能需求分析:该通用工资管理系统具备下列功能:管理员通过输入用户名和密码进下该系统后,可以进行一些基本查询(员工信息查询、工资奖金信息查询)、工资管理(计算总工资、奖金管理);通过输入密码,可以进行查询员工的数据(工资,奖金,税收等)。

具体功能的详细描述如下1、在首页进行选择,员工与管理员通道2、点击[管理员登陆]3、用户名和密码即可进入 [工资管理]功能窗体,在此可以选择功能,添加,查询,人员列表4、点击[添加]功能窗体,添加员工工资信息。

5、点击[查询]功能窗体,输入员工号即可查询员工信息。

6、点击[人员列表]功能窗体,可查看所有员工的列表,这界面内可以进行删除操作。

7、点击[员工登陆]8、用户名和密码即可进入 [员工工资查询]功能窗体,在此可以选择查询基本信息,查询工资信息。

9、在[查询基本信息],员工可自己查看自己的信息。

10、在[查询工作信息],员工可自己查看自己的工作信息。

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

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

重庆科技学院《数据库原理》课程设计报告院(系:专业班级:学生姓名:学号:设计地点(单位)______逸夫科技楼_ _______ _ _ 设计题目:____ 工资管理系统设计_______________ 完成日期: 2015年 06月 26日指导教师评语: _______________________________________ ___________________________________________________________________________ ___________________________________________________________________________ ___________________________________________________ __________ _成绩(五级记分制):______ __________指导教师(签字):________ ________设计题目:工资管理系统设计学生姓名第6组:学生姓名:学号:课程名称数据库原理与应用课程设计专业班级计科2013-01,2,3,4地点I301、I302 起止时间2015.06.22-2015.06.26设计内容及要求现需要开发一工资管理系统,描述与要实现功能如下:为了保证系统具有高度的安全性,要有登录界面,进行用户身份的验证。

用户分为不同的级别,例如管理员级用户和普通用户。

员工不同工种基本工资的设定:员工工种的不同,工资的标准也不同,允许管理员根据员工的现任职务设定员工的基本工资。

包括每个员工的姓名、性别、年龄、工龄、职务及其所在的部门等资料的录入来确定员工的基本工资,以及对现有工作人的基本信息的录入工作。

可以对员工的工资项目进行初始化的设置(包括个人所得税、上月工资零头、本月工资零头、职务工资、级别工资、基本工资、工龄工资、独子费、津贴补贴、离退费、交通费、电话费补贴。

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

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

工资管理系统数据库课程设计工资管理系统数据库课程设计一、背景介绍现代企业的工资管理已经越来越复杂,需要一个高效、准确的工资管理系统来进行支持。

工资管理系统需要能够自动计算员工工资,但更重要的是需要保护员工信息的安全性。

因此,该系统需要具备高可靠性和高安全性。

二、系统设计要求1. 系统框架设计系统框架应该采用分层架构模式,包括以下几个层次:①用户界面层:实现用户与系统的交互操作。

②业务逻辑层:实现系统的核心业务逻辑。

③数据访问层:实现系统的数据访问和管理。

④数据库层:用于存储系统所需的数据。

2. 数据库设计数据表结构设计如下:①员工表:用于存储员工基本信息,包括员工号、姓名、性别、出生日期、联系电话等字段。

②工资表:用于存储员工工资信息,包括员工号、月份、基本工资、津贴、扣款等字段。

③部门表:用于存储部门信息,包括部门号、部门名称、部门经理等字段。

④职位表:用于存储职位信息,包括职位编号、职位名称、职位描述等字段。

⑤权限表:用于存储用户权限信息,包括用户名、密码、用户类型等字段。

3. 系统功能设计根据需求分析,系统应该包含以下功能:①员工基本信息维护功能:用于添加、修改、删除员工基本信息。

②员工工资信息维护功能:用于添加、修改、删除员工工资信息。

③员工考勤记录查询功能:用于查询员工的考勤记录。

④部门信息维护功能:用于添加、修改、删除部门信息。

⑤职位信息维护功能:用于添加、修改、删除职位信息。

⑥权限管理功能:用于管理用户的权限信息。

三、技术方案1. 数据库管理系统本系统采用MySQL数据库管理系统,因为MySQL是一个成熟的开源数据库系统,能够提供高效、可靠的数据存储和管理服务。

2. 开发工具本系统采用Java语言进行开发,使用Eclipse作为开发工具,采用Java Web开发技术,采用MVC设计模式。

3. 数据库访问框架本系统采用ORM框架Hibernate来进行数据库的访问操作,通过Hibernate能够简化数据库访问操作,提高系统开发效率。

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

数据库课程设计-工资管理系统
可维护性
采用模块化设计,降低系统复 杂度,方便后期维护和升级。
用户需求
员工
能够查看自己的工资条和考勤记录, 了解自己的收入情况和出勤状况。
人力资源部门
企业管理层
通过系统报表了解企业整体薪资状况 、人力成本及员工绩效等情况,为企 业战略制定和人力资源管理提供依据 。
能够管理员工信息、工资信息和考勤 信息,生成各类报表,为企业管理层 提供决策支持。
问题解决能力
在项目设计和实现过程中,遇到了很多问题和挑战,通过 不断思考和尝试,我逐渐提高了自己的问题解决能力。
对未来研究的展望
数据库新技术研究
随着大数据、云计算等技术的不断发展,数据库技术也在不断演进。未来可以关注和研究 分布式数据库、图数据库等新技术,以满足不同应用场景的需求。
数据库应用拓展
除了传统的企业级应用外,数据库在物联网、人工智能等领域也有广泛的应用前景。未来 可以探索和研究数据库在这些领域的应用和拓展。
系统评估
功能完整性
评估系统是否实现了所有预定的功能,如工 资录入、查询、统计、分析等。
性能稳定性
测试系统在不同负载下的性能表现,如响应 时间、数据处理速度等。
易用性
评估系统的用户界面是否友好,操作是否简 便易懂。
安全性
检查系统的安全机制,如用户权限管理、数 据加密等是否完善。
改进意见与建议
增加数据校验机制
数据库设计
1 2 3
数据库选型
选用关系型数据库管理系统(RDBMS),如 MySQL、Oracle或SQL Server等,确保数据的 完整性和安全性。
数据表设计
根据业务需求设计合理的数据表结构,包括员工 信息表、工资明细表、部门信息表等,定义主键 、外键和索引等约束条件。

数据库课程设计报告_工资管理系统

数据库课程设计报告_工资管理系统

数据库课程设计报告_工资管理系统一、引言工资管理是每个企业必不可少的一个管理方面,它不仅关系到企业的资金管理,同时也关系到员工的收入与福利。

在当前信息技术不断发展的时代,各种软件系统的应用已经成为了一个企业发展的标配。

因此,我们设计了一款简单实用的工资管理系统。

二、系统的设计思路1. 系统需求分析针对使用系统人员(管理员、普通员工)的需求,我们在系统中加入了以下功能:* 员工信息的录入与修改* 员工工资信息的录入与修改* 工资发放管理* 查看历史工资记录结合上述功能点,我们为系统制定了几条关键需求:* 数据库必须可保证一致性,员工工资信息需在工资发放管理时及时更新* 管理员可查看工资信息,但无权修改工资明细* 操作流程应严谨,避免用户误操作2. 数据库表设计为了实现系统的功能,我们设计了以下表:* employee(员工信息表)* salary(员工工资明细表)* salary_record(工资记录表)employee表主要包括员工的基本信息,包括员工编号、姓名、性别、部门、岗位等。

salary表主要记录员工的工资明细信息,包括年度、月份、基本工资、绩效工资、奖金等。

salary_record表主要记录工资的发放记录,包括年度、月份、发放日期等。

3. 系统架构设计本系统采用了B/S架构,由前端页面和后台服务端组成。

前端页面采用了HTML、CSS、JavaScript等技术进行开发,后台服务端则采用了Java语言并使用了Spring框架。

4. 功能设计系统主要功能有如下几点:* 员工信息管理:管理员可对员工信息进行添加、修改、删除操作。

* 工资信息管理:管理员可对员工工资信息进行添加、修改、删除操作。

* 工资发放管理:管理员可对员工工资信息进行发放操作。

* 工资查询:工资发放后,员工和管理员可以查询员工工资记录。

三、实现技术细节1. 连接池为了防止每次创建一个新的连接造成过度资源的占用,在系统中使用了连接池技术。

数据库课程设计—企业工资管理系统(java版+完整代码)经典.doc

数据库课程设计—企业工资管理系统(java版+完整代码)经典.doc

课程设计报告企业工资管理系统姓名XXX班级XXXXX学号XXXXXX课程名称数据库原理及应用指导教师201X年X月X日目录一.工资管理系统需求分析…………………………………1.1功能需求…………………………………………………1.1.1功能划分………………………………………1.1.2功能描述……………………………………………1.2性能需求…………………………………………………1.3数据流图………………………………………………二.总体设计…………………………………………………2.1数据库概念设计…………………………………………2.2功能模块…………………………………………………三.系统详细设计……………………………………………3.1数据库逻辑设计…………………………………………3.2各模块功能………………………………………………3.2.1职工信息管理系统…………………………………3.2.2职工工资管理系统…………………………………3.2.3职工津贴管理系统…………………………………四.系统实现…………………………………………………4.1界面截图…………………………………………………4.1.1主界面及工资基本信息界面……………………4.1.2登录界面…………………………………………4.1.3系统主界面………………………………………4.1.4信息录入,修改,删除,查询界面…………4.2设计代码…………………………………………………五.实验总结…………………………………………………1、需求分析1.1功能需求1.1.1功能划分(1)、员工信息表;及时反映员工的基本信息(2)、员工津贴表,反映员工津贴(3)、员工基本工资表1.1.2 功能描述(1)、基本工资的设定(2)、津贴的设定(3)、计算出月工资(4)、录入员工工资信息(5)、添加员工工资信息(6)、更改员工工资信息1.2性能需求此工资管理系统对工资数据精度的计算能在默认情况之下精确到小数点后3位小数,即是精确到分的计算。

数据库课程设计——企业员工工资管理系统

数据库课程设计——企业员工工资管理系统

《大型数据库系统应用》集中实训报告系统名称:员工工资管理系统专业:信息管理与信息系统班级: B1201学号: 124365姓名:高振指导教师:王希娟2015 年 6 月11 日摘要企业的工资管理是公司管理的一个重要内容。

工资管理既涉及到企业劳动人事的管理,同时也是企业财务管理的重要组成部分。

工资管理需要和人事管理相联系,同时连接工时考勤和医疗保险等等,来生成企业每个职工的基本工资、津贴、医疗保险、保险费、实际发放工资等。

资金是企业生存的主要元素,资金的流动影响到企业的整体运作,企业员工的工资是企业资金管理的一个重要的组成部分。

但考虑到学生的开发时间,本次设计主要阐述员工工资管理系统主要是以企业员工工资情况为对象而开发的。

涉及系统比较小,有利于学生单独编写。

其系统的设计主要包括数据库的设计、维护和应用界面的设计与后台数据库的连接。

经分析采用Microsoft 公司开发的Visual Basic 6.0为开发工具,Microsoft SQL sever 2000 为后台数据库。

Visual Basic (简称VB)是由Microsoft公司推出的在Windows操作平台下最迅速、最简捷的应用开发工具之一。

它引入了面向对象的程序设计思想和“控件”的概念,使得大量已经编好的Visual Basic 程序可以直接拿来使用。

同时VB具有简单、易学的特点,是大多数初学者最理想的编程语言,也是专业人员得心应手的开发工具。

它在一个公共环境里集成了许多不同的功能,例如,设计、编辑、编译和调试。

目前市场上数据库的主流厂商及产品有IBM DB2、Microsoft SQL SERVER 2000、ORACLE 9i、Sybase。

Microsoft SQL Server 2000是在SQL Server 7.0的基础上对性能、可靠性、质量以及易用性进行了扩展。

SQL Server 2000中包含许多新特性,这些特性使其成为针对电子商务、数据仓库和在线商务解决方案的卓越的数据库平台。

企业工资管理系统数据库课程设计(DOC 35页)

企业工资管理系统数据库课程设计(DOC 35页)

企业工资管理系统数据库课程设计(DOC 35页)企业工资管理系统目录第一章绪论 (1)1.1数据库管理系统 (1)1.2企业工资管理系统 (1)1.3开发工具 (1)第二章员工工资管理系统设计分析 (2)2.1应用需求与分析 (2)2.2系统模块划分 (2)2.3系统数据库设计 (3)第三章:企业工资管理系统应用程序设计 (4)3.1系统图 (4)3.1.1系统的数据流图 (4)3.1.2系统的流程图 (5)3.1.3系统模块的具体划分 (6)3.2跳转界面设计 (7)3.2“选择登陆用户模块”详细设计………………………………………83.4管理员登录………………………………………………………………103.4.1“登录模块”详细设计………………………………………………103.4.2主窗体模块设计………………………………………………………133.4.3员工注册界面及功能…………………………………………………153.4.4删除员工信息界面及功能……………………………………………183.4.5修改及查询员工工资界面及功能……………………………………203.4.6工资设定界面及功能…………………………………………………233.4.7职位管理界面及功能…………………………………………………253.4.8其他功能………………………………………………………………283.5员工登陆模块……………………………………………………………29第四章:运行与测试 (31)4.1系统运行………………………………………………………………314.2系统测试………………………………………………………………31第五章:实验心得 (32)第一章绪论1.1数据库管理系统数据库管理系统(DBMS)是指数据库系统中管理数据的软件系统。

DBMS是数据库系统的核心组成部分。

对数据库的一切操作,包括定义、更新及各种控制,都是通过DBMS进行的。

DBMS总是基于某种数据模型,可以把DBMS看成是某种数据模型在计算机系统上的具体实现。

数据库课程设计——企业员工工资管理系统

数据库课程设计——企业员工工资管理系统

数据库课程设计报告企业员工工资管理系统姓名:_____________________________ 班级:_____________________________ 学号:_____________________________ 指导教师:_____________________________ 成绩:_____________________________ 完成时间:_____________________________ 完成地点:_____________________________摘要企业的工资管理是公司管理的一个重要内容。

工资管理既涉及到企业劳动人事的管理,同时也是企业财务管理的重要组成部分。

工资管理需要和人事管理相联系,同时连接工时考勤和医疗保险等等,来生成企业每个职工的基本工资、津贴、医疗保险、保险费、实际发放工资等。

资金是企业生存的主要元素,资金的流动影响到企业的整体运作,企业员工的工资是企业资金管理的一个重要的组成部分。

但考虑到学生的开发时间,本次设计主要阐述员工工资管理系统主要是以企业员工工资情况为对象而开发的。

涉及系统比较小,有利于学生单独编写。

其系统的设计主要包括数据库的设计、维护和应用界面的设计与后台数据库的连接。

经分析采用Microsoft 公司开发的Visual Basic 6.0为开发工具,Microsoft SQL sever 2000 为后台数据库。

Visual Basic (简称VB)是由Microsoft公司推出的在Windows操作平台下最迅速、最简捷的应用开发工具之一。

它引入了面向对象的程序设计思想和“控件”的概念,使得大量已经编好的Visual Basic 程序可以直接拿来使用。

同时VB具有简单、易学的特点,是大多数初学者最理想的编程语言,也是专业人员得心应手的开发工具。

它在一个公共环境里集成了许多不同的功能,例如,设计、编辑、编译和调试。

数据库设计报告——工资管理系统

数据库设计报告——工资管理系统

数据库设计报告——工资管理系统工资管理系统是一个用于管理公司员工工资信息的数据库系统。

该系统旨在提高工资管理的效率和准确性,减少人工管理过程中的错误和延误。

本数据库设计报告将详细介绍工资管理系统的数据库设计方案。

一、需求分析在进行数据库设计之前,首先需要进行详细的需求分析。

根据用户需求,工资管理系统应具备以下功能:1.员工信息管理:包括员工基本信息、职位、部门等。

2.薪资信息管理:包括员工工资、奖金、津贴等。

3.薪资计算:根据员工基本信息和薪资信息,计算每个员工的实际工资。

4.工资发放:记录每次工资发放的日期、金额等信息。

5.统计分析:能够对员工的薪资进行统计分析,如最高工资、最低工资、平均工资等。

二、数据库设计2.1实体分析根据需求分析,确定了以下实体:员工、部门、岗位、薪资、薪资发放记录。

2.2属性分析具体的实体和属性设计如下:员工(Employee):- 员工编号(EmployeeID):主键,自动生成。

- 姓名(Name)- 性别(Gender)- 出生日期(Birthday)- 手机号码(Phone)- 部门编号(DepartmentID):外键,关联部门表。

部门(Department):- 部门编号(DepartmentID):主键,自动生成。

- 部门名称(DepartmentName)岗位(Position):- 岗位编号(PositionID):主键,自动生成。

- 岗位名称(PositionName)薪资(Salary):- 薪资编号(SalaryID):主键,自动生成。

- 员工编号(EmployeeID):外键,关联员工表。

- 岗位编号(PositionID):外键,关联岗位表。

- 基本工资(BasicSalary)- 奖金(Bonus)- 津贴(Allowance)薪资发放记录(Payment):- 记录编号(RecordID):主键,自动生成。

- 员工编号(EmployeeID):外键,关联员工表。

数据库课程设计说明书工资管理系统

数据库课程设计说明书工资管理系统

数据库课程设计说明书工资管理系统目录第一章系统概述 (3)1.1 公司工资管理系统 (3)第二章需求分析 (4)2.1 信息要求 (4)2.2处理要求 (4)2.3安全性与完整性要求 (4)2.3.1处理要求 (4)2.3.2处理要求 (5)第三章数据库设计 (6)3.1 概念设计 (6)3.1.1实体及属性值 (6)3.1.2 实体图 (6)3.1.3 E—R图 (11)3.2 逻辑设计 (12)3.2.1 ER模型转化为关系模型 (12)3.3物理设计 (12)第四章软件功能设计 (14)4.1 系统功能分析 (14)4.1.1 查询功能 (14)4.1.2 设置计算公式 (15)4.1.3 统计工资 (15)4.2 系统功能模块设计 (15)第五章窗体设计及程序代码 (16)5.1 窗体设计 (16)5.1.1 登录窗体设计 (16)5.1.2 菜单窗体设计 (16)5.1.3 添加查询窗体设计 (17)5.1.5 设置计算公式窗体设计 (19)5.2 代码设计 (19)5.2.1 登录窗体代码设计 (19)5.2.2 菜单窗体代码设计 (20)5.2.3 统计工资窗体代码设计 (21)5.2.4 设置计算公式窗体代码设计 (24)第六章设计心得 (25)参考资料 (26)第一章系统概述1.1 公司工资管理系统随着计算机技术的飞速发展,计算机在企业管理中的应用也越来越普及,利用计算机实现企业工资的管理显得越来越重要。

对于大中型企业来说,利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求,推动企业劳动人事管理走向科学化、规范化的必要条件:而工资管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,如果实行手工操作,每月发放工资须填制大量的表格,这就会耗费工作人员大量的精力和时间,计算机进行工资发放工作,不仅能够保证工资核算准确无误、快速输出,而且还可以利用计算机对有关工资的各种信息进行统计,服务于财务部门其他方面的核算和财务处理,计算机具有人工无法比拟的优点。

企业工资管理系统数据库课程设计

企业工资管理系统数据库课程设计

企业工资管理系统数据库课程设计1企业工资管理系统目录第一章绪论 (1)1.1数据库管理系统 (1)1.2企业工资管理系统 (1)1.3开发工具……………………………………………………………………1第二章员工工资管理系统设计分析 (2)2.1应用需求与分析 (2)2.2系统模块划分 (2)22.3系统数据库设计 (3)第三章:企业工资管理系统应用程序设计 (4)3.1系统图 (4)3.1.1系统的数据流图 (4)3.1.2系统的流程图 (5)3.1.3系统模块的具体划分 (6)3.2跳转界面设计 (7)3.2”选择登陆用户模块”详细设计 (8)3.4管理员登录 (10)3.4.1”登录模块”详细设计 (10)3.4.2主窗体模块设计 (13)33.4.3员工注册界面及功能 (15)3.4.4删除员工信息界面及功能 (18)3.4.5修改及查询员工工资界面及功能 (20)3.4.6工资设定界面及功能 (23)3.4.7职位管理界面及功能 (25)3.4.8其它功能 (28)3.5员工登陆模块 (29)第四章:运行与测试 (31)4.1系统运行 (31)4.2系统测试 (31)第五章:实验心得 (32)4第一章绪论1.1数据库管理系统数据库管理系统(DBMS)是指数据库系统中管理数据的软件系统。

DBMS是数据库系统的核心组成部分。

对数据库的一切操作,包括定义、更新及各种控制,都是经过DBMS进行的。

DBMS总是5。

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

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

编号:课程设计(论文)说明书题目:工资管理系统系别:计算机科学与工程学院专业:计算机科学与技术学生姓名:学号:指导教师:侯杰2012年9月5日摘要工资管理是企、事业单位中的一项主要管理工作,特别是对于企、事业单位的决策者和管理者来说,工资管理工作都是至关重要的,但一直以来人们是使用传统的人工方式管理数据和文档,这种管理方式存在着许多缺点,如:效率低、保密性差,也不够方便、灵活,另外随着企、事业单位人员数量的增加,其管理的工作量也将大大增加,这必然增加了管理人员的工作量和劳动强度,同时将产生大量的文件和数据,这给人事工资中各种数据信息的查找、更新和维护都带来了不少困难。

据调查,目前很多企、事业单位的人事工资管理依然停留在纸介质的基础上,这样的管理机制已经不能适应时代发展的需要,也不能满足管理工作逐步走向规范化、科学化和自动化的要求。

随着计算机科学与技术的日渐成熟和计算机应用的普及,计算机已进入到人类社会的各个领域,并发挥着越来越重要的作用。

原来这种传统的手工管理模式必然被以计算机为物质基础的信息管理方式所取代。

开发工资管理系统,使用计算机化的工资管理系统可以彻底改变目前工资管理工作的现状,能够提高工作效率,能够提供更准确、及时、适用、易理解的信息,能够从根本上解决工作效率低、信息滞后、资源浪费等问题。

而 SQL Server 2008是一个功能强大而又实用的数据库管理系统,与Delphi7这个强大的软件开放软件相结合,可以很容易地实现工资管理系统所需的功能。

因此,从使用系统所带来的良好效果以及我们目前所掌握的知识和技术来看,开发一个简易而实用的人事工资管理系统都是可行的。

关键字:工资管理系统;SQL Server 2008;数据库管理系统;Delphi7。

目录引言 (1)1设计概述 (1)1.1背景说明 (1)1.2设计目的 (1)1.3设计内容 (2)2系统体系结构设计 (3)2.1系统的功能模块图 (3)2.2系统流程分析 (3)2.3数据库结构设计 (7)2.4概念模型设计(E-R图) (6)3系统界面截图及源代码 (8)3.1系统界面截图 (8)3.2源代码 (16)3.2.1登陆界面 (16)3.2.2增加信息界面 (16)3.2.3查询信息界面 (17)3.2.4统计界面 (18)4结论 (21)参考文献 (22)引言工资管理是任何企事业单位都需要进行的一项工作,因此,工资管理系统是当代企业管理工作中不可或缺的部分,对于公司的人事管理者来说至关重要,所以工资管理系统能够为管理者提供充足的信息和快捷的数据处理手段。

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

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

数据库课程设计工资管理系统一、背景在现代社会中,工资管理是企业日常经营中不可或缺的一环。

而为了更好地管理企业工资发放和福利待遇,需要一种完善的管理系统。

数据库课程设计工资管理系统的建立就是为了实现该目标,通过实时更新员工信息和工资情况,让企业能够更加精准、高效的管理员工工资。

二、系统功能该系统作为一款针对企业工资管理的应用系统,其主要功能如下:1.基本信息管理:可进行员工基本信息管理,包括员工姓名、性别、入职时间、工作部门、岗位职责、身份证号等信息。

2.工资管理:在员工信息基础上,还可进行工资管理,包括发放日期、发放金额、所得税情况等信息。

3.福利管理:对企业内部的福利体系进行管理,包括社保、公积金、医疗福利各方面的内容。

4.报表管理:提供各种报表以分析工资结构,同时提供员工查询功能。

5.权限管理:管理员工资信息,确保数据的安全性和数据准确性。

三、系统架构1. 数据库本系统采用MySQL 数据库进行数据存储,能够应对大型企业的数据量。

除此之外,也可以通过数据库的备份和恢复等功能来保障数据的安全与稳定。

2. 系统框架采用MVC 框架,以前端技术HTML、CSS、JavaScript 为基础,后端使用PHP 语言进行开发。

同时采用Ajax 对后台进行数据请求,能够实现数据的快速响应。

3. 系统部署将系统进行打包,可在任何符合系统要求的服务器上进行部署。

其中,需要对于服务器进行相关设置,例如Apache、PHP、MySQL 等环境的安装及配置。

四、开发过程1.需求获取开发工作正式启动之前,需要充分了解企业的工资管理需求,并进行详尽的调研。

通过调研之后,需要将调研结果进行整理,以便更好的开发工作。

2.需求分析在详细了解后,需要将调研结果进行分析,确立该系统应具备哪些需求和功能,以及哪些需求和功能是必须的和优先的。

3.设计在确定需求和功能之后,根据系统架构规划软件系统的开发设计。

通常,设计工作包括数据库表设计、系统组件设计、界面设计、文档编写等工作。

数据库课程设计—企业工资管理系统

数据库课程设计—企业工资管理系统

得分:课程设计报告企业工资管理系统姓名______________ XXX _________ 班级____________ XXXXX学号XXXXXX课程名称数据库原理及应用指导教帅____________________________201X年X月X日目录一•工资管理系统需求分析1.1功能需求1.1.1 功能划分1.1.2 功能描述1.2性能需求1.3数据流图二. 总体设计2.1数据库概念设计2.2功能模块三. 系统详细设计3.1数据库逻辑设计3.2各模块功能3.2.1 职工信息管理系统3.2.2 职工工资管理系统3.2.3 职工津贴管理系统四. 系统实现4.1界面截图4.1.1 主界面及工资基本信息界面••…4.1.2 登录界面4.1.3 系统主界面4.1.4 信息录入,修改,删除,查询界面4.2设计代码五. 实验总结1、需求分析1.1功能需求1.1.1功能划分(1) 、员工信息表;及时反映员工的基本信息(2) 、员工津贴表,反映员工津贴(3) 、员工基本工资表1.1.2 功能描述(1)、基本工资的设定⑵、津贴的设定(3) 、计算出月工资(4) 、录入员工工资信息(5 )、添加员工工资信息(6)、更改员工工资信息1.2性能需求此工资管理系统对工资数据精度的计算能在默认情况之下精确到小数点后3位小数,即是精确到分的计算。

但在用户使用过程中,能自行根据实际情况进行小数计算精度的设定,最大能允许保留小数点后5位的精度。

在时间特性上,当用户发出命令请求时的服务器的响应时间、对数据更新处理、工资数据的查询检索等上,同样要求系统响应时间不会超过0.5秒时间。

系统支持多种操作系统的运行环境,多不同操作系统,不同文件格式的磁盘上的数据均能实现信息的互通,及共享。

当服务器移植到其他的系统平台,如:Linux平台下时,同样能和其他的系统进行数据存取同步,不会出现系统之间互不兼容的情况,系统支持多系统之间的互连互通,系统有巨大的强健性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库课程设计—企业工资管理系统得分:课程设计报告企业工资管理系统姓名XXX班级XXXXX学号XXXXXX课程名称数据库原理及应用指导教师201X年X月X日目录一.工资管理系统需求分析…………………………………1.1功能需求…………………………………………………1.1.1功能划分………………………………………1.1.2功能描述……………………………………………1.2性能需求…………………………………………………1.3数据流图………………………………………………二.总体设计…………………………………………………2.1数据库概念设计…………………………………………2.2功能模块…………………………………………………三.系统详细设计……………………………………………3.1数据库逻辑设计…………………………………………3.2各模块功能………………………………………………3.2.1职工信息管理系统…………………………………3.2.2职工工资管理系统…………………………………3.2.3职工津贴管理系统…………………………………四.系统实现…………………………………………………4.1界面截图…………………………………………………4.1.1主界面及工资基本信息界面……………………4.1.2登录界面…………………………………………4.1.3系统主界面………………………………………4.1.4信息录入,修改,删除,查询界面…………4.2设计代码…………………………………………………五.实验总结…………………………………………………1、需求分析1.1功能需求1.1.1功能划分(1)、员工信息表;及时反映员工的基本信息(2)、员工津贴表,反映员工津贴(3)、员工基本工资表1.1.2 功能描述(1)、基本工资的设定(2)、津贴的设定(3)、计算出月工资(4)、录入员工工资信息(5)、添加员工工资信息(6)、更改员工工资信息1.2性能需求此工资管理系统对工资数据精度的计算能在默认情况之下精确到小数点后3位小数,即是精确到分的计算。

但在用户使用过程中,能自行根据实际情况进行小数计算精度的设定,最大能允许保留小数点后5位的精度。

在时间特性上,当用户发出命令请求时的服务器的响应时间、对数据更新处理、工资数据的查询检索等上,同样要求系统响应时间不会超过0.5秒时间。

系统支持多种操作系统的运行环境,多不同操作系统,不同文件格式的磁盘上的数据均能实现信息的互通,及共享。

当服务器移植到其他的系统平台,如:Linux平台下时,同样能和其他的系统进行数据存取同步,不会出现系统之间互不兼容的情况,系统支持多系统之间的互连互通,系统有巨大的强健性。

本课程设计是用Java语言编写,mysql数据库。

1.3数据流图根据工资管理要求及用户需求调查分析,得到以下数据流图图1.1第一层数据流图图1.2职工信息的载入图1.4考勤的信息载入2.总体设计2.1数据库概念设计有了数据流图,用E-R 图来说明工资信息管理系统的数据库概念模式,如图津贴表添加修改删除查询用户修改职删除职输入职工工资表添加修改删除用户查询职1 nm图2.1实体之间关系E-R 图员工领工资领津贴 影职姓职基本职工津贴姓名 密姓名2.2功能模块3.系统详细设计 3.1数据库逻辑设计将以上E-R 转换成如下关系模式 员工(职工号,姓名,密码) 工资(职工号,姓名,基本工资,) 津贴(职工号,姓名,奖金)其中,标有下划线的字段表示为该数据表的主码,即主关键字。

在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。

工资信息管理系统数据库中各个表格的设计结果如下面的几个表格所示。

每个表格表示在数据库中的一个表。

表一:员工信息表:工资管理系统系统模块工资管理模块职工登陆模块员工管理模块列名数据类型可否取空备注说明no Char ( 8 ) NOT NULL 职工号(主键)name Char(10)NOT NULL 职工姓名mi Smallint NOT NULL 登录密码列名数据类型可否取空备注说明no Char ( 8 ) NOT NULL 职工号(主键)name Char(10)NOT NULL 职工姓名Jb money NOT NULL 基本工资列名数据类型可否为空备注说明no Char ( 8 ) NOT NULL 职工号(主键)name Char(10)NOT NULL 职工姓名Jt money NOT NULL 津贴3.2各模块功能3.2.1职工信息管理系统功能为:财务部门相关人员录入、修改、删除、查询员工个人信息3.2.2职工工资管理系统功能为:根据工资生成公式,按照员工的考勤情况及各种表现按月生成相应的工资;财务部门相关人员能录入、修改、删除、查询每个月每个员工的工资信息以及工资汇总;员工本人能查询自己的工资信息以及工资汇总;3.2.3职工登陆查询系统功能为:员工本人能通过用户名和密码查询自己的信息以及修改自己的密码;4.系统实现4.1界面截图4.1.1主界面4.1.2登录界面4.1.3管理员管理工资界面4.1.4信息录入,修改,删除,查询界面4.1.5职工信息查询界面4.1.6职工密码修改界面4.2设计代码DB.javapackage wage_management;import java.awt.*;import java.awt.event.*;import javax.swing.*;class DB extends JFrame implements ActionListener { JFrame frame = new JFrame("欢迎进入企业工资管理系统");JLabel label = new JLabel("", JLabel.CENTER);JButton button1 = new JButton("进入系统");JButton button2 = new JButton("退出系统");ImageIcon im = new ImageIcon("1.jpg");JLabel a1 = new JLabel(im);void Create() {JPanel pcontentPane = (JPanel) frame.getContentPane();pcontentPane.add(a1);pcontentPane.add(label);pcontentPane.setLayout(new FlowLayout());pcontentPane.add(button1);pcontentPane.add(button2);pcontentPane.setVisible(true);button1.addActionListener(this);button2.addActionListener(this);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.pack();frame.setBounds(200, 100, 550, 180);frame.setVisible(true);}public static void main(String[] args) {DB dome = new DB();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);}}}DL.javapackage 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.ImageIcon;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;import Query.Querypad;class DL extends JFrame implements ActionListener {ImageIcon im = new ImageIcon("2.jpg");JLabel a2 = new JLabel(im);JFrame frame = new JFrame("职工/管理员登陆");JLabel label1 = new JLabel("用户名");JLabel label2 = new JLabel("密码");JButton logonButton1 = new JButton("管理员登录");JButton logonButton2 = new JBut ton("职工登录");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();JPanel p1 = new JPanel();p.setLayout(new FlowLayout());p.add(a2);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.cyan);p.setVisible(true);logonButton1.addActionListener(this);logonButton2.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){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/wage management","root","jxb");sql="select * from workerinfo where name='"+t1+"' and mi='"+t2+"'";ps = (PreparedStatement) con.prepareStatement(sql);rs = ps.executeQuery(sql);if(rs.next()){if(rs.getString("name").equals(t1) && rs.getString("mi").equals(t2)){YGDLJM yg = new YGDLJM();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);}}}GZGLZJM.javapackage wage_management;import java.awt.Color;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;class 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("3.jpg");JLabel a1 = new JLabel(im);void create() {JPanel p = (JPanel) f.getCont entPane();p.setLayout(new FlowLayout());p.add(a1);p.add(b1);p.add(b2);p.add(b3);p.setBackground(Color.cyan);p.setVisible(true);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);f.setBounds(200, 100, 500, 200);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();}}}GZGL.javapackage wage_management;import java.awt.Color;import java.awt.FlowLayout;import java.awt.event.Ac tionEvent;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;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(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(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.cyan);p2.add(scrollpane);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);splitpane.add(p1, splitpane.TOP);splitpane.add(p2, splitpane.BOTTOM);splitpane.setDividerLocation(50);p.setBackground(Color.CYAN);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);b4.addActionListener(this);b5.addActionListener(this);f.setBounds(200, 100, 500, 600);f.setResizable(true);// 可以调整界面大小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://l ocalhost:3306/w age management","root","jxb");sql = con.createStatement();String insertStr = "INSERT INTO welfare (no,name,jt)VALUES('"+tf1.getText()+"','"+tf2.getText()+"' ,'"+tf3.getText()+"');";sql.executeUpdate(insertStr);String insertStr1 = "INSERT INTO wageinfo (no,name,jb)VALUES('"+tf1.getText()+"','"+tf2.getText()+"' ,'"+tf4.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/w age management","root","jxb");sql = con.createStatement();String updateStr = "UPDATE welfare SET jt='"+tf3.getText()+"',name='"+tf2.getText()+"'whereno='"+tf1.getText()+"';";sql.executeUpdate(updateStr);String updateStr1 = "UPDATE wageinfo SET jb='"+tf4.getText()+"',name='"+tf2.getText()+"'whereno='"+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;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/w age management","root","jxb");sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);sql.executeUpdate("DELETE FROM wageinfo where no='"+tf6.getText()+"';");sql.executeUpdate("DELETE FROM welfare where no='"+tf6.getText()+"';");JOptionPane.showMessageDialog(this, "删除成功!");con.close();} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "删除失败!");}}if (b4.equals(e.getSource())) {// 查询全部Connection con;Statement sql;ResultSet rs;//Vector vector = new Vector();try {Class.forName("org.gj t.mm.mysql.Driver");} catch (ClassNotFoundException e1) {JOptionPane.showMessageDialog(this, "连接数据库失败!");}try {con = DriverManager.getConnection("jdbc:mysql://localhost:3306/w age management","root","jxb");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 distinct * from wageinfo ,welfare where =");int k = -1;while (rs.next()) {++k;String no = rs.getString(1);String name = rs.getString(2);String jb = rs.getString(3);String jt = rs.getString(6);int sum= rs.getInt(3)+rs.getInt(6);table.setValueAt(no, k, 0);table.setValueAt(name, k, 1);table.setValueAt(jb, k, 3);table.setValueAt(jt, k, 2);table.setValueAt(sum,k,4);}}} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "查询失败!");}}if (b5.equals(e.getSource())) {// 返回GZGLZJM gl=new GZGLZJM();gl.create();f.dispose();}}}YGGLZJM.javapackage 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;public 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(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.cyan);p2.add(scrollpane);JPanel p3 = new JPanel();p.setLayout(new FlowLayout());splitpane.add(p1, splitpane.TOP);splitpane.add(p2, splitpane.BOTTOM);splitpane.setDividerLocation(50);p.setBackground(Color.CYAN);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);f.setBounds(200, 100, 500, 550);f.setResizable(true);// 可以调整界面大小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/w age management","root","jxb");sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);if (b1.equals(e.getSource())) {for (int i = 0; i < 50; i++)for (int j = 0; j < 4; j++)table.setValueAt("", i, j);//System.out.println(t1);rs = sql.executeQuery("select distinct * from wageinfo ,welfare,workerinfo where wageinfo.no=welfare.no and wageinfo.no=workerinfo.no and ='"+t1+"' and workerinfo.mi='"+t2+"'");int k = -1;while (rs.next()) {++k;String no = rs.getString(1);String name = rs.getString(2);String jb = rs.getString(3);String jt = rs.getString(6);int sum= rs.getInt(3)+rs.getInt(6);table.setValueAt(no, k, 0);table.setValueAt(name, k, 1);table.setValueAt(jb, k, 3);table.setValueAt(jt, k, 2);table.setValueAt(sum,k,4);}}} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "查询失败!");}}if (b2.equals(e.getSource())){// 修改密码XGMM xgmm=new XGMM();xgmm.create();}if (b3.equals(e.getSource())) {// 返回DL dl=new DL();dl.create();f.dispose();}}}YGGL.javapackage 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;public 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(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.cyan);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(tf3);p.add(new JLabel("月基本工资"));p.add(tf4);p.add(new JLabel("登陆密码"));p.add(tf5);p.add(new JLabel(" 在此处输入职工号点击查询删除"));p.add(tf6);splitpane.add(p1, splitpane.TOP);splitpane.add(p2, splitpane.BOTTOM);splitpane.setDividerLocation(50);p.setBackground(Color.CYAN);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);b4.addActionListener(this);b5.addActionListener(this);f.setBounds(200, 100, 600, 600);f.setResizable(true);// 可以调整界面大小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) {JOptionPane.showMessageDialog(this, "连接数据库失败!");}try {con = DriverManager.getConnection("jdbc:mysql://localhost:3306/w age management","root","jxb");sql = con.createStatement();String insertStr = "INSERT INTO welfare (no,name,jt)VALUES('"+tf1.getText()+"','"+tf2.getText()+"' ,'"+tf3.getText()+"');";sql.executeUpdate(insertStr);String insertStr1 = "INSERT INTO wageinfo (no,name,jb)VALUES('"+tf1.getText()+"','"+tf2.getText()+"' ,'"+tf4.getText()+"');";sql.executeUpdate(insertStr1);String insertStr2 = "INSERT INTO workerinfo (no,name,mi)VALUES('"+tf1.getText()+"','"+tf2.getText()+"' ,'"+tf5.getText()+"');";sql.executeUpdate(insertStr2);JOptionPane.showMessageDialog(this, "添加成功!");con.close();} 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) {JOptionPane.showMessageDialog(this, "连接数据库失败!");}try {con = DriverManager.getConnection("jdbc:mysql://localhost:3306/w age management","root","jxb");sql = con.createStatement();con = DriverManager.getConnection("jdbc:mysql://localhost:3306/w age management","root","jxb");sql = con.createStatement();String updateStr = "UPDATE welfare SET jt='"+tf3.getText()+"',name='"+tf2.getText()+"'whereno='"+tf1.getText()+"';";sql.executeUpdate(updateStr);String updateStr1 = "UPDATE wageinfo SETjb='"+tf4.getText()+"',name='"+tf2.getText()+"'whereno='"+tf1.getText()+"';";sql.executeUpdate(updateStr1);sql.executeUpdate(updateStr1);String updateStr2 = "UPDATE workerinfo SET name='"+tf2.getText()+"',mi='"+tf5.getText()+"'whereno='"+tf1.getText()+"';";sql.executeUpdate(updateStr2);JOptionPane.showMessageDialog(this, "修改成功!");con.close();} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "修改失败!");}}if (b3.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/w age management","root","jxb");sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);sql.executeUpdate("DELETE FROM wageinfo where no='"+tf6.getText()+"';");sql.executeUpdate("DELETE FROM welfare where no='"+tf6.getText()+"';");sql.executeUpdate("DELETE FROM workerinfo where no='"+tf6.getText()+"';");JOptionPane.showMessageDialo g(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/w age management","root","jxb");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 distinc t * from wageinfo ,welfare,workerinfo where wageinfo.no=welfare.no and wageinfo.no=workerinfo.no ;");int k = -1;while (rs.next()) {++k;String no = rs.getString(1);String name = rs.getString(2);String jb = rs.getString(3);String jt = rs.getString(6);int sum= rs.getInt(3)+rs.getInt(6);String mi = rs.getString(9);table.setValueAt(no, k, 0);table.setValueAt(name, k, 1);table.setValueAt(jb, k, 3);table.setValueAt(jt, k, 2);table.setValueAt(sum,k,4);table.setValueAt(mi,k,5);}}} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "查询失败!");}}if (b5.equals(e.getSource())) {// 返回GZGLZJM gl=new GZGLZJM();gl.create();f.dispose();}}}XGMM.javapackage 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;class XGMM extends DL implem ents ActionListener{JFrame frame = new JFrame("密码修改");JLabel label1 = new JLabel("原密码");JLabel label2 = new JLabel("新密码");JButton Button1 = new JButton("确定");JButton cancelButton = new JButton("返回");JPasswordField password = new JPasswordFiel d(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, "连接数据库失败!");。

相关文档
最新文档