C#课程设计简单人事管理系统的设计与实现.docx
- 文档编号:4509330
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:19
- 大小:509.40KB
C#课程设计简单人事管理系统的设计与实现.docx
《C#课程设计简单人事管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《C#课程设计简单人事管理系统的设计与实现.docx(19页珍藏版)》请在冰豆网上搜索。
C#课程设计简单人事管理系统的设计与实现
C#课程设计
题目:
人事档案管理系统
姓名:
张伟
学号:
20122392
班级:
计科1班
设计时间:
2014/12/27
前言
随着计算机技术的发展,计算机已深入到各个领域,并且形成了功能强大,覆盖全球的信息传输网络。
各个领域都向系统化,规范化,自动化的方向发展,值得工作效率,生活水平都日益提高。
人事管理很多大小型公司,个体事业单位所必需的,人事信息管理系统包括对人事信息的统计,查询,更新,设想如果靠人工来完成这项工作,对于公司人数有几万甚至更多的,一定会造成特大的工作量,不仅人工难以实现,也会容易出现较多的信息查询,记录的错误,这样一定会给公司带来一定的损失。
而计算机管理所无法比拟的优点检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长,成本低等。
这些能够大大提高人事管理的效率,也是企业的正规化,科学化管理的重要条件。
一、系统概述
1。
1现状描述
21世纪以来计算机技术为主体的高新技术已经深入到我国经济发展的各个方面。
在市场经济的大环境下,越来越多的领域逐渐产生对计算机的深层次的依赖,越来越多的人意识到计算机技术所带来的潜在的巨大价值。
尤为突出的是各种企业,机构等的人事管理在计算机上的实现,然而如何利用计算机实现更加先进,高效率的管理手段,是现金管理企业面临的一项重大课题.为了解决这些复杂的难题,就必须设计一套科学,高效,严密,实用的人事管理系统。
从而减轻工作人员的劳动强度,减少企业的财政消耗.
1。
2系统目标
人事档案管理系统可以应用于人事管理工作,主要作用与如下三个方面目标:
1。
支持企业实现规范化管理;
2。
支持企业高效率完成人事管理的日常任务,包括新部门的以及员工的增加时的人事档案的建立,员工职务的变动,在职离职退休和部门员工信息查询,修改等;
3。
支持企业进行人事管理及相关方面的科学决策并在系统开发任务的基础上进行系统的方案设计论证等.
人事管理信息系统主要包含员工基本信息,工作情况,学历,职位情况等各方面信息,内容较简单。
其设计主要是为了人事信息进行服务,对员工职位的变动,员工资料的查询,统计修改等功能。
总的来说具有编辑,查询,员工管理等功能。
设计的指导思想是一切为了用户着想,界面美观大方,操作尽量简单明了,而且作为一个使用的应用程序要有良好的容错性,在用户出现错误时能尽量的给出警告,以便用户及时改正,使其支持企业实现规范化管理;支持企业高效率地完成劳动人事的日常业务。
人事企业管理系统小是现代企业管理工作不可缺少的一部分,是适应现代企业制度需求,退订企业劳动人事管理走向科学化,规范化的必要条件。
二、系统分析
2.1可行性分析
对于一个系统的分析主要是从他的设计,实现可行性进行分析,包括三个方面的可行性:
1。
营运可行性
由于心痛知识面向机关和事业单位内人士信息管理人员和在职开发的信心管理系统,尽管这些人员可能没有使用过类似的系统,但是以windows的友好界面和系统的良好性的安全性设置,可以是人事信息管理员在专业人员的指导下迅速掌握系统的操作方法.同时用户也可以根据设计系统的用户操作说明书,来学习正确的操作本系统。
2.技术可行性
开发软件可行性:
目前数据库开发管理软件多种多样,本数据库的信息管理系统是基于C#在.NETFramework环境下设计的,便于用户的快速掌握及及时实现操作的可能性。
3。
经济可行信
目前的人事管理系统仍有完全以传统的人工管理方式进行管理,耗时多,效率低下并且及其容易出项错误,这样一来可能随时会造成无法估算的损失.而利用计算机实现人事管理以成为适应当今人事管理的方式.开发一套能满足人事管理信息系统的软件是十分必要的。
实现人事管理的自动化,在减少人为失误而造成损失的同时,也可以为管理部门节省更多的费用支出。
2。
2数据流程
三、系统设计
3。
1模块结构设计
人事信息管理系统是一个典型的数据库应用程序,有启动窗口,登录模块,系统主界面,系统管理米块,信息设置模块,人事管理模块等组成,具体功能模块如下:
1。
系统管理模块
该模块的主要功能是单位信息,管理员设置,登录等。
2.信息设置模块
模块主要是对部门信息,员工信息,用户信息,职称类型,文化程度等进行设置。
3.人事管理模块
人事管理模块主要功能是新员工的登记,员工离职,员工所在部门信息的查询及更新等。
3。
2功能设计
系统主要功能有以下几点:
人员管理,部门信息的添加及查询,员工信息的更新查询。
3。
3数据库实现设计
3。
3.1总体E-R图
3。
3。
2数据库实现代码
1。
部门信息表
CREATETABLE[dbo].[部门信息](
[部门编号][nvarchar](10)NOTNULL,
[部门名称][nvarchar](20)NULL,
[部门职能][nvarchar](10)NULL,
[上级部门编号][nvarchar](10)NULL,
CONSTRAINT[p部门号]PRIMARYKEYCLUSTERED
(
[部门编号]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
2.员工入职信息表
CREATETABLE[dbo]。
[员工入职信息](
[工作证号][nvarchar](10)NOTNULL,
[入职日期][datetime]NULL,
[工作岗位][nvarchar](20)NULL,
[职务][nvarchar](20)NULL,
[员工编号][nvarchar](10)NULL,
[员工状态][char](10)NOTNULL,
[所在部门编号][nvarchar](10)NULL,
CONSTRAINT[p工作证号]PRIMARYKEYCLUSTERED
(
[工作证号]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
3。
员工基本信息
CREATETABLE[dbo]。
[员工基本信息](
[编号][nvarchar](10)NOTNULL,
[姓名][nvarchar](30)NULL,
[性别][char]
(2)NULL,
[照片][varbinary]
(1)NULL,
[民族][nvarchar](30)NULL,
[出生日期][datetime]NULL,
[政治面貌][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编号]PRIMARYKEYCLUSTERED
(
[编号]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY],
UNIQUENONCLUSTERED
(
[身份证号]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
4.用户信息表
CREATETABLE[dbo]。
[用户信息表](
[用户名][nvarchar](10)NULL,
[密码][nvarchar](10)NULL,
[用户类型][nvarchar](10)NULL
)ON[PRIMARY]
四、系统的实现
4.1详细设计方式
1.用户登录
usingSystem;
usingSystem。
Collections.Generic;
usingSystem。
ComponentModel;
usingSystem.Data;
usingSystem。
Drawing;
usingSystem。
Linq;
usingSystem。
Text;
usingSystem。
Threading.Tasks;
usingSystem.Windows.Forms;
usingSystem。
Data。
SqlClient;
namespaceSPMS
{
publicpartialclassLogin:
Form
{
publicLogin()
{
InitializeComponent();
}
privatevoidlabel2_Click(objectsender,EventArgse)
{
}
privatevoidbutCancel_Click(objectsender,EventArgse)
{
texName.Text=””;
textPwd。
Text="”;
texName。
Focus();
}
privatevoidLogin_Load(objectsender,EventArgse)
{
}
privatevoidbutLogin_Click(objectsender,EventArgse)
{
stringconnString="DataSource=。
;InitialCatalog=员工人事档案管理系统;IntegratedSecurity=true";
SqlConnectionconn;
stringusername=texName.Text.Trim();
stringpassord=textPwd.Text.Trim();
conn=newSqlConnection(connString);
stringsql=string。
Format("selectcount(*)from用户信息表where用户名=’{0}’and密码=’{1}'and用户类型=’{2}’",username,passord,1);
try
{
conn.Open();
SqlCommandcomm=newSqlCommand(sql,conn);
intnum=(int)comm。
ExecuteScalar();
if(num==1)
{
MessageBox.Show("欢迎进入员工档案管理系统!
",”登录成功",MessageBoxButtons.OK,MessageBoxIcon。
Information);
SysUserssu=newSysUsers();
su.Show();
this.Visible=false;
}
else
{MessageBox.Show(”您的帐号有误!
”,”登录失败",MessageBoxButtons.OK,MessageBoxIcon。
Information);
}
}
catch(Exceptionex)
{MessageBox。
Show(ex。
Message,”操作数据库出错!
",MessageBoxButtons。
OK,MessageBoxIcon.Information);}
finally{conn.Close();}
}
privatevoidbutLogin2_Click(objectsender,EventArgse)
{
stringconnString="DataSource=.;InitialCatalog=员工人事档案管理系统;IntegratedSecurity=true”;
SqlConnectionconn;
stringusername=texName。
Text.Trim();
stringpassord=textPwd。
Text。
Trim();
conn=newSqlConnection(connString);
stringsql=string。
Format("selectcount(*)from用户信息表where用户名=’{0}'and密码=’{1}’and用户类型=’{2}’",username,passord,2);
try
{
conn.Open();
SqlCommandcomm=newSqlCommand(sql,conn);
intnum=(int)comm。
ExecuteScalar();
if(num==1)
{
MessageBox。
Show(”欢迎进入个人档案查询系统!
”,”登录成功”,MessageBoxButtons.OK,MessageBoxIcon。
Information);
NorUserno=newNorUser(username);
no。
Show();
this。
Visible=false;
}
else
{
MessageBox.Show("您的帐号有误!
","登录成失败",MessageBoxButtons。
OK,MessageBoxIcon。
Information);
}
}
catch(Exceptionex)
{MessageBox.Show(ex。
Message,”操作数据库出错!
",MessageBoxButtons。
OK,MessageBoxIcon.Information);}
finally{conn.Close();}
}
}
}
2.系统操作界面
usingSystem;
usingSystem.Collections。
Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem。
Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Threading.Tasks;
usingSystem.Windows.Forms;
usingSystem。
Data。
SqlClient;
namespaceSPMS
{
publicpartialclassSysUsers:
Form
{
publicSysUsers()
{
InitializeComponent();
}
stringconnString=”DataSource=.;InitialCatalog=员工人事档案管理系统;IntegratedSecurity=true”;
SqlConnectionconn;
stringsql;
privatevoidSUAddStaff_Click(objectsender,EventArgse)
{
AddStaffaddstaff=newAddStaff();
addstaff.Show();
SUMsg.Text=addstaff.Text;
}
privatevoidSysUsers_Load(objectsender,EventArgse)
{
//treeView1.SelectedNode=treeView1.Nodes[1];
//TODO:
这行代码将数据加载到表“员工人事档案管理系统DataSet。
员工基本信息”中。
您可以根据需要移动或删除它。
/*this.员工基本信息TableAdapter。
Fill(this。
员工人事档案管理系统DataSet。
员工基本信息);*/
sql="select编号,姓名,性别,民族,出生日期,工作证号,入职日期,工作岗位,员工状态,籍贯,婚姻状况,政治面貌,文化程度,部门名称as所在部门,身份证号,手机号码,档案存放地,户口所在地from员工基本信息,员工入职信息,部门信息where员工基本信息。
编号=员工入职信息.员工编号and所在部门编号=部门信息.部门编号";
conn=newSqlConnection(connString);
SqlDataAdapterda=newSqlDataAdapter(sql,conn);
DataSetds=newDataSet();
da。
Fill(ds);
dgvdata.DataSource=ds。
Tables[0];
comState。
SelectedIndex=0;
}
privatevoidcomState_SelectedIndexChanged(objectsender,EventArgse)
{
sql=string.Format("select编号,姓名,性别,民族,出生日期,工作证号,入职日期,工作岗位,员工状态,籍贯,婚姻状况,政治面貌,文化程度,部门名称as所在部门,身份证号,手机号码,档案存放地,户口所在地from员工基本信息,员工入职信息,部门信息where员工基本信息.编号=员工入职信息。
员工编号and部门信息.部门编号=员工入职信息.所在部门编号and员工状态=’{0}’and所在部门编号=(select部门编号from部门信息where部门名称='{1}’)”,comState。
SelectedItem.ToString(),treeView1.SelectedNode。
Text);
conn=newSqlConnection(connString);
SqlDataAdapterda2=newSqlDataAdapter(sql,conn);
DataSetds2=newDataSet();
da2。
Fill(ds2);
dgvdata。
DataSource=ds2.Tables[0];
}
privatevoidtreeView1_AfterSelect(objectsender,TreeViewEventArgse)
{
if(treeView1.Nodes[0].Checked)
{
sql=”select编号,姓名,性别,民族,出生日期,工作证号,入职日期,工作岗位,员工状态,籍贯,婚姻状况,政治面貌,文化程度,部门名称as所在部门,身份证号,手机号码,档案存放地,户口所在地from员工基本信息,员工入职信息,部门信息where员工基本信息。
编号=员工入职信息.员工编号and所在部门编号=部门信息。
部门编号";
}
elsesql=string。
Format("select编号,姓名,性别,民族,出生日期,工作证号,入职日期,工作岗位,员工状态,籍贯,婚姻状况,政治面貌,文化程度,部门名称as所在部门,身份证号,手机号码,档案存放地,户口所在地from员工基本信息,员工入职信息,部门信息where员工基本信息.编号=员工入职信息.员工编号and部门信息。
部门编号=员工入职信息。
所在部门编号and员工状态=’{0}’and所在部门编号=(select部门编号from部门信息where部门名称='{1}’)”,comState。
SelectedItem.ToString(),treeView1。
SelectedNode。
Text);
conn=newSqlConnection(connString);
SqlDataAdapterda3=newSqlDataAdapter(sql,conn);
DataSetds3=newDataSet();
da3.Fill(ds3);
dgvdata。
DataSource=ds3.Tables[0];
}
privatevoiddgvdata_RowPostPaint(objectsender,DataGridViewRowPostPaintEventArgse)
{
}
privatevoidSUDelStaff_Click(objectsender,EventArgse)
{
if(dgvdata.SelectedRows。
Count==0)
{MessageBox.Show("请选择您要删除的员工!
");}
else
{DialogResultrss=MessageBox.Show(this,"确定要删除已选中员工的信息!
","提示",MessageBoxButtons。
YesNo,MessageBoxIcon.Warning);
switch(rss)
{caseDialogResult。
Yes:
for(inti=dgvdata。
SelectedRows.Count;i>0;i-—)
{
stringnum=Convert.ToString(dgvdata.SelectedRows[i—1]。
Cells[0].Value);
dgvdata.Rows.RemoveAt(dgvdata。
SelectedRows[i-1]。
Index);
stringsql3=”deletefrom员工基本信息where编号=’”+num+”'";
//stringsql4="deletefrom员工入职信息where员工编号=’"+num+”’”;
conn=newSqlConnection(connString);
SqlCommandcom1=newSqlCommand(sql3,conn);
//SqlCommandcom2=newSqlCommand(sql4,conn);
conn.Open();
intcount1=com1。
Execute
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 课程设计 简单 人事管理系统 设计 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)