C#课程设计-简单人事管理系统的设计与实现_第1页
C#课程设计-简单人事管理系统的设计与实现_第2页
C#课程设计-简单人事管理系统的设计与实现_第3页
C#课程设计-简单人事管理系统的设计与实现_第4页
C#课程设计-简单人事管理系统的设计与实现_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C#课程设计题目:人事档案管理系统姓名:张伟学号:班级:计科1班设计时间:2014/12/27目录前言2一、系统概述21.1 现状描述21.2 系统目标3二、系统分析42.1 可行性分析42.2 数据流程5三、系统设计53.1 模块结构设计53.2 功能设计63.3 数据库实现设计6四、系统的实现84.1详细设计方式84.2 系统实现15参考文献18前言随着计算机技术的发展,计算机已深入到各个领域,并且形成了功能强大,覆盖全球的信息传输网络。各个领域都向系统化,规范化,自动化的方向发展,值得工作效率,生活水平都日益提高。人事管理很多大小型公司,个体事业单位所必需的,人事信息管理系统包括对人事信息的统计,查询,更新,设想如果靠人工来完成这项工作,对于公司人数有几万甚至更多的,一定会造成特大的工作量,不仅人工难以实现,也会容易出现较多的信息查询,记录的错误,这样一定会给公司带来一定的损失。而计算机管理所无法比拟的优点检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长,成本低等。这些能够大大提高人事管理的效率,也是企业的正规化,科学化管理的重要条件。一、系统概述1.1 现状描述21世纪以来计算机技术为主体的高新技术已经深入到我国经济发展的各个方面。在市场经济的大环境下,越来越多的领域逐渐产生对计算机的深层次的依赖,越来越多的人意识到计算机技术所带来的潜在的巨大价值。尤为突出的是各种企业,机构等的人事管理在计算机上的实现,然而如何利用计算机实现更加先进,高效率的管理手段,是现金管理企业面临的一项重大课题。为了解决这些复杂的难题,就必须设计一套科学,高效,严密,实用的人事管理系统。从而减轻工作人员的劳动强度,减少企业的财政消耗。1.2 系统目标人事档案管理系统可以应用于人事管理工作,主要作用与如下三个方面目标: 1.支持企业实现规范化管理;2.支持企业高效率完成人事管理的日常任务,包括新部门的以及员工的增加时的人事档案的建立,员工职务的变动,在职离职退休和部门员工信息查询,修改等;3.支持企业进行人事管理及相关方面的科学决策并在系统开发任务的基础上进行系统的方案设计论证等。人事管理信息系统主要包含员工基本信息,工作情况,学历,职位情况等各方面信息,内容较简单。其设计主要是为了人事信息进行服务,对员工职位的变动,员工资料的查询,统计修改等功能。总的来说具有编辑,查询,员工管理等功能。设计的指导思想是一切为了用户着想,界面美观大方,操作尽量简单明了,而且作为一个使用的应用程序要有良好的容错性,在用户出现错误时能尽量的给出警告,以便用户及时改正,使其支持企业实现规范化管理;支持企业高效率地完成劳动人事的日常业务。人事企业管理系统小是现代企业管理工作不可缺少的一部分,是适应现代企业制度需求,退订企业劳动人事管理走向科学化,规范化的必要条件。二、系统分析2.1 可行性分析对于一个系统的分析主要是从他的设计,实现可行性进行分析,包括三个方面的可行性:1.营运可行性由于心痛知识面向机关和事业单位内人士信息管理人员和在职开发的信心管理系统,尽管这些人员可能没有使用过类似的系统,但是以windows的友好界面和系统的良好性的安全性设置,可以是人事信息管理员在专业人员的指导下迅速掌握系统的操作方法。同时用户也可以根据设计系统的用户操作说明书,来学习正确的操作本系统。2.技术可行性开发软件可行性:目前数据库开发管理软件多种多样,本数据库的信息管理系统是基于C#在.NET Framework环境下设计的,便于用户的快速掌握及及时实现操作的可能性。3.经济可行信目前的人事管理系统仍有完全以传统的人工管理方式进行管理,耗时多,效率低下并且及其容易出项错误,这样一来可能随时会造成无法估算的损失。而利用计算机实现人事管理以成为适应当今人事管理的方式。开发一套能满足人事管理信息系统的软件是十分必要的。实现人事管理的自动化,在减少人为失误而造成损失的同时,也可以为管理部门节省更多的费用支出。2.2 数据流程三、系统设计3.1 模块结构设计人事信息管理系统是一个典型的数据库应用程序,有启动窗口,登录模块,系统主界面,系统管理米块,信息设置模块,人事管理模块等组成,具体功能模块如下:1. 系统管理模块该模块的主要功能是单位信息,管理员设置,登录等。2.信息设置模块模块主要是对部门信息,员工信息,用户信息,职称类型,文化程度等进行设置。3.人事管理模块人事管理模块主要功能是新员工的登记,员工离职,员工所在部门信息的查询及更新等。3.2 功能设计系统主要功能有以下几点:人员管理,部门信息的添加及查询,员工信息的更新查询。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_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 (工作证号 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 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编号 PRIMARY KEY CLUSTERED (编号 ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_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,用户类型 nvarchar(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 public 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 butLogin_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(*) 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.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 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 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 = false; 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.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 public partial class SysUsers : Form public SysUsers() InitializeComponent(); string connString = Data Source=.;Initial 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 = treeView1.Nodes1; / TODO: 这行代码将数据加载到表“员工人事档案管理系统DataSet.员工基本信息”中。您可以根据需要移动或删除它。 /* this.员工基本信息TableAdapter.Fill(this.员工人事档案管理系统DataSet.员工基本信息);*/ sql = select 编号,姓名,性别,民族,出生日期,工作证号,入职日期,工作岗位,员工状态,籍贯,婚姻状况,政治面貌,文化程度,部门名称 as 所在部门,身份证号,手机号码,档案存放地,户口所在地 from 员工基本信息,员工入职信息,部门信息 where 员工基本信息.编号 =员工入职信息.员工编号 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.Format(select 编号,姓名,性别,民族,出生日期,工作证号,入职日期,工作岗位,员工状态,籍贯,婚姻状况,政治面貌,文化程度,部门名称 as 所在部门,身份证号,手机号码,档案存放地,户口所在地 from 员工基本信息,员工入职信息,部门信息 where 员工基本信息.编号 =员工入职信息.员工编号 and 部门信息.部门编号=员工入职信息.所在部门编号 and 员工状态=0 and 所在部门编号=(select 部门编号 from 部门信息 where 部门名称= 1), comState.SelectedItem.ToString(), treeView1.SelectedNode.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 编号,姓名,性别,民族,出生日期,工作证号,入职日期,工作岗位,员工状态,籍贯,婚姻状况,政治面貌,文化程度,部门名称 as 所在部门,身份证号,手机号码,档案存放地,户口所在地 from 员工基本信息,员工入职信息,部门信息 where 员工基本信息.编号 =员工入职信息.员工编号 and 所在部门编号=部门信息.部门编号; else sql = string.Format(select 编号,姓名,性别,民族,出生日期,工作证号,入职日期,工作岗位,员工状态,籍贯,婚姻状况,政治面貌,文化程度,部门名称 as 所在部门,身份证号,手机号码,档案存放地,户口所在地 from 员工基本信息,员工入职信息,部门信息 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(); 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(this,确定要删除已选中员工的信息!,提示,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 = delete 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.ExecuteNonQuery(); 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 sender, 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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论