《C#课程设计-简单人事管理系统的设计与实现(共30页).doc》由会员分享,可在线阅读,更多相关《C#课程设计-简单人事管理系统的设计与实现(共30页).doc(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上C#课程设计题目:人事档案管理系统姓名:张伟学号:班级:计科1班设计时间:2014/12/27目录前言随着计算机技术的发展,计算机已深入到各个领域,并且形成了功能强大,覆盖全球的信息传输网络。各个领域都向系统化,规范化,自动化的方向发展,值得工作效率,生活水平都日益提高。人事管理很多大小型公司,个体事业单位所必需的,人事信息管理系统包括对人事信息的统计,查询,更新,设想如果靠人工来完成这项工作,对于公司人数有几万甚至更多的,一定会造成特大的工作量,不仅人工难以实现,也会容易出现较多的信息查询,记录的错误,这样一定会给公司带来一定的损失。而计算机管理所无法比拟的优点检索
2、迅速,查找方便,可靠性高,存储量大,保密性好,寿命长,成本低等。这些能够大大提高人事管理的效率,也是企业的正规化,科学化管理的重要条件。一、系统概述1.1 现状描述21世纪以来计算机技术为主体的高新技术已经深入到我国经济发展的各个方面。在市场经济的大环境下,越来越多的领域逐渐产生对计算机的深层次的依赖,越来越多的人意识到计算机技术所带来的潜在的巨大价值。尤为突出的是各种企业,机构等的人事管理在计算机上的实现,然而如何利用计算机实现更加先进,高效率的管理手段,是现金管理企业面临的一项重大课题。为了解决这些复杂的难题,就必须设计一套科学,高效,严密,实用的人事管理系统。从而减轻工作人员的劳动强度,
3、减少企业的财政消耗。1.2 系统目标人事档案管理系统可以应用于人事管理工作,主要作用与如下三个方面目标: 1.支持企业实现规范化管理;2.支持企业高效率完成人事管理的日常任务,包括新部门的以及员工的增加时的人事档案的建立,员工职务的变动,在职离职退休和部门员工信息查询,修改等;3.支持企业进行人事管理及相关方面的科学决策并在系统开发任务的基础上进行系统的方案设计论证等。人事管理信息系统主要包含员工基本信息,工作情况,学历,职位情况等各方面信息,内容较简单。其设计主要是为了人事信息进行服务,对员工职位的变动,员工资料的查询,统计修改等功能。总的来说具有编辑,查询,员工管理等功能。设计的指导思想是
4、一切为了用户着想,界面美观大方,操作尽量简单明了,而且作为一个使用的应用程序要有良好的容错性,在用户出现错误时能尽量的给出警告,以便用户及时改正,使其支持企业实现规范化管理;支持企业高效率地完成劳动人事的日常业务。人事企业管理系统小是现代企业管理工作不可缺少的一部分,是适应现代企业制度需求,退订企业劳动人事管理走向科学化,规范化的必要条件。二、系统分析2.1 可行性分析对于一个系统的分析主要是从他的设计,实现可行性进行分析,包括三个方面的可行性:1.营运可行性由于心痛知识面向机关和事业单位内人士信息管理人员和在职开发的信心管理系统,尽管这些人员可能没有使用过类似的系统,但是以windows的友
5、好界面和系统的良好性的安全性设置,可以是人事信息管理员在专业人员的指导下迅速掌握系统的操作方法。同时用户也可以根据设计系统的用户操作说明书,来学习正确的操作本系统。2.技术可行性开发软件可行性:目前数据库开发管理软件多种多样,本数据库的信息管理系统是基于C#在.NET Framework环境下设计的,便于用户的快速掌握及及时实现操作的可能性。3.经济可行信目前的人事管理系统仍有完全以传统的人工管理方式进行管理,耗时多,效率低下并且及其容易出项错误,这样一来可能随时会造成无法估算的损失。而利用计算机实现人事管理以成为适应当今人事管理的方式。开发一套能满足人事管理信息系统的软件是十分必要的。实现人
6、事管理的自动化,在减少人为失误而造成损失的同时,也可以为管理部门节省更多的费用支出。2.2 数据流程三、系统设计3.1 模块结构设计人事信息管理系统是一个典型的数据库应用程序,有启动窗口,登录模块,系统主界面,系统管理米块,信息设置模块,人事管理模块等组成,具体功能模块如下:1. 系统管理模块该模块的主要功能是单位信息,管理员设置,登录等。2.信息设置模块模块主要是对部门信息,员工信息,用户信息,职称类型,文化程度等进行设置。3.人事管理模块人事管理模块主要功能是新员工的登记,员工离职,员工所在部门信息的查询及更新等。3.2 功能设计系统主要功能有以下几点:人员管理,部门信息的添加及查询,员工
7、信息的更新查询。3.3 数据库实现设计3.3.1 总体E-R图3.3.2 数据库实现代码1.部门信息表CREATE TABLE dbo.部门信息(部门编号 nvarchar(10) NOT NULL,部门名称 nvarchar(20) NULL,部门职能 nvarchar(10) NULL,上级部门编号 nvarchar(10) NULL, CONSTRAINT p部门号 PRIMARY KEY CLUSTERED (部门编号 ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW
8、_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY2.员工入职信息表CREATE TABLE dbo.员工入职信息(工作证号 nvarchar(10) NOT NULL,入职日期 datetime NULL,工作岗位 nvarchar(20) NULL,职务 nvarchar(20) NULL,员工编号 nvarchar(10) NULL,员工状态 char(10) NOT NULL,所在部门编号 nvarchar(10) NULL, CONSTRAINT p工作证号 PRIMARY KEY CLUSTERED (工作证
9、号 ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY3.员工基本信息CREATE TABLE dbo.员工基本信息(编号 nvarchar(10) NOT NULL,姓名 nvarchar(30) NULL,性别 char(2) NULL,照片 varbinary(1) NULL,民族 nvarchar(30) NULL,出生日期 datetime NU
10、LL,政治面貌 char(10) NULL,文化程度 char(10) NULL,婚姻状况 char(5) NULL,籍贯 nvarchar(10) NULL,身份证号 nvarchar(20) NULL,手机号码 char(11) NULL,档案存放地 nvarchar(20) NULL,户口所在地 nvarchar(20) NULL, CONSTRAINT p编号 PRIMARY KEY CLUSTERED (编号 ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW
11、_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY,UNIQUE NONCLUSTERED (身份证号 ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY4.用户信息表CREATE TABLE dbo.用户信息表(用户名 nvarchar(10) NULL,密码 nvarchar(10) NULL,用户类型 nva
12、rchar(10) NULL) ON PRIMARY四、系统的实现4.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.Threading.Tasks;using System.Windows.Forms;using System.Data.SqlClient;namespace SPMS publ
13、ic partial class Login : Form public Login() InitializeComponent(); private void label2_Click(object sender, EventArgs e) private void butCancel_Click(object sender, EventArgs e) texName.Text = ; textPwd.Text = ; texName.Focus(); private void Login_Load(object sender, EventArgs e) private void butLo
14、gin_Click(object sender, EventArgs e) string connString = Data Source=.;Initial Catalog=员工人事档案管理系统;Integrated Security=true; SqlConnection conn; string username = texName.Text.Trim(); string passord = textPwd.Text.Trim(); conn = new SqlConnection(connString); string sql = string.Format(select count(
15、*) from 用户信息表 where 用户名=0 and 密码=1 and 用户类型=2, username, passord,1); try conn.Open(); SqlCommand comm=new SqlCommand(sql,conn ); int num = (int)comm.ExecuteScalar(); if (num = 1) MessageBox.Show(欢迎进入员工档案管理系统!, 登录成功, MessageBoxButtons.OK, MessageBoxIcon.Information); SysUsers su = new SysUsers(); su.
16、Show(); this.Visible = false; else MessageBox.Show(您的帐号有误!, 登录失败, MessageBoxButtons.OK, MessageBoxIcon.Information); catch (Exception ex) MessageBox.Show(ex.Message,操作数据库出错!,MessageBoxButtons.OK,MessageBoxIcon.Information ); finally conn.Close(); private void butLogin2_Click(object sender, EventArgs
17、 e) string connString = Data Source=.;Initial Catalog=员工人事档案管理系统;Integrated Security=true; SqlConnection conn; string username = texName.Text.Trim(); string passord = textPwd.Text.Trim(); conn = new SqlConnection(connString); string sql = string.Format(select count(*) from 用户信息表 where 用户名=0 and 密码=1
18、 and 用户类型=2, username, passord, 2); try conn.Open(); SqlCommand comm = new SqlCommand(sql, conn); int num = (int)comm.ExecuteScalar(); if (num = 1) MessageBox.Show(欢迎进入个人档案查询系统!, 登录成功, MessageBoxButtons.OK, MessageBoxIcon.Information); NorUser no = new NorUser(username); no.Show(); this.Visible = fa
19、lse; else MessageBox.Show(您的帐号有误!, 登录成失败, MessageBoxButtons.OK, MessageBoxIcon.Information); catch (Exception ex) MessageBox.Show(ex.Message, 操作数据库出错!, MessageBoxButtons.OK, MessageBoxIcon.Information); finally conn.Close(); 2.系统操作界面using System;using System.Collections.Generic;using System.Componen
20、tModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using System.Data.SqlClient;namespace SPMS public partial class SysUsers : Form public SysUsers() InitializeComponent(); string connString = Data Source=.;Initial
21、 Catalog=员工人事档案管理系统;Integrated Security=true; SqlConnection conn; string sql; private void SUAddStaff_Click(object sender, EventArgs e) AddStaff addstaff = new AddStaff(); addstaff.Show(); SUMsg.Text = addstaff.Text; private void SysUsers_Load(object sender, EventArgs e) /treeView1.SelectedNode = tr
22、eeView1.Nodes1; / TODO: 这行代码将数据加载到表“员工人事档案管理系统DataSet.员工基本信息”中。您可以根据需要移动或删除它。 /* this.员工基本信息TableAdapter.Fill(this.员工人事档案管理系统DataSet.员工基本信息);*/ sql = select 编号,姓名,性别,民族,出生日期,工作证号,入职日期,工作岗位,员工状态,籍贯,婚姻状况,政治面貌,文化程度,部门名称 as 所在部门,身份证号,手机号码,档案存放地,户口所在地 from 员工基本信息,员工入职信息,部门信息 where 员工基本信息.编号 =员工入职信息.员工编号
23、and 所在部门编号=部门信息.部门编号; conn = new SqlConnection(connString); SqlDataAdapter da = new SqlDataAdapter(sql, conn); DataSet ds = new DataSet(); da.Fill(ds); dgvdata.DataSource = ds.Tables0; comState.SelectedIndex = 0; private void comState_SelectedIndexChanged(object sender, EventArgs e) sql = string.For
24、mat(select 编号,姓名,性别,民族,出生日期,工作证号,入职日期,工作岗位,员工状态,籍贯,婚姻状况,政治面貌,文化程度,部门名称 as 所在部门,身份证号,手机号码,档案存放地,户口所在地 from 员工基本信息,员工入职信息,部门信息 where 员工基本信息.编号 =员工入职信息.员工编号 and 部门信息.部门编号=员工入职信息.所在部门编号 and 员工状态=0 and 所在部门编号=(select 部门编号 from 部门信息 where 部门名称= 1), comState.SelectedItem.ToString(), treeView1.SelectedNode.
25、Text); conn = new SqlConnection(connString); SqlDataAdapter da2 = new SqlDataAdapter(sql, conn); DataSet ds2 = new DataSet(); da2.Fill(ds2); dgvdata.DataSource = ds2.Tables0; private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) if (treeView1.Nodes0.Checked) sql = select 编号,姓名,性别,民族
26、,出生日期,工作证号,入职日期,工作岗位,员工状态,籍贯,婚姻状况,政治面貌,文化程度,部门名称 as 所在部门,身份证号,手机号码,档案存放地,户口所在地 from 员工基本信息,员工入职信息,部门信息 where 员工基本信息.编号 =员工入职信息.员工编号 and 所在部门编号=部门信息.部门编号; else sql = string.Format(select 编号,姓名,性别,民族,出生日期,工作证号,入职日期,工作岗位,员工状态,籍贯,婚姻状况,政治面貌,文化程度,部门名称 as 所在部门,身份证号,手机号码,档案存放地,户口所在地 from 员工基本信息,员工入职信息,部门信息
27、where 员工基本信息.编号 =员工入职信息.员工编号 and 部门信息.部门编号=员工入职信息.所在部门编号 and 员工状态=0 and 所在部门编号=(select 部门编号 from 部门信息 where 部门名称= 1), comState.SelectedItem.ToString(), treeView1.SelectedNode.Text); conn = new SqlConnection(connString); SqlDataAdapter da3 = new SqlDataAdapter(sql, conn); DataSet ds3 = new DataSet();
28、 da3.Fill(ds3); dgvdata.DataSource = ds3.Tables0; private void dgvdata_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e) private void SUDelStaff_Click(object sender, EventArgs e) if (dgvdata.SelectedRows.Count = 0) MessageBox.Show(请选择您要删除的员工!); else DialogResult rss=MessageBox.Show(th
29、is,确定要删除已选中员工的信息!,提示,MessageBoxButtons.YesNo,MessageBoxIcon.Warning); switch (rss) case DialogResult.Yes: for (int i = dgvdata.SelectedRows.Count; i 0; i-) string num =Convert.ToString( dgvdata.SelectedRowsi - 1.Cells0.Value); dgvdata.Rows.RemoveAt(dgvdata.SelectedRowsi - 1.Index); string sql3 = del
30、ete from 员工基本信息 where 编号 = + num + ; /string sql4 = delete from 员工入职信息 where 员工编号 = + num + ; conn = new SqlConnection(connString); SqlCommand com1 = new SqlCommand(sql3, conn); /SqlCommand com2 = new SqlCommand(sql4, conn); conn.Open(); int count1 = com1.ExecuteNonQuery(); /int count2 = com2.Execut
31、eNonQuery(); if (count1 0) MessageBox.Show(成功删除选定员工的信息!); break; /SqlCommandBuilder sb = new SqlCommandBuilder(da); / da.Update(ds); private void SUAddMag_Click(object sender, EventArgs e) AddManagement am = new AddManagement(); am.Show(); SUMsg.Text = am.Text; private void SUDelMag_Click(object sen
32、der, EventArgs e) DelManagement d = new DelManagement(); d.Show(); SUMsg.Text = d.Text; private void SUExit_Click(object sender, EventArgs e) Application.Exit(); private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) private void tsbscre_Click(object sender, EventArgs e)
33、 sql = select 编号,姓名,性别,民族,出生日期,工作证号,入职日期,工作岗位,员工状态,籍贯,婚姻状况,政治面貌,文化程度,部门名称 as 所在部门,身份证号,手机号码,档案存放地,户口所在地 from 员工基本信息,员工入职信息,部门信息 where 员工基本信息.编号 =员工入职信息.员工编号 and 所在部门编号=部门信息.部门编号; conn = new SqlConnection(connString); SqlDataAdapter da3 = new SqlDataAdapter(sql, conn); DataSet ds3 = new DataSet(); da
34、3.Fill(ds3); dgvdata.DataSource = ds3.Tables0; private void tspAddStaff_Click(object sender, EventArgs e) AddStaff addstaff = new AddStaff(); addstaff.Show(); SUMsg.Text = addstaff.Text; private void tspAddmanage_Click(object sender, EventArgs e) AddManagement am = new AddManagement(); am.Show(); SU
35、Msg.Text = am.Text; private void tspDelManage_Click(object sender, EventArgs e) DelManagement d = new DelManagement(); d.Show(); SUMsg.Text = d.Text; private void 关于我们ToolStripMenuItem_Click(object sender, EventArgs e) Aboutus a = new Aboutus(); a.Show(); SUMsg.Text = a.Text; 4.2 系统实现1.登录界面图1 系统登录界面2.普通用户图2 普通用户操作3.系统用户登录图3 信息查询图4 员工信息添加 图5 部门信息添加图6 部门信息删除图7 系统版权信息参考文献【1】数据库系统概论 王珊 萨师煊 高等教育出版社【2】C#程序设计经典教程 罗福强 杨剑 张敏辉 清华大学出版社专心-专注-专业