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

目录一、设计目的 (2)二、功能介绍 (2)三、程序流程 (2)四、设计步骤 (3)五、设计总结 (7)六、程序清单 (8)七、参考文献 (17)一、设计目的通过课程设计,使学生提高理论联系实际解决实际问题的能力;也使学生对基于面向对象的理论进行系统设计过程中的诸多具体问题有感性的认识和深入的理解;进而提高学生的学习兴趣为其将来顺利进入毕业环节作必要的准备。
二、功能介绍(1)具有新用户注册功能。
(2)具有注册用户登录功能。
(3)具有职工工资的录入功能,要求只录入工资各项,自动计算每个职工工资总额。
(4)具有数据查询功能,可以实现查询全部信息和按条件执行查询。
(5)具有按条件删除数据功能。
三、程序流程四、设计步骤、登陆界面进入系统首先进入登陆界面,输入账号和密码,点击登录就会进入职工工资管理系统,点击注册进入新用户注册界面,定义了局部变量String类型的user,password和pass分别记录界面输入的账号,密码和数据库查找的密码,定义了成员变量boolean型的bool记录输入账号和密码是否匹配。
图、职工工资管理系统登陆成功后进入的界面如图,界面有增删改查的功能。
widgetSelected()方法创建button的点击事件,创建DBHelper类的对象db连接数据库,进行查找,删除修改功能,增删改用update()方法,查询用query()方法。
图、全部查找功能点击右边的查询按钮可以查找出所有员工的工资信息如图,通过自己封装的连接数据库的类DBHelper类的对象db,传递sql语句查找数据库的所有信息,用getString()方法导出从数据库中查找到的数据,所得工资=基本工资+职位提成-50*迟到天数-100*旷工天数,通过查找的数据和自己定义的公式得到所得工资。
图、按条件查找功能在文本框中输入职工号,点击查找能找到对应职工的工资情况,如图。
用getText ()方法获得text文本框中的的输入信息,定义局部变量boolean型的数据bool,记录数据库中是否有对应的职工号,如果查到则为true,并且在表格中先用removeAll()方法清空表的信息,然后用sql语句找出text中的职工号对应的数据。
数据库课程设计—企业工资管理系统(java版+完整代码)

课程设计报告企业工资管理系统姓名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位小数,即是精确到分的计算。
工资管理系统毕业设计附源码

工资管理系统毕业设计附源码工资管理系统是一种用于管理和计算员工工资的软件系统。
它可以帮助企业自动化工资计算、发放和记录,提高工资管理的效率和准确性。
下面是一个简单的工资管理系统的毕业设计附源码的示例。
首先,我们需要设计数据库来存储员工信息和工资数据。
可以使用关系型数据库如MySQL或SQLite。
以下是一个简化的员工表和工资表的设计示例:员工表(employees):employee_id: 员工ID(主键)。
name: 员工姓名。
department: 所属部门。
position: 职位。
工资表(salaries):salary_id: 工资记录ID(主键)。
employee_id: 员工ID(外键)。
salary_date: 工资发放日期。
basic_salary: 基本工资。
bonus: 奖金。
deductions: 扣款。
total_salary: 总工资。
接下来,我们需要开发一个用户界面,让管理员可以输入员工信息和工资数据,并进行工资计算和管理。
可以使用Java编程语言和Swing图形用户界面库来实现。
以下是一个简单的Java代码示例:java.import javax.swing.;import java.awt.;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;public class SalaryManagementSystem extends JFrame {。
// 声明界面组件。
private JTextField idField, nameField, departmentField, positionField;private JTextField dateField, basicSalaryField, bonusField, deductionsField;private JTextArea resultArea;private JButton calculateButton, saveButton;public SalaryManagementSystem() {。
JAVA工资管理系统

关键词 工资管理系统,Access 数据库,Java
I
沈工程学院课程设计报告
目录
目 录
摘 要.............................................................................................................................I
课程设计任务书
课程设计题目:
工资管理系统
系
别
信息工程系 刘泉 15 王丹 02
班级 甘霖 25
计本 081 李芳 24
学生姓名 学 号
指导教师 孙宪丽、关颖 课程设计进行地点: 任 务 下 达 时 间: 2010
职称 副教授、讲师 实训 F 608 年 6 月 21 日
起止日期:2010 年 6 月 21 日起——至 2010 年 7 月 2 日止 教研室主任 费雅洁 2010 年 6 月 8 日批准
3.对设计说明书撰写内容、格式、字数的要求
⑴ 学生应撰写的内容为:中文摘要和关键词、目录、正文、参考文献等。课程设计说明 书(论文)的结构及各部分内容要求可参照《沈阳工程学院毕业设计(论文)撰写规范》执 行。应做到文理通顺,内容正确完整,书写工整,装订整齐。 ⑵ 装订格式 封面、任务书、成绩评审意见表、摘要和关键词、目录、正文、结论、致谢、参考文献。 ⑶ 课程设计说明书(论文)是体现和总结课程设计成果的载体,一般不应少于 3000 字。 打印时采用 A4 纸,页边距均为 20mm,正文采用宋体小四号字,行间距 18 磅。文中大标题 采用黑体小三号字,一级节标题采用黑体四号字,二级节标题采用黑体小四号字,三级节标 题采用黑体小四号字,表题与图题采用宋体五号字。沈 阳 工程 学 院课 程 设 计
工资管理系统数据库课程设计源码

一、课程设计主题介绍本次课程设计的主题为工资管理系统数据库,旨在通过设计一个完善的工资管理系统数据库,实现对公司员工工资信息的管理和查询功能。
工资管理系统是企业日常管理中不可或缺的一部分,良好的工资管理系统能够有效提高企业的管理效率和员工的工作积极性,具有重要的实际意义。
二、系统需求分析1. 用户需求:系统应具有权限管理、员工信息管理、薪资发放管理等功能,不同用户拥有不同的操作权限。
2. 数据需求:系统需要存储员工基本信息、薪资信息、考勤信息等数据。
3. 界面需求:系统应具有友好的操作界面,用户操作简单方便。
4. 安全需求:系统要保证数据的安全性,防止未授权人员获取敏感信息。
三、系统设计思路1. 数据库设计:设计员工表、薪资表、权限表等数据库表结构,确保数据存储的规范性和完整性。
2. 功能设计:设计权限管理模块、员工信息管理模块、薪资发放管理模块等系统功能。
3. 界面设计:设计简洁清晰的操作界面,使用户能够轻松上手。
4. 安全设计:采用加密算法保护用户信息,设置严格的权限控制,防止数据泄露和篡改。
四、系统技术选型本系统选用MySQL数据库存储数据,采用Python语言进行后台逻辑开发,使用Django框架进行Web应用开发,前端界面采用HTML、CSS和JavaScript技术实现。
五、系统功能实现1. 权限管理:管理员用户可以设置不同用户的权限,包括查看员工信息、修改薪资、导出报表等操作。
2. 员工信息管理:实现员工信息的增加、修改、删除、查询等功能,包括基本信息、通联方式、部门信息等。
3. 薪资发放管理:实现对员工薪资的发放、调整、查询等功能,包括工资条生成、导出等。
4. 数据统计报表:系统可以生成各类工资统计报表,包括月度工资报表、年度工资报表等。
六、系统调试和测试在系统开发完成后,对系统进行全面的功能测试和性能测试,确保系统稳定可靠、业务流程正常、响应速度合理等。
七、系统部署和运行系统部署到服务器上,对外提供访问服务,确保系统在日常运行中稳定运行。
数据库课程设计实验报告-工资管理系统

延安大学计算机学院实验报告专用纸实验室:软件工程实验室学号:实验日期: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。
javaMySql数据库课程设计(员工工资管理系统)

JavaMySQL数据库课程设计(员工工资管理系统)简介本文档是关于使用Java和MySQL数据库设计的员工工资管理系统的课程设计报告。
该系统旨在提供一个方便快捷的员工工资管理平台,帮助雇主轻松管理员工的工资信息。
功能概述•管理员功能1.登录/注销:管理员可以使用用户名和密码登录系统,并在不需要时注销账户。
2.添加员工:管理员可以添加新员工信息,包括姓名、性别、职位、工资等。
3.修改员工信息:管理员可以修改已有员工的个人信息,并更新工资等相关信息。
4.删除员工:管理员可以删除已有员工账号,同时删除与之相关的所有工资信息。
5.查询员工:管理员可以根据不同的条件查询员工信息,比如按部门、职位等。
6.导出工资表:管理员可以导出员工工资表,包括每个员工的姓名、工资、加班时长等信息。
•员工功能1.登录/注销:员工可以使用用户名和密码登录系统,并在不需要时注销账户。
2.查看个人信息:员工可以查看自己的个人信息,包括姓名、性别、职位、工资等。
3.修改个人信息:员工可以修改自己的个人信息,如联系方式、住址等。
4.查询工资信息:员工可以查询自己的工资信息,包括基本工资、奖金、扣款等。
5.查询加班记录:员工可以查询自己的加班记录,包括加班日期、加班时长等。
数据库设计本系统使用MySQL数据库管理员工工资信息,下面是数据库中的表格设计:表:员工信息表(employees)•字段:员工ID、姓名、性别、职位、工资•主键:员工ID•外键:无表:工资信息表(salaries)•字段:员工ID、基本工资、奖金、扣款、发放日期•主键:无(使用员工ID作为外键)•外键:员工ID(关联employees表)表:加班记录表(overtime_records)•字段:员工ID、加班日期、加班时长•主键:无(使用员工ID作为外键,与employees 表关联)•外键:员工ID(关联employees表)技术实现本系统采用Java作为开发语言,并使用MySQL作为后端数据库。
数据库课程设计—企业工资管理系统(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位小数,即是精确到分的计算。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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图来说明工资信息管理系统的数据库概念模式,如图2.2功能模块3.系统详细设计3.1数据库逻辑设计将以上E-R转换成如下关系模式员工(职工号,姓名,密码)工资(职工号,姓名,基本工资,)津贴(职工号,姓名,奖金)其中,标有下划线的字段表示为该数据表的主码,即主关键字。
在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。
工资信息管理系统数据库中各个表格的设计结果如下面的几个表格所示。
每个表格表示在数据库中的一个表。
表一:员工信息表: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 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();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.java//工资管理主界面package 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.getContentPane();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.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 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://localhost :3306/wage 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.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 dist inct * 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 * fromwageinfo ,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/wage 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 SET jb='"+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.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/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,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 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);。