[数据库员工工资管理系统]学校工资管理系统数据库
来源:软件设计师 发布时间:2020-03-23 点击:
成 绩 评 定 表
学生姓名
班级学号
专
业
电子信息
科学与技术
课程设计题目
员工工资管理系统
评
语
组长签字:
成绩
日期
年
月
日
课程设计任务书
学
院
信息科学与工程学院
专 业
电子信息科学与技术
学生姓名
班级学号
课程设计题目
员工工资管理系统
实践教学要求与任务:
一、 设计目的
学生根据所学的数据库原理与程序设计的知识,能够针对一个小型的数据库管理系统,进行系统的需求分析,系统设计,数据库设计,编码,测试等,完成题目要求的功能,从而达到掌握开发一个小型数据库的目的。
二、 设计内容
设计一个小型的员工工资管理系统,提供的信息包括:
员工基本信息:用于员工基本信息的管理,包括:员工号,工种号,工种名称,基本工资和部门。
员工工资基本信息:用于核对员工当月的工资,包括:员工号,工资,基本工资,奖金,工种号,总工资。
员工津贴信息:用于员工当月所得及所扣津贴的管理,包括:员工号,加班时间,加班费用,误工数,误工费。
员工补助信息:用于员工当月所得补助的管理,包括工种号,取暖补助,卫生补助,煤气补助,住房补助。
所设计的工资管理系统应该实现对员工基本信息的添加、删除和修改以及对工资基本信息,津贴信息和补助信息的查询和删除。
三、
工作计划与进度安排
讲解设计内容及要求
3月23 (1-4节)
编写程序代码
3月24 (1-4节)
程序测试及调试
3月24 (5-8节)
答辩验收
3月31 (1-4节)
指导教师:
年
月
日
专业负责人:
年
月
日
学院教学副院长:
年
月
日
目录
1.概述 4
1.1设计背景 4
1.2设计目的 4
1.3设计内容 5
2.需求分析 5
2.1功能分析 5
2.2 工作流图 5
2.3数据字典 5
2.3.1管理员用户表 6
2.3.2员工信息表 6
2.3.3员工工资信息表 6
2.3.4津贴管理表 7
2.3.5员工补助表 7
3.概念模型分析 7
3.1管理员用户表E-R图 7
3.2 员工信息表E-R图 8
3.3 员工工资信息表E-R图 8
3.4 津贴管理表E-R图 9
3.5 员工补助表E-R图 9
4.逻辑设计 9
4.1关系图 10
4.2视图 10
5.源代码及运行结果截图 11
5.1登录界面 11
5.1.1代码: 11
5.1.2截图: 13
5.2主窗体 14
5.2.1代码: 14
5.2.2截图: 16
5.3查询界面 16
5.3.1代码: 16
5.3.2截图: 18
5.4工资查询界面 18
5.4.1代码: 18
5.4.2截图: 19
5.5津贴查询界面 21
5.5.1代码: 21
5.5.2截图: 23
5.6补助查询界面 25
5.6.1代码: 25
5.6.2截图: 27
5.7显示所有界面 27
5.7.1代码: 27
5.7.2截图: 29
5.8添加员工界面 30
5.8.1代码: 30
5.8.2截图 32
5.9删除员工界面 33
5.9.1代码: 33
5.9.2截图: 35
5.10修改界面 36
5.10.1代码: 36
5.10.2截图: 39
6. 总结 40
7.参考文献 40
员工工资管理系统
1.概述
1.1设计背景
随着计算机技术的飞速发展和经济体制改革的不断深入,传统企业管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成员工工资管理工作。提高公司企业管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。基于C#与SQL server数据库技术建立一个职工工资管理系统,该系统提供了查询、增加记录、删除等功能,功能比较齐全,基本上能满足管理员和公司的要求。
1.2设计目的
(1)强化和巩固理论基础,掌握数据库编程的基本技巧;
(2)要求用C#语言或其它语言及相应开发环境,实现一个小型完整程序的设计与开发;
(3)巩固深化所学课程的知识,培养学生运用知识,分析和解决实际问题的能力。
1.3设计内容
(1) 进行需求分析,编写数据字典。
(2) 设计E-R图。
(3) 实现新进员工的数据录入以及对员工信息的删除和修改。
(4) 实现对所有员工的工资、津贴、补助的查询。
2.需求分析
2.1功能分析
该通用工资管理系统具备下列功能:管理员通过输入用户名和密码进入该系统后,可以进行一些基本查询(员工工资信息查询、员工津贴信息查询、员工补助信息查询)、员工信息管理(添加、删除、修改员工信息)。
具体功能的详细描述如下:
(1) 用户名和密码即可进入主窗体,在其中选择要进行的操作。
(2) 点击[进入查询界面]功能窗体,选择要查询的内容。
(3) 点击[工资查询界面]功能窗体,输入员工号即可查询员工工资信息。
(4) 点击[津贴查询界面]功能窗体,输入员工号即可查询员工津贴信息。
(5) 点击[补助查询界面]功能窗体,输入工种号即可查询员工补助信息。
(6) 点击[添加员工数据]功能窗体,输入员工号和基本工资,点击快速添加即可添加员工。
(7) 点击[修改员工数据]功能窗体,输入员工号即可修改员工信息表中的数据。
(8) 点击[删除员工数据]功能窗体,输入员工号或工种号,选择想要删除的选项,即可删除对应表中的员工数据。
(9) 点击[返回登录界面]功能窗体,即可返回到最初的登录界面
2.2 工作流图
操作
数据库
登录
用户
登录信息
寻找信息
错误信息
返回信息
2.3数据字典
数据库由以下五个数据表组成:第一个是管理员用户表,第二个是员工
信息表,第三个是员工工资信息表,第四个是津贴管理表,第五个是员工补助表,下面设计它们的具体字段。
2.3.1管理员用户表
2.3.2员工信息表
2.3.3员工工资信息表
2.3.4津贴管理表
2.3.5员工补助表
3.概念模型分析
密码
用户
用户号
3.1管理员用户表E-R图
管理员用户表
3.2 员工信息表E-R图
员工信息表
工种号
工种名称
工种号
部门
基本工资
3.3 员工工资信息表E-R图
员工工资信息表
员工号
工资
总工资
奖金
基本工资
工种号
3.4 津贴管理表E-R图
津贴管理表
员工号
加班时间
误工数
误工费
加班费用
3.5 员工补助表E-R图
员工补助表
工种号
取暖补助
卫生补助
煤气补助
住房补助
4.逻辑设计
根据上面概念结构设计阶段得到的E-R图,下一步应该将它转化为关系模型。可以得到对应的关系模式为:
管理员用户表(用户号,用户,密码)
员工信息表(员工号,工种号,工种名称,基本工资,部门)
员工工资信息表(员工号,工资,基本工资,奖金,工种号,总工资)
津贴管理表(员工号,加班时间,加班费用,误工数,误工费)
员工补助表(工种号,取暖补助,卫生补助,煤气补助,住房补助)
4.1关系图
4.2视图
5.源代码及运行结果截图
5.1登录界面
5.1.1代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace WindowsFormsApplication4
{
public partial class 登录 : Form
{
static string connString = "Data Source=.;Initial Catalog=职工工资管理系统;Integrated Security=True";
SqlConnection connection = new SqlConnection(connString);
public 登录()
{
InitializeComponent();
}
private void 登录_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
String strsql = string.Format(" select count(*) from 管理员用户表 where 用户='{0}'and 密码='{1}'", textBox1.Text.ToString(), textBox2.Text.ToString());
connection.Open();
SqlCommand cd = new SqlCommand(strsql, connection);
int count1 = (int)cd.ExecuteScalar();
try
{
if (count1 > 0)
{
MessageBox.Show("欢迎登录!");
主窗体 cx = new 主窗体();
cx.ShowDialog();
this.Visible = false;
}
else
{
MessageBox.Show("密码错误");
}
}
catch
{
MessageBox.Show("数据库连接失败");
}
finally
{
connection.Close();
}
}
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
5.1.2截图:
5.2主窗体
5.2.1代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace WindowsFormsApplication4
{
public partial class 主窗体 : Form
{
static string connString = "Data Source=.;Initial Catalog=职工工资管理系统;Integrated Security=True";
SqlConnection connection = new SqlConnection(connString);
public 主窗体()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
connection.Open();
this.Hide();
查询界面 cx = new 查询界面();
cx.ShowDialog();
}
private void button2_Click_1(object sender, EventArgs e)
{
connection.Open();
this.Hide();
显示所有界面 cx = new 显示所有界面();
cx.ShowDialog();
}
private void button3_Click_1(object sender, EventArgs e)
{
connection.Open();
this.Hide();
添加员工界面 cx = new 添加员工界面();
cx.ShowDialog();
}
private void button4_Click(object sender, EventArgs e)
{
connection.Open();
this.Hide();
删除员工界面 cx = new 删除员工界面();
cx.ShowDialog();
}
private void button6_Click(object sender, EventArgs e)
{
connection.Open();
this.Hide();
登录 cx = new 登录();
cx.ShowDialog();
}
private void button5_Click(object sender, EventArgs e)
{
connection.Open();
this.Hide();
修改界面 cx = new 修改界面();
cx.ShowDialog();
}
}
}
5.2.2截图:
5.3查询界面
5.3.1代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace WindowsFormsApplication4
{
public partial class 查询界面 : Form
{
static string connString = "Data Source=.;Initial Catalog=职工工资管理系统;Integrated Security=True";
SqlConnection connection = new SqlConnection(connString);
public 查询界面()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
connection.Open();
this.Hide();
工资查询界面 cx = new 工资查询界面();
cx.ShowDialog();
}
private void button2_Click_1(object sender, EventArgs e)
{
connection.Open();
this.Hide();
津贴查询界面 cx = new 津贴查询界面();
cx.ShowDialog();
}
private void button3_Click_1(object sender, EventArgs e)
{
connection.Open();
this.Hide();
补助查询界面 cx = new 补助查询界面();
cx.ShowDialog();
}
private void 查询界面_Load(object sender, EventArgs e)
{
}
private void button4_Click(object sender, EventArgs e)
{
connection.Open();
this.Hide();
主窗体 cx = new 主窗体();
cx.ShowDialog();
}
}
}
5.3.2截图:
5.4工资查询界面
5.4.1代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace WindowsFormsApplication4
{
public partial class 工资查询界面 : Form
{
static string connString = "Data Source=.;Initial Catalog=职工工资管理系统;Integrated Security=True";
SqlConnection connection = new SqlConnection(connString);
public 工资查询界面()
{
InitializeComponent();
}
private void Form3_Load(object sender, EventArgs e)
{
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
this.Hide();
查询界面 cx = new 查询界面();
cx.ShowDialog();
}
private void button1_Click(object sender, EventArgs e)
{
try
{
connection.Open();
SqlConnection connction = new SqlConnection();
SqlDataAdapter ad = new SqlDataAdapter("USE 职工工资管理系统 SELECT 员工号,工资,基本工资,奖金,工种号,总工资 FROM 员工工资信息表 where 员工号='" + textBox1.Text + "'", connection);
DataSet ds = new DataSet();
ad.Fill(ds, "员工工资信息表");
dataGridView1.DataSource = ds.Tables ["员工工资信息表"];
connection.Close();
}
catch (Exception ce)
{
MessageBox.Show(ce.Message);
}
finally
{
}
}
}
}
5.4.2截图:
5.5津贴查询界面
5.5.1代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace WindowsFormsApplication4
{
public partial class 津贴查询界面 : Form
{
static string connString = "Data Source=.;Initial Catalog=职工工资管理系统;Integrated Security=True";
SqlConnection connection = new SqlConnection(connString);
public 津贴查询界面()
{
InitializeComponent();
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
private void Form4_Load(object sender, EventArgs e)
{
}
private void dataGridView1_CellContentClick_2(object sender, DataGridViewCellEventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
try
{
connection.Open();
SqlConnection connction = new SqlConnection();
SqlDataAdapter ad1 = new SqlDataAdapter("USE 职工工资管理系统 SELECT 员工号,加班时间,加班费用,误工数,误工费 FROM 津贴管理表 where 员工号='" + textBox1.Text + "'", connection);
DataSet ds1 = new DataSet();
ad1.Fill(ds1, "津贴管理表");
dataGridView1.DataSource = ds1.Tables["津贴管理表"];
connection.Close();
}
catch (Exception ce)
{
MessageBox.Show(ce.Message);
}
finally
{ }
}
private void button2_Click(object sender, EventArgs e)
{
this.Hide();
查询界面 cx = new 查询界面();
cx.ShowDialog();
}
}
}
5.5.2截图:
5.6补助查询界面
5.6.1代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace WindowsFormsApplication4
{
public partial class 补助查询界面 : Form
{
static string connString = "Data Source=.;Initial Catalog=职工工资管理系统;Integrated Security=True";
SqlConnection connection = new SqlConnection(connString);
public 补助查询界面()
{
InitializeComponent();
}
private void Form8_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
try
{
connection.Open();
SqlConnection connction = new SqlConnection();
SqlDataAdapter ad1 = new SqlDataAdapter("USE 职工工资管理系统 SELECT 工种号,取暖补助,卫生补助,煤气补助,住房补助 FROM 员工补助表 where 工种号='" + textBox1.Text + "'", connection);
DataSet ds2 = new DataSet();
ad1.Fill(ds2, "员工补助表");
dataGridView1.DataSource = ds2.Tables["员工补助表"];
connection.Close();
}
catch (Exception ce)
{
MessageBox.Show(ce.Message);
}
finally
{ }
}
private void button2_Click(object sender, EventArgs e)
{
this.Hide();
查询界面 cx = new 查询界面();
cx.ShowDialog();
}
}
}
5.6.2截图:
5.7显示所有界面
5.7.1代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace WindowsFormsApplication4
{
public partial class 显示所有界面 : Form
{
static string conn String="Data Source=.;Initial Catalog=职工工资管理系统;Integrated Security=True";
SqlConnection connection = new SqlConnection(connString);
public 显示所有界面()
{
InitializeComponent();
}
private void Form7_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
Try
{
connection.Open();
SqlDataAdapter ad = new SqlDataAdapter("USE 职工工资管理系统 SELECT 员工号,工资,基本工资,奖金,工种号,总工资 FROM 员工工资信息表 ", connection);
DataSet ds = new DataSet();
ad.Fill(ds);
DataTable table = ds.Tables[0];
dataGridView1.DataSource = table;
}
catch (Exception ce)
{ MessageBox.Show(ce.Message); }
Finally
{}
}
private void button2_Click(object sender, EventArgs e)
{
this.Hide();
主窗体 cx = new 主窗体();
cx.ShowDialog();
}
}
}
5.7.2截图:
5.8添加员工界面
5.8.1代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace WindowsFormsApplication4
{
public partial class 添加员工界面 : Form
{
static string connString = "Data Source=.;Initial Catalog=职工工资管理系统;Integrated Security=True";
SqlConnection connection = new SqlConnection(connString);
public 添加员工界面()
{
InitializeComponent();
}
private void Form5_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
string 员工号 = textBox1.Text.Trim();
string 基本工资 = textBox2.Text.Trim();
SqlConnection connection = new SqlConnection();
connection.ConnectionString = connString;
try{
connection.Open();
string sql = string.Format("insert into 员工信息表(员工号,基本工资) values('{0}',{1})", textBox1.Text.ToString(), textBox2.Text.ToString());
SqlCommand cd = new SqlCommand(sql, connection);
cd.ExecuteNonQuery();
MessageBox.Show("添加成功!");
}
catch (Exception e2)
{
MessageBox.Show(e2.Message);
}
}
private void button2_Click(object sender, EventArgs e)
{
this.Hide();
主窗体 cx = new 主窗体();
cx.ShowDialog();
}
}
}
5.8.2截图
5.9删除员工界面
5.9.1代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace WindowsFormsApplication4
{
public partial class 删除员工界面 : Form
{
static string connString = "Data Source=.;Initial Catalog=职工工资管理系统;Integrated Security=True";
SqlConnection connection = new SqlConnection(connString);
public 删除员工界面()
{
InitializeComponent();
}
private void Form6_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
try
{
connection.Open();
string sql = string.Format("delete from 职工工资信息表 where 员工号='{0}'", textBox1.Text.ToString());
SqlCommand cmd = new SqlCommand(sql,connection );
cmd.ExecuteNonQuery();
MessageBox.Show("删除成功");
connection.Close();
}
catch (Exception ce)
{
MessageBox.Show(ce.Message);
}
finally
{ }
}
private void button2_Click(object sender, EventArgs e)
{
try
{
//SqlConnection connection = new SqlConnection();
connection.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "delete from 津贴管理表 where 员工号=" + this.textBox1.Text + "";
cmd.Connection = connection;
cmd.ExecuteNonQuery();
MessageBox.Show("删除成功");
connection.Close();
}
catch (Exception ce)
{
MessageBox.Show(ce.Message);
}
}
private void button3_Click(object sender, EventArgs e)
{
try
{
connection.Open();
string sql = string.Format("delete from 员工补助表 where 工种号='{0}'", textBox1.Text.ToString());
SqlCommand cmd = new SqlCommand(sql, connection);
cmd.ExecuteNonQuery();
MessageBox.Show("删除成功");
connection.Close();
}
catch (Exception ce)
{
MessageBox.Show(ce.Message);
}
finally
{ }
}
private void button4_Click(object sender, EventArgs e)
{
this.Hide();
主窗体 cx = new 主窗体();
cx.ShowDialog();
}
}
}
5.9.2截图:
删除前:
删除后:
5.10修改界面
5.10.1代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace WindowsFormsApplication4
{
public partial class 修改界面 : Form
{
static string connString = "Data Source=.;Initial Catalog=职工工资管理系统;Integrated Security=True";
SqlConnection connection = new SqlConnection(connString);
public 修改界面()
{
InitializeComponent();
}
private void 修改界面_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
string 员工号 = textBox1.Text.Trim();
string 工种号 = textBox2.Text.Trim();
string 工种名称 = textBox3.Text.Trim();
string 基本工资 = textBox4.Text.Trim();
string 部门 = textBox5.Text.Trim();
SqlConnection connection = new SqlConnection();
connection.ConnectionString = connString;
try
{
connection.Open();
string sql = string.Format("update 员工信息表 set 员工号='{0}',工种号='{1}',工种名称='{2}',基本工资='{3}',部门='{4}' where 员工号='{5}'",
textBox1 .Text .ToString (), textBox2.Text.ToString(), textBox3.Text.ToString(), textBox4.Text.ToString(),
textBox5.Text.ToString(),textBox1 .Text .ToString ());
SqlCommand cd = new SqlCommand(sql, connection);
cd.ExecuteNonQuery();
connection.Close();
MessageBox.Show("修改成功!");
}
catch (Exception e2)
{
MessageBox.Show(e2.Message);
}
}
private void label2_click(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
this.Hide();
主窗体 cx = new 主窗体();
cx.ShowDialog();
}
}
}
5.10.2截图:
修改前:
修改后:
6. 总结
该工资管理系统总体说来功能比较齐全,管理员和员工的一些基本的功能都已经具备;数据库的设计方面,建有管理员表、员工信息表、员工工资信息表、津贴管理表以及员工补助表。数据库中存在一些问题,如数据冗余,不够完善。
但在做课程设计的过程中也遇到很多问题,一开始时其中最大的问题是不知道用哪种编译工具,后来选择了Microsoft Visual Studio,在编写程序时,编写程序起来也有点困难,但是也越来越顺利了。经过调试后终于把自已想到实现的功能一步步实现了,通过这次课程设计使我收获了好多,熟悉了C#的运用,还复习了数据库相关语句的编写。
此次课程设计让我感受颇多:做一个数据库其实是一件很有趣的事情。想到自己可以创建一个小型的数据库系统,有点学习后的满足感。数据库的建立并非难事,难点在于数据库的连接和编程语言的选择。C#的功能很强大,这也是我以后需要学习的课程,于是我毅然选择了它。再就是建立数据库系统的步骤,我的经验就是要先总体规划,再局部整理。先做好总的界面,再通过该界面的布置一步一步实现其功能!
同时我体会到:熟练的编程能力,对知识运用的强烈渴望及其创新和团队的合作精神设做好一个大型数据库的基础。因此通过此次课程设计我明显感觉到自身的不足,并希望以后能更加用心地运用所学知识和学习新的知识。
7.参考文献
[1]萨师煊
王珊, 数据库系统概论. 北京:高等教育出版社,2002
[2]孙明丽 王斌,sql server 2005 数据库系统开发.北京,人民邮电出版社.2007.7
[3]苗雪兰.数据库系统原理及应用教程[M].北京,机械工业出版社.2007.8
[4]李敏波 黄静 张少华.C#高级编程(第3版),北京,清华大学出版社.2005.6
推荐访问:员工 工资管理系统 数据库