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

数据库课程设计报告

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

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

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

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

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

2016年5月20日

目 录

企业工资管理系统

姓名

班级

学号

课程名称

指导教师

一.工资管理系统需求分析…………………………………

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第一层数据流图

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

2.总体设计

2.1数据库概念设计

有了数据流图,用E-R图来说明工资信息管理系统的数据库概念模式,如图

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

图2.1实体之间关系E-R图2.2功能模块

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

3.系统详细设计

3.1数据库逻辑设计

将以上E-R转换成如下关系模式

管理员(姓名,密码,权限)

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

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

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

表一:员工信息表:

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

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

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

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

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

no varchar(6),

name varchar(10),

jbgz int(11),

jt int(11),

mm varchar(10));

create table gly(

alname varchar(10),

glmm varchar(10),

power char(3));

3.2各模块功能

3.2.1职工信息管理系统

功能为:财务部门相关人员录入、修改、删除、查询员工个人信息

3.2.2职工工资管理系统

功能为:根据工资生成公式,按照员工的考勤情况及各种表现按月生成相应的工资;财务部门相关人员能录入、修改、删除、查询每个月每个员工的工资信息以及工资汇总;员工本人能查询自己的工资信息以及工资汇总;

3.2.3职工登陆查询系统

功能为:员工本人能通过用户名和密码查询自己的信息以及修改自己的密码;

4.系统实现

4.1界面截图

4.1.1主界面

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

4.1.2登录界面

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

4.1.3管理员管理工资界面

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

4.1.4信息录入,修改,删除,查询界面

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

4.1.5职工信息查询界面

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

4.1.6职工密码修改界面

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

4.2设计代码

注:以下代码只选取了各个页面内与数据库操作有关的内容

进入系统

public void actionPerformed(ActionEvent e)

{

t1 = new String(username.getText());

t2 = new String(password.getPassword());

if(e.getSource()==logonButton1){

try {

Connection con;

Statement sql;

ResultSet rs;

Class.forName("com.mysql.jdbc.Driver");

//Class.forName("com.mysql.jdbc.Driver").newInstance(); //驱动

con = DriverManager.getConnection(

"jdbc:mysql://localhost:3306/dba","root","123457");

sql=con.createStatement();

rs=sql.executeQuery("select glname,power,glmm from gly where glname='"+t1+"' and glmm='"+t2+"'");//查询

//power=rs.getString("power");

if(rs.next())

{

if(rs.getString("glname").equals(t1) && rs.getString("glmm").equals(t2))

{

name=t1;

GZGLZJM yg = new GZGLZJM(name);

frame.dispose();

yg.create();

//JOptionPane.showMessageDialog(new DL(), "登录成功!");//

if(JOptionPane.YES_OPTION==0){frame.dispose(); //

// }

}

}

else {

JOptionPane.showMessageDialog(this, "输入用户名或密码错误!");

}

con.close();

sql.close();

}catch (Exception e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

}

if (e.getSource()==logonButton2)

{

try {

Connection con;

Statement sql;

ResultSet rs;

Class.forName("com.mysql.jdbc.Driver");

//Class.forName("com.mysql.jdbc.Driver").newInstance(); //驱动

con = DriverManager.getConnection(

"jdbc:mysql://localhost:3306/dba","root","123457");

sql=con.createStatement();

rs=sql.executeQuery("select * from yg where name='"+t1+"' and mm='"+t2+"'");//查询

if(rs.next())

{

if(rs.getString("name").equals(t1) && rs.getString("mm").equals(t2))

{

name=t1;

YGDLJM yg = new YGDLJM(name);

frame.dispose();

yg.create();

JOptionPane.showMessageDialog(new DL(), "登录成功!");

if(JOptionPane.YES_OPTION==0){frame.dispose();

}

else {

JOptionPane.showMessageDialog(this, "输入用户名或密码错误!");

}

con.close();

sql.close();

}catch (Exception e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

}

if (cancelButton.equals(e.getSource())) // 退出

{

System.exit(0);

}

}

}

public void chaxun(){

Connection con;

Statement sql;

ResultSet rs;

//Vector vector = new Vector();

try {

Class.forName("com.mysql.jdbc.Driver");

} catch (ClassNotFoundException e1) {

JOptionPane.showMessageDialog(this, "连接数据库失败!");

}

try {

con = DriverManager.getConnection("jdbc:mysql://localhost:3306/d ba","root","123457");

sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,

ResultSet.TYPE_SCROLL_SENSITIVE);

//if (b4.equals("查询所有")) {

for (int i = 0; i < 50; i++)

for (int j = 0; j < 4; j++)

table.setValueAt("", i, j);

rs = sql.executeQuery("select no,name,jbgz,jt from yg");//distinct

int k = -1;

while (rs.next()) {

++k;

String no = rs.getString(1);

String name = rs.getString(2);

String jbgz = rs.getString(3);

String jt = rs.getString(4);

//int sum= rs.getInt(3)+rs.getInt(4);

table.setValueAt(no, k, 0);

table.setValueAt(name, k, 1);

table.setValueAt(jbgz, k, 2);

table.setValueAt(jt, k, 3);

//table.setValueAt(sum,k,4);

}

con.close();

sql.close();

}

catch (SQLException e1) {

if(chaxun.equals("chaxun"))

{

JOptionPane.showMessageDialog(this, "查询失败");

}

else{

JOptionPane.showMessageDialog(this, "刷新失败!");

}

}

}

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/dba","root","123457");

sql = con.createStatement();

rs=sql.executeQuery("select * from gly where glname='"+name+"';");

while(rs.next()){

power=rs.getString("power");

}

rs=null;

if(power.equals("aa")){

try{

String insertStr = "INSERT INTO yg (no,name,jbgz,jt)VALUES('"+tf1.getText()+"','"+tf2.getText ()+"','"+tf4.getText()+"','"+tf3.getText()+"');";

sql.executeUpdate(insertStr);

JOptionPane.showMessageDialog(this, "录入成功!");

}

catch(SQLException e2){

JOptionPane.showMessageDialog(this, "输入的数值有误");

}

tf1.setText("");tf2.setText("");tf3.setText("");tf4.set Text("");

chaxun();

}

else{

JOptionPane.showMessageDialog(this, "权限不足,不能操作!");

tf1.setText("");tf2.setText("");tf3.setText("");tf4.set Text("");

}

con.close();

sql.close();

}

catch (SQLException e1) {

JOptionPane.showMessageDialog(this, "录入失败!");

}

}

if (b2.equals(e.getSource())) {// 修改

Connection con;

Statement sql;

ResultSet rs;

try {

Class.forName("com.mysql.jdbc.Driver");

} catch (ClassNotFoundException e1) {

System.out.println("" + e1);

}

try {

con = DriverManager.getConnection("jdbc:mysql://localhost:3306/d ba","root","123457");

sql = con.createStatement();

rs=sql.executeQuery("select * from gly where glname='"+name+"';");

while(rs.next()){

power=rs.getString("power");

}

rs=null;

if(power.equals("aa")){

rs=sql.executeQuery("select * from yg where no='"+tf1.getText()+"'");

if(rs.next()){

String updateStr = "UPDATE yg SET jt='"+tf3.getText()+"',jbgz='"+tf4.getText()+"',name='"+tf 2.getText()+"'where no='"+tf1.getText()+"';";

sql.executeUpdate(updateStr);

JOptionPane.showMessageDialog(this, "修改成功!");

tf1.setText("");tf2.setText("");tf3.setText("");tf4.set Text("");

chaxun();

//chaxun();

con.close();

}

else{

JOptionPane.showMessageDialog(this, "查无此人");

tf1.setText("");tf2.setText("");tf3.setText("");tf4.set Text("");

}

}

else{

JOptionPane.showMessageDialog(this, "权限不足,不能操作!");

tf1.setText("");tf2.setText("");tf3.setText("");tf4.set Text("");

}

con.close();

sql.close();

} catch (SQLException e1) {

JOptionPane.showMessageDialog(this, "信息不错

误或不完整!");

}

}

if (b3.equals(e.getSource())) {// 删除

Connection con;

Statement sql;

ResultSet rs;

try {

Class.forName("com.mysql.jdbc.Driver");

} catch (ClassNotFoundException e1) {

System.out.println("" + e1);

}

try {

con = DriverManager.getConnection("jdbc:mysql://localhost:3306/d ba","root","123457");

sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,

ResultSet.TYPE_SCROLL_SENSITIVE);

rs=sql.executeQuery("select * from gly where glname='"+name+"';");

System.out.println("......."+name);

while(rs.next()){

power=rs.getString("power");

}

rs=null;

if(power.equals("aa")){

rs=sql.executeQuery("select * from yg where no='"+tf6.getText()+"'");

if(rs.next()){

sql.executeUpdate("DELETE FROM yg where no='"+tf6.getText()+"';");

//sql.executeUpdate("DELETE FROM yg where no='"+tf6.getText()+"';");

JOptionPane.showMessageDialog(this, "删除成功!");

tf6.setText("");

chaxun();

}

else{

JOptionPane.showMessageDialog(this,"查无此人");

tf6.setText("");

}

}

else{

JOptionPane.showMessageDialog(this, "权限不足,不能操作!");

tf6.setText("");

}

con.close();

sql.close();

} catch (SQLException e1) {

JOptionPane.showMessageDialog(this, "删除失败!");

}

}

if (b4.equals(e.getSource())) {// 查询全部

chaxun="chaxun";

chaxun();

}

if(b6.equals(e.getSource())){//查询单条信息

Connection con;

Statement sql;

ResultSet rs;

//Vector vector = new Vector();

try {

Class.forName("com.mysql.jdbc.Driver");

} catch (ClassNotFoundException e1) {

JOptionPane.showMessageDialog(this, "连接数据库失败!");

}

try {

con = DriverManager.getConnection("jdbc:mysql://localhost:3306/d ba","root","123457");

sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,

ResultSet.TYPE_SCROLL_SENSITIVE);

rs=sql.executeQuery("select * from yg where no='"+tf6.getText()+"'");

if(rs.next()){

for (int i = 0; i < 50; i++)

for (int j = 0; j < 4; j++)

table.setValueAt("", i, j);

rs = sql.executeQuery("select no,name,jbgz,jt from yg where

no='"+tf6.getText()+"';");//distinct

int k = 0;

while (rs.next()) {

String no = rs.getString(1);

String name = rs.getString(2);

String jbgz = rs.getString(3);

String jt = rs.getString(4);

//int sum= rs.getInt(3)+rs.getInt(4);

table.setValueAt(no, k, 0);

table.setValueAt(name, k, 1);

table.setValueAt(jbgz, k, 2);

table.setValueAt(jt, k, 3);

tf6.setText("");

}

}

else{

JOptionPane.showMessageDialog(this,"查无此人");

tf6.setText("");

}

//table.setValueAt(sum,k,4);

//}

con.close();

sql.close();

} catch (SQLException e1) {

JOptionPane.showMessageDialog(this, "查询失败!");

}

}

if (b5.equals(e.getSource())) {// 返回

GZGLZJM gl=new GZGLZJM(name);

gl.create();

this.dispose();

f.dispose();

}

}

}

public void actionPerformed(ActionEvent e) {

相关推荐
相关主题
热门推荐