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

上传人:小飞机 文档编号:1777375 上传时间:2022-12-18 格式:DOCX 页数:35 大小:1.21MB
返回 下载 相关 举报
企业工资管理系统数据库课程设计.docx_第1页
第1页 / 共35页
企业工资管理系统数据库课程设计.docx_第2页
第2页 / 共35页
企业工资管理系统数据库课程设计.docx_第3页
第3页 / 共35页
企业工资管理系统数据库课程设计.docx_第4页
第4页 / 共35页
企业工资管理系统数据库课程设计.docx_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《企业工资管理系统数据库课程设计.docx》由会员分享,可在线阅读,更多相关《企业工资管理系统数据库课程设计.docx(35页珍藏版)》请在三一办公上搜索。

1、数据库课程设计企业工资管理系统目 录第一章 绪论11.1数据库管理系统11.2企业工资管理系统11.3开发工具1第二章 员工工资管理系统设计分析22.1应用需求与分析22.2系统模块划分22.3系统数据库设计3第三章:企业工资管理系统应用程序设计 43.1系统图4 3.1.1系统的数据流图4 3.1.2系统的流程图5 3.1.3系统模块的具体划分63.2 跳转界面设计 73.2“选择登陆用户模块”详细设计 83.4 管理员登录103.4.1“登录模块”详细设计 103.4.2主窗体模块设计133.4.3员工注册界面及功能153.4.4删除员工信息界面及功能183.4.5修改及查询员工工资界面及

2、功能203.4.6工资设定界面及功能233.4.7职位管理界面及功能253.4.8其他功能283.5员工登陆模块 29第四章:运行与测试31 4.1系统运行 31 4.2系统测试 31第五章:实验心得32第一章 绪论1.1数据库管理系统数据库管理系统(DBMS)是指数据库系统中管理数据的软件系统。DBMS是数据库系统的核心组成部分。对数据库的一切操作,包括定义、更新及各种控制,都是通过DBMS进行的。DBMS总是基于某种数据模型,可以把DBMS看成是某种数据模型在计算机系统上的具体实现。根据数据模型的不同,DBMS可以分成层次型、网状型、关系型、面向对象型等。MSsqlserve2000就是一

3、种关系型数据库管理系统。关系模型主要是用二维表格结构表达实体集,用外键表示实体间联系。关系模型是由若干个关系模式组成的集合。关系模式相当于前面提到的记录类型,每个关系实际上是一张二维表格。关系模型和层次、网状模型的最大判别是用关键码而不是用指针导航数据,表格简单用户易懂,编程时并不涉及存储结构,访问技术等细节。SQL语言是关系型数据库的标准化语言,已得到了广泛的应用。1.2企业工资管理系统 企业工资管理是一项琐碎、复杂而又十分细致的工作,一般不允许发生差错。最初的工资统计和发放都是使用人工方式处理,工作量大的时候,出现错误的机率也随之升高,不仅花费财务人员大量的时间,而且往往由于抄写不慎,或者

4、由于计算的疏忽,出现工资发放错误的现象。同时工资的发放具有较强的时间限制,必须严格按照单位规定的时间完成计算和发放工作。正是企业工资管理的这种重复性、规律性、时间性,使得企业工资管理计算机化成为可能。企业工资管理系统就是使用电脑代替大量的人工统计和计算,完成众多企业工资信息的处理,同时使用电脑还可以安全地、完整地保存大量的企业工资记录。1.3开发工具后台数据库采用SQL SERVER数据库服务器,前台开发语言可自选。可设计成为C/S模式或B/S模式均可。要求根据题目自行设计系统所使用的数据库及数据表,通过系统界面实现对数据库的各种查询、增、删、改等功能操作。结合实际,经过实际的需求分析,采用功

5、能强大的visual stdio 20010作为前台设计工具,c#作为软件编程语言, sql server 2008作为后台数据库开发工具。本文先进行需求分析,详细论述了课题来源和本系统的开发目的,经过实现和测试各个环节,最后对本系统做出客观理性的评价,指明了它的现实作用、缺点以及系统的升级方向。第二章 员工工资管理系统设计分析2.1应用需求与分析企业工资管理系统的开发宗旨以及总体任务就是帮助企业提高工作效率,节省大量的人力和物力资源,实现企业工资信息管理的自动化、规范化和系统化。系统最终实现的主要功能如下:(1)员工及管理员的登录与注册;(2)员工查询浏览工资的发布情况;(3)管理员对工资信

6、息进行维护管理操作; (4)管理员对员工信息进行相关的管理操作;2.2系统模块划分开发这个系统的目的就是帮助企业的财务主管部门提高工作效率,实现企业工资信息管理的系统化、规范化和自动化。能够和认识管理系统、考勤管理系统相结合,真正实现企业高效、科学、现代化的员工管理。系统最终实现的主要功能如下。企业工资信息设置部分:包括设置员工的基本工资和其他项目的金额,如奖金等。企业工资信息管理部分:包括查询工资和查询现有职务及现有基本工资标准。系统部分:包括添加用户。2.3系统数据库设计数据库是信息管理系统的后台,存储着所有的信息,在信息管理系统中有着很重要的地位。数据库设计的好与坏,直接影响到这个系统的

7、运行效率。良好的数据库设计,可以提高数据信息的存储效率,确保数据信息的完整性和一致性。针对企业工资信息管理系统的需求,通过对员工工资计算过程的内容分析,为本系统设计如下的数据项和数据结构:表5-2为员工信息表。此表中包含属性为:员工号,员工姓名,员工职位,员工电话,月薪,奖金,处罚金 。表5-2 员工信息表字段名称数据类型字段说明ygnovarchar(50)员工号ygnamevarchar(10)员工姓名ygdutyvarchar(50)员工职位ygtelvarchar(52)员工电话yuexinvarchar(50)月薪jiangjinvarchar(50)奖金chufavarchar(5

8、0)处罚金表5-3为工资标准表。此表中包含属性为:员工职位,基本工资。表5-3工资标准表字段名称数据类型字段说明ygdutyvarchar(50)员工职位jbgzvarchar(50)基本工资 表5-4 为管理员信息表此表中包含属性为:管理员账号,密码。表5-4管理员信息表字段名称数据类型字段说明usernamevarchar(50)管理员账号passwordvarchar(30)密码E-R图jbgzygdutyygnameygdutyygno1:n决定工资标准表员工信息表ygtelchufajbgzyuexinjiangjin第三章:企业工资管理系统应用程序设计3.1系统图3.1.1系统的数

9、据流图数据流图(DFD,data flow diagram)是描述数据处理过程的有力工具。数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。本系统的数据流图如图3-1:企业工资管理系统管理员员工登 陆登 陆增、删、查、改员工、工资信息查询个人、工资信息是否否是3.1.2系统的流程图流程图是最古老的设计表达方式之一,大多数程序人员把画流程图作为编码的先导。许多人在程序编好后也用流程图来表达程序的梗概,以便于同他人进行交流。由于它具有能随意表达任何程序逻辑的优点而广泛流传。本系统流程图如图3-2: 员工管理员获取管理权限增、删、查、改员工个人信息查询和设定工资、职位

10、标准工资标准表员工个人信息表获取查询权限查询个人及工资信息查询工资标准登陆登陆拒绝拒绝选择修改员工信息选择修改标准选择查询信息选择查询标准3.1.3系统模块的具体划分企业工资管理系统主要分为以下几个模块:管理员模块主要有管理员登陆,员工信息注册、删除、修改及查询,工资标准浏览,员工工资的查询等;用户主要模块有查询工资标准,查询现有职位等等。企业工资管理系统系统功能模块图如下:管理员管理员工管理工资标准员工信息工资职位信息维护退出员工信息退出信息维护工资职位工资标准返回登陆查询信息查询工资职位管理帮助关于修改查询帮助关于职位管理返回登陆修改查询删除员工注册员工图4.2企业工资管理系统模块图3.2

11、跳转界面设计当用户点击本企业工资管理系统时,首先跳出此界面,作为一个缓冲,吸引用户的眼球,设定了三秒钟的跳转时间,然后直接弹出登陆界面。跳转界面及代码如下所示:图3-1 跳转界面系统函数:using System.Data.SqlClient;namespace 企业工资管理系统 public partial class loading : Form public loading() InitializeComponent(); private void timer1_Tick_1(object sender, EventArgs e) if (this.Opacity 0.8) this.O

12、pacity = this.Opacity - 0.005; else if (this.Opacity 0.01) this.Opacity = this.Opacity - 0.04; else this.timer1.Enabled = false; this.Hide(); Form10 login = new Form10(); login.Show(); 3.3“选择登陆用户模块”详细设计选择登陆用户模块的详细设计主要是供用户选择登陆的一个界面,用户选择登录的是管理员还是普通用户,然后选择是进入登陆模块还是主界面,从而进行相关的操作。窗体及核心代码:核心代码: private vo

13、id button1_Click(object sender, EventArgs e) this.Hide(); Form16 f = new Form16(); f.Show(); private void button2_Click(object sender, EventArgs e) this.Hide(); Form11 f = new Form11(); f.Show(); private void button3_Click(object sender, EventArgs e) Application.Exit (); 3.4管理员登陆模块3.4.1“登录模块”详细设计 登录

14、模块的详细设计主要是用户登录的一个界面,判断是否密码和用户名错误,进入后将面对的是主界面,从而进行相关的操作。登录的界面主要由用户名和密码的信息,还有一些标题设置,确定和取消的按钮组成。通过标题可以知道此系统的大概内容,由此,登录界面的设计完成。窗体及核心代码:图3-4-1登录界面图3-4-2登录出错的提示1图3-4-3登录出错的提示2核心代码:private void button1_Click(object sender, EventArgs e) string sqlconstr = Data Source=.;Initial Catalog=企业工资管理系统;Integrated Se

15、curity=True; SqlConnection sqlc = new SqlConnection(sqlconstr); if(textBox1.Text.Trim().Equals()|textBox2.Text.Trim().Equals() textBox1.Text = ; textBox2.Text = ; textBox1.Focus(); MessageBox.Show(用户名或密码不能为空); return; string sqlcomstring = select * from 管理员信息表 where username= + this.textBox1.Text +

16、and password= + this.textBox2.Text + ; try sqlc.Open(); SqlCommand sqlcom = new SqlCommand(sqlcomstring, sqlc); SqlDataReader sqlread = sqlcom.ExecuteReader(); if (sqlread.Read() sqlread.Close(); sqlc.Close(); this.Hide(); Form3 gljm = new Form3(); gljm.Show(); else textBox1.Text = ; textBox2.Text =

17、 ; textBox1.Focus(); MessageBox.Show( 该用户不存在!); sqlread.Close(); catch (SqlException ex) MessageBox.Show(ex.Message, 密码或用户名错误!); finally sqlc.Close(); private void button2_Click(object sender, EventArgs e) Application.Exit(); 3.4.2主窗体模块设计如果用户输入的用户和密码都正确,则进入如下主窗体界面:图3-5-1管理员主窗体界面管理员主窗体界面核心代码:private

18、void 退出ToolStripMenuItem1_Click(object sender, EventArgs e) Application.Exit(); private void 关于ToolStripMenuItem_Click(object sender, EventArgs e) Form4 f = new Form4(); f.Show(); private void 员工注册ToolStripMenuItem_Click(object sender, EventArgs e) Form5 f = new Form5(); f.Show(); private void 删除员工信

19、息ToolStripMenuItem_Click(object sender, EventArgs e) Form6 f = new Form6(); f.Show(); private void 修改员工工资ToolStripMenuItem_Click(object sender, EventArgs e) Form8 f = new Form8(); f.Show(); private void 现有工资ToolStripMenuItem_Click(object sender, EventArgs e) Form7 f = new Form7(); f.Show(); private

20、void 职位管理ToolStripMenuItem_Click(object sender, EventArgs e) Form9 f = new Form9(); f.Show(); private void 返回登录ToolStripMenuItem_Click(object sender, EventArgs e) this.Hide(); Form10 l = new Form10(); l.Show(); private void 帮助ToolStripMenuItem_Click(object sender, EventArgs e) Form15 f = new Form15(

21、); f.Show(); n 3.4.3员工注册界面及功能图3-6员工注册界面核心代码:private void button1_Click_1(object sender, EventArgs e) SqlConnection sqlconn = new SqlConnection(Data Source=.;Initial Catalog=企业工资管理系统;Integrated Security=True); try if (textBox1.Text.Trim().Equals() | textBox2.Text.Trim().Equals() MessageBox.Show(工号和姓名

22、不能为空!); return; else sqlconn.Open(); SqlDataAdapter sda = new SqlDataAdapter(select * from 员工信息表 where ygno= + textBox1.Text.Trim() + , sqlconn); DataTable dt = new DataTable(); sda.Fill(dt); if (dt.Rows.Count != 0) MessageBox.Show(用户名已经存在!); return; SqlDataAdapter sda1 = new SqlDataAdapter(select *

23、 from 员工信息表, sqlconn); DataTable dt1 = new DataTable(); sda1.Fill(dt1); DataRow dr = dt1.NewRow(); drygno = textBox1.Text.Trim(); drygname = textBox2.Text.Trim(); drygduty = textBox3.Text.Trim(); drygtel = textBox4.Text.Trim(); dt1.Rows.Add(dr); SqlCommandBuilder scb = new SqlCommandBuilder(sda1); s

24、da1.InsertCommand = scb.GetInsertCommand(); sda1.Update(dt1); MessageBox.Show(注册成功!); catch (SqlException ex) MessageBox.Show(ex.Message, 错误!); finally sqlconn.Close(); private void button2_Click_1(object sender, EventArgs e) textBox1.Text=; textBox2.Text=; textBox3.Text=; textBox4.Text=; textBox1 .

25、Focus (); private void button3_Click(object sender, EventArgs e) this.Close(); private void button4_Click(object sender, EventArgs e) SqlConnection sqlconn = new SqlConnection(Data Source=.;Initial Catalog=企业工资管理系统;Integrated Security=True); SqlDataAdapter sda = new SqlDataAdapter(select * from 员工信息

26、表, sqlconn); DataTable dt = new DataTable(); sda.Fill(dt); dataGridView1.DataSource = dt; 3.4.4删除员工信息界面及功能图3-7删除员工信息界面核心代码:private void button1_Click_1(object sender, EventArgs e) SqlConnection sqlconn = new SqlConnection(Data Source=.;Initial Catalog=企业工资管理系统;Integrated Security=True); if (textBox1

27、.Text.Trim().Equals() MessageBox.Show(员工号不能为空!); return; SqlDataAdapter sda = new SqlDataAdapter(select * from 员工信息表 where ygno= + textBox1.Text.Trim() + , sqlconn); DataTable dt = new DataTable(); sda.Fill(dt); if (dt.Rows.Count = 0) MessageBox.Show(员工不存在!); return; MessageBoxButtons mbox = Message

28、BoxButtons.OKCancel; DialogResult result; result = MessageBox.Show(确定删除? , 删除记录, mbox, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1); if (result = DialogResult.OK) dt.Rows0.Delete(); SqlCommandBuilder scb = new SqlCommandBuilder(sda); sda.DeleteCommand = scb.GetDeleteCommand(); sda.Updat

29、e(dt); MessageBox.Show(删除成功); else return; private void button2_Click_1(object sender, EventArgs e) textBox1.Text = ; textBox1.Focus(); private void button3_Click(object sender, EventArgs e) this.Close(); private void button4_Click(object sender, EventArgs e) SqlConnection sqlconn = new SqlConnectio

30、n(Data Source=.;Initial Catalog=企业工资管理系统;Integrated Security=True); SqlDataAdapter sda = new SqlDataAdapter(select * from 员工信息表, sqlconn); DataTable dt = new DataTable(); sda.Fill(dt); dataGridView1.DataSource = dt; 3.4.5修改及查询员工工资界面及功能图3-8修改及查询员工工资界面核心代码:private Boolean ishaved() SqlConnection sqlco

31、nn = new SqlConnection(Data Source=.;Initial Catalog=企业工资管理系统;Integrated Security=True); SqlDataAdapter sda = new SqlDataAdapter(select * from 员工信息表 where ygno= + textBox1.Text.Trim() + , sqlconn); DataTable dt = new DataTable(); sda.Fill(dt); if (dt.Rows.Count = 0) MessageBox.Show(员工不存在!); return f

32、alse; else button1.Enabled = true; return true; private void button1_Click_1(object sender, EventArgs e) SqlConnection sqlconn = new SqlConnection(Data Source=.;Initial Catalog=企业工资管理系统;Integrated Security=True); if (!ishaved() return; SqlDataAdapter sda = new SqlDataAdapter(select * from 员工信息表 where ygno= + textBox1.Text.Trim() + , sqlconn); DataTable dt = new DataTable(); sda.Fill(dt); dt.Rows0ygname = textBox2.Text.Trim(); dt.Rows0ygduty = textBox3.Text.Trim(); dt.Rows0ygtel = textBox4.Text.Trim(); dt.Rows0yuexin = textBox5.Text.Trim(); dt.Rows0jiangjin = textBox6.Text.Trim(); dt.Rows0

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号