企业工资管理系统数据库课程设计.docx
《企业工资管理系统数据库课程设计.docx》由会员分享,可在线阅读,更多相关《企业工资管理系统数据库课程设计.docx(36页珍藏版)》请在冰豆网上搜索。
企业工资管理系统数据库课程设计
企业工资管理系统
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
3.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
第一章绪论
1.1数据库管理系统
数据库管理系统(DBMS)是指数据库系统中管理数据的软件系统。
DBMS是数据库系统的核心组成部分。
对数据库的一切操作,包括定义、更新及各种控制,都是通过DBMS进行的。
DBMS总是基于某种数据模型,可以把DBMS看成是某种数据模型在计算机系统上的具体实现。
根据数据模型的不同,DBMS可以分成层次型、网状型、关系型、面向对象型等。
MSsqlserve2000就是一种关系型数据库管理系统。
关系模型主要是用二维表格结构表达实体集,用外键表示实体间联系。
关系模型是由若干个关系模式组成的集合。
关系模式相当于前面提到的记录类型,每个关系实际上是一张二维表格。
关系模型和层次、网状模型的最大判别是用关键码而不是用指针导航数据,表格简单用户易懂,编程时并不涉及存储结构,访问技术等细节。
SQL语言是关系型数据库的标准化语言,已得到了广泛的应用。
1.2企业工资管理系统
企业工资管理是一项琐碎、复杂而又十分细致的工作,一般不允许发生差错。
最初的工资统计和发放都是使用人工方式处理,工作量大的时候,出现错误的机率也随之升高,不仅花费财务人员大量的时间,而且往往由于抄写不慎,或者由于计算的疏忽,出现工资发放错误的现象。
同时工资的发放具有较强的时间限制,必须严格按照单位规定的时间完成计算和发放工作。
正是企业工资管理的这种重复性、规律性、时间性,使得企业工资管理计算机化成为可能。
企业工资管理系统就是使用电脑代替大量的人工统计和计算,完成众多企业工资信息的处理,同时使用电脑还可以安全地、完整地保存大量的企业工资记录。
1.3开发工具
后台数据库采用SQLSERVER数据库服务器,前台开发语言可自选。
可设计成为C/S模式或B/S模式均可。
要求根据题目自行设计系统所使用的数据库及数据表,通过系统界面实现对数据库的各种查询、增、删、改等功能操作。
结合实际,经过实际的需求分析,采用功能强大的visualstdio20010作为前台设计工具,c#作为软件编程语言,sqlserver2008作为后台数据库开发工具。
本文先进行需求分析,详细论述了课题来源和本系统的开发目的,经过实现和测试各个环节,最后对本系统做出客观理性的评价,指明了它的现实作用、缺点以及系统的升级方向。
第二章员工工资管理系统设计分析
2.1应用需求与分析
企业工资管理系统的开发宗旨以及总体任务就是帮助企业提高工作效率,节省大量的人力和物力资源,实现企业工资信息管理的自动化、规范化和系统化。
系统最终实现的主要功能如下:
(1)员工及管理员的登录与注册;
(2)员工查询浏览工资的发布情况;
(3)管理员对工资信息进行维护管理操作;
(4)管理员对员工信息进行相关的管理操作;
2.2系统模块划分
开发这个系统的目的就是帮助企业的财务主管部门提高工作效率,实现企业工资信息管理的系统化、规范化和自动化。
能够和认识管理系统、考勤管理系统相结合,真正实现企业高效、科学、现代化的员工管理。
系统最终实现的主要功能如下。
·企业工资信息设置部分:
包括设置员工的基本工资和其他项目的金额,如奖金等。
·企业工资信息管理部分:
包括查询工资和查询现有职务及现有基本工资标准。
·系统部分:
包括添加用户。
2.3系统数据库设计
数据库是信息管理系统的后台,存储着所有的信息,在信息管理系统中有着很重要的地位。
数据库设计的好与坏,直接影响到这个系统的运行效率。
良好的数据库设计,可以提高数据信息的存储效率,确保数据信息的完整性和一致性。
针对企业工资信息管理系统的需求,通过对员工工资计算过程的内容分析,为本系统设计如下的数据项和数据结构:
表5-2为员工信息表。
此表中包含属性为:
员工号,员工姓名,员工职位,员工电话,月薪,奖金,处罚金。
表5-2员工信息表
字段名称
数据类型
字段说明
ygno
varchar(50)
员工号
ygname
varchar(10)
员工姓名
ygduty
varchar(50)
员工职位
ygtel
varchar(52)
员工电话
yuexin
varchar(50)
月薪
jiangjin
varchar(50)
奖金
chufa
varchar(50)
处罚金
表5-3为工资标准表。
此表中包含属性为:
员工职位,基本工资。
表5-3工资标准表
字段名称
数据类型
字段说明
ygduty
varchar(50)
员工职位
jbgz
varchar(50)
基本工资
表5-4为管理员信息表
此表中包含属性为:
管理员账号,密码。
表5-4管理员信息表
字段名称
数据类型
字段说明
username
varchar(50)
管理员账号
password
varchar(30)
密码
E-R图
第三章:
企业工资管理系统应用程序设计
3.1系统图
3.1.1系统的数据流图
数据流图(DFD,dataflowdiagram)是描述数据处理过程的有力工具。
数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。
本系统的数据流图如图3-1:
3.1.2系统的流程图
流程图是最古老的设计表达方式之一,大多数程序人员把画流程图作为编码的先导。
许多人在程序编好后也用流程图来表达程序的梗概,以便于同他人进行交流。
由于它具有能随意表达任何程序逻辑的优点而广泛流传。
本系统流程图如图3-2:
3.1.3系统模块的具体划分
企业工资管理系统主要分为以下几个模块:
管理员模块主要有管理员登陆,员工信息注册、删除、修改及查询,工资标准浏览,员工工资的查询等;用户主要模块有查询工资标准,查询现有职位等等。
系统功能模块图如下:
图4.2企业工资管理系统模块图
3.2跳转界面设计
当用户点击本企业工资管理系统时,首先跳出此界面,作为一个缓冲,吸引用户的眼球,设定了三秒钟的跳转时间,然后直接弹出登陆界面。
跳转界面及代码如下所示:
图3-1跳转界面
系统函数:
usingSystem.Data.SqlClient;
namespace企业工资管理系统
{
publicpartialclassloading:
Form
{
publicloading()
{
InitializeComponent();
}
privatevoidtimer1_Tick_1(objectsender,EventArgse)
{
if(this.Opacity>0.8)
{
this.Opacity=this.Opacity-0.005;
}
elseif(this.Opacity>0.01){this.Opacity=this.Opacity-0.04;}
else
{
this.timer1.Enabled=false;
this.Hide();
Form10login=newForm10();
login.Show();
}
}
}
3.3“选择登陆用户模块”详细设计
选择登陆用户模块的详细设计主要是供用户选择登陆的一个界面,用户选择登录的是管理员还是普通用户,然后选择是进入登陆模块还是主界面,从而进行相关的操作。
窗体及核心代码:
核心代码:
privatevoidbutton1_Click(objectsender,EventArgse)
{
this.Hide();
Form16f=newForm16();
f.Show();
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
this.Hide();
Form11f=newForm11();
f.Show();
}
privatevoidbutton3_Click(objectsender,EventArgse)
{
Application.Exit();
}
3.4管理员登陆模块
3.4.1“登录模块”详细设计
登录模块的详细设计主要是用户登录的一个界面,判断是否密码和用户名错误,进入后将面对的是主界面,从而进行相关的操作。
登录的界面主要由用户名和密码的信息,还有一些标题设置,确定和取消的按钮组成。
通过标题可以知道此系统的大概内容,由此,登录界面的设计完成。
窗体及核心代码:
图3-4-1登录界面
图3-4-2登录出错的提示1
图3-4-3登录出错的提示2
核心代码:
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringsqlconstr="DataSource=.;InitialCatalog=企业工资管理系统;IntegratedSecurity=True";
SqlConnectionsqlc=newSqlConnection(sqlconstr);if(textBox1.Text.Trim().Equals("")||textBox2.Text.Trim().Equals(""))
{
textBox1.Text="";
textBox2.Text="";
textBox1.Focus();
MessageBox.Show("用户名或密码不能为空");
return;
}
stringsqlcomstring="select*from管理员信息表whereusername='"+this.textBox1.Text+"'andpassword='"+this.textBox2.Text+"'";
try
{
sqlc.Open();
SqlCommandsqlcom=newSqlCommand(sqlcomstring,sqlc);
SqlDataReadersqlread=sqlcom.ExecuteReader();
if(sqlread.Read())
{
sqlread.Close();
sqlc.Close();
this.Hide();
Form3gljm=newForm3();
gljm.Show();
}
else
{
textBox1.Text="";
textBox2.Text="";
textBox1.Focus();
MessageBox.Show("该用户不存在!
");
sqlread.Close();
}
}
catch(SqlExceptionex)
{
MessageBox.Show(ex.Message,"密码或用户名错误!
");
}
finally
{
sqlc.Close();
}
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
Application.Exit();
}
3.4.2主窗体模块设计
如果用户输入的用户和密码都正确,则进入如下主窗体界面:
图3-5-1管理员主窗体界面
管理员主窗体界面核心代码:
privatevoid退出ToolStripMenuItem1_Click(objectsender,EventArgse)
{
Application.Exit();
}
privatevoid关于ToolStripMenuItem_Click(objectsender,EventArgse)
{
Form4f=newForm4();
f.Show();
}
privatevoid员工注册ToolStripMenuItem_Click(objectsender,EventArgse)
{
Form5f=newForm5();
f.Show();
}
privatevoid删¦除员工信息ToolStripMenuItem_Click(objectsender,EventArgse)
{
Form6f=newForm6();
f.Show();
}
privatevoid修改员工工资ToolStripMenuItem_Click(objectsender,EventArgse)
{
Form8f=newForm8();
f.Show();
}
privatevoid现有工资ToolStripMenuItem_Click(objectsender,EventArgse)
{
Form7f=newForm7();
f.Show();
}
privatevoid职位管理ToolStripMenuItem_Click(objectsender,EventArgse)
{
Form9f=newForm9();
f.Show();
}
privatevoid返回登录ToolStripMenuItem_Click(objectsender,EventArgse)
{
this.Hide();
Form10l=newForm10();
l.Show();
}
privatevoid帮助ToolStripMenuItem_Click(objectsender,EventArgse)
{
Form15f=newForm15();
f.Show();
}
⏹3.4.3员工注册界面及功能
图3-6员工注册界面
核心代码:
privatevoidbutton1_Click_1(objectsender,EventArgse)
{
SqlConnectionsqlconn=newSqlConnection("DataSource=.;InitialCatalog=企业工资管理系统;IntegratedSecurity=True");
try
{
if(textBox1.Text.Trim().Equals("")||textBox2.Text.Trim().Equals(""))
{
MessageBox.Show("工号和姓名不能为空!
");
return;
}
else
{
sqlconn.Open();
SqlDataAdaptersda=newSqlDataAdapter("select*from员工信息表whereygno='"+textBox1.Text.Trim()+"'",sqlconn);
DataTabledt=newDataTable();
sda.Fill(dt);
if(dt.Rows.Count!
=0)
{
MessageBox.Show("用户名已经存在!
");
return;
}
SqlDataAdaptersda1=newSqlDataAdapter("select*from员工信息表",sqlconn);
DataTabledt1=newDataTable();
sda1.Fill(dt1);
DataRowdr=dt1.NewRow();
dr["ygno"]=textBox1.Text.Trim();
dr["ygname"]=textBox2.Text.Trim();
dr["ygduty"]=textBox3.Text.Trim();
dr["ygtel"]=textBox4.Text.Trim();
dt1.Rows.Add(dr);
SqlCommandBuilderscb=newSqlCommandBuilder(sda1);
sda1.InsertCommand=scb.GetInsertCommand();
sda1.Update(dt1);
MessageBox.Show("注册成功!
");
}
}
catch(SqlExceptionex)
{
MessageBox.Show(ex.Message,"错误!
");
}
finally
{
sqlconn.Close();
}
}
privatevoidbutton2_Click_1(objectsender,EventArgse)
{
textBox1.Text="";
textBox2.Text="";
textBox3.Text="";
textBox4.Text="";
textBox1.Focus();
}
privatevoidbutton3_Click(objectsender,EventArgse)
{
this.Close();
}
privatevoidbutton4_Click(objectsender,EventArgse)
{
SqlConnectionsqlconn=newSqlConnection("DataSource=.;InitialCatalog=企业工资管理系统;IntegratedSecurity=True");
SqlDataAdaptersda=newSqlDataAdapter("select*from员工信息表",sqlconn);
DataTabledt=newDataTable();
sda.Fill(dt);
dataGridView1.DataSource=dt;
}
3.4.4删除员工信息界面及功能
图3-7删除员工信息界面
核心代码:
privatevoidbutton1_Click_1(objectsender,EventArgse)
{
SqlConnectionsqlconn=newSqlConnection("DataSource=.;InitialCatalog=企业工资管理系统;IntegratedSecurity=True");
if(textBox1.Text.Trim().Equals(""))
{
MessageBox.Show("员工号不能为空!
");
return;
}
SqlDataAdaptersda=newSqlDataAdapter("select*from员工信息表whereygno='"+textBox1.Text.Trim()+"'",sqlconn);
DataTabledt=newDataTable();
sda.Fill(dt);
if(dt.Rows.Count==0)
{
MessageBox.Show("员工不存在!
");
return;
}
MessageBoxButtonsmbox=MessageBoxButtons.OKCancel;
DialogResultresult;
result=MessageBox.Show("确定删除?
","删除记录",mbox,MessageBoxIcon.Question,MessageBoxDefaultButton.Button1);
if(result==DialogResult.OK)
{dt.Rows[0].Delete();
SqlCommandBuilderscb=newSqlCommandBuilder(sda);
sda.DeleteCommand=scb.GetDeleteCommand();
sda.Update(dt);
MessageBox.Show("删除成功");}
else
{return;}
}
privatevoidbutton2_Click_1(objectsender,EventArgse)
{textBox1.Text="";textBox1.Focus();}
privatevoidbutton3_Click(objectsender,EventArgse)
{this.Close();
}
privatevoidbutton4_Click(objectsender,EventArgse)
{
SqlConnectionsqlconn=newSqlConnection("DataSource=.;InitialCatalog=企业工资管理系统;IntegratedSecurity=True");
SqlDataAdaptersda=newSqlDataAdapter("select*from员工信息表",sqlconn);
DataTabledt=newDataTable();
sda.Fill(dt);
dataGridView1.DataSource=dt;
}
3.4.5修改及查询员工工资界面及功能
图3-8修改及查询员工工资界面
核心代码:
privateBoo