付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、河南理工大学计算机科学与技术学院课程设计2022 2022学年 第二学期课程名称C#Windows程序设计课设设计题目 人事治理系统学生姓名学 号专业班级软件工程.net指导教师2022 年6月7日目录封面 1目录 2河南理工大学?C蝌序设计?实训报告1 .设计任务书 41.1 题目与要求 41.2 本系统涉及的知识点 42 .功能设计 43 .数据库设计 53.1 数据库概念设计E-R图 53.2 数据库逻辑结构设计 63.3 数据库物理设计 64 .系统实现 64.1 界面设计及实现 64.2 部门信息治理设计及实现 114.2.1 添加部门信息 114.2.2 浏览部门信息 134.2.
2、3 修改部门信息 144.2.4 删除部门信息 165 .总结 18致谢 18参考文献 18河南理工大学?C蝌序设计?实训报告1设计任务书1.1题目与要求本人方案与XXX、XXX合作编写一个员工治理系统,主要用来治理员工根本 信息.此系统使得治理人员对公司的工种进行分类,进而确定各个工种所对应的部门信河南理工大学?C蝌序设计?实训报告息,在已有部门信息的根底上能够对所有的员工信息进行分类治理.本系统的特点是可 以对员工的个人信息、所属部门进行全方位的治理,可以实现工种的浏览、添加、删除 和修改等操作,同时界面设计简单、操作方便.其具体要求如下:1、工种种类设置.?添加工种:添加公司的各种工种信
3、息,包括工种编号、工种名称、工种描述.?浏览工种:能够根据列表方式快速浏览公司的各种工种.?修改工种:能够对工种的信息进行修改.?删除工种:能够对于全部工种的信息进行删除.2、员工个人信息治理.?添加员工:添加一个员工的根本信息,包括姓名、性别、专业、籍贯、职称、 所在工种、所在部门、学历、员工编号.?浏览员工:能够对一个职员的信息进行删除按姓名进行删除.?修改员工:对职员的信息进行修改.?删除员工:能够对于全部职员的信息进行删除.3、员工所属部门信息治理.?添加部门:添加一个部门的根本信息,包括部门编号、部门名称、部门描述.?浏览部门:能够根据列表方式快速浏览公司所有的部门.?修改部门:能够
4、对部门的信息进行修改.?删除部门:能够对于全部部门的信息进行删除.根据分工,本人的主要工作是完成第三模块,即员工所属部门信息治理,包括添加 部门、浏览部门、修改部门、删除部门四个局部.同时,需要对主界面进行设计及实现1.2本系统涉及的知识点WinForm常用控件、属性、方法,ADO.NE我术.2功能设计本系统选用C#乍为开发语言,采用结合后台SQLServer数据库的C/S结构开发模式, 优化了程序代码及结构,提升了程序的运行效率.系统在.NET环境中进行开发,该环境 提供了大量可选择的数据对象,可以很方便地建立与数据库之间的连接,并在此连接的 根底上利用各种常用数据库组件对数据库进行操作.在
5、本系统中,采用SqlConnection对象与后台数据库创立连接,所有针对数据库的 操作都需要利用这个对象作为数据库连接对象.在系统功能分析的根底上,考虑 Microsoft Visual Studio 2022 程序编制的特点, 得到如图2-1所示的系统功能模块图.员工信息治理系统河南理工大学?C蝌序设计?实训报告添加工种图2-1功能模块图3数据库设计3.1 数据库概念设计(E-R图)根据本系统的需要,可以归纳出一下实体:工种信息实体、部门信息实体、员工信 息实体.为了更好地理解各个实体及其含义,用E-R图,即实体关系图对实体进行描述根据分工,本人任务模块部门信息实体如图3-1所示:图3-1
6、部门信息实体图3.2 数据库逻辑结构设计系统数据库名称为db_Person,数据库中包括:1.工种信息表(tb_JobInfo ) ; 2. 部门信息表(tb_DepartInfo ) ; 3.员工信息表(tb_PersonInfo ).下面列出部门信息表的数据结构,如表 3-2所示.河南理工大学?C蝌序设计?实训报告表3-2部门信息表(tb_DepartInfo )的数据结构DIDint部门编号(主键,自动编号)Dnamevarchar部门名称Dleadervarchar部门领导Remarkvarchar描述图3-2部门信息表的数据结构3.3 数据库物理设计数据库物理设计,即设置表与表之间的
7、关系.员工信息表中的“部门来源于部门 信息表中现有的部门,员工信息表中的“工种来源于公众信息表中现有的工种.如果 数据库中的信息不能满足正常的依赖关系就会破坏数据的完整性和一致性.根据本系统需要,由E-R图模型进行分析,从而确定出哪些表之间的字段需要进行 关联分析如下:1、员工信息表中的工种字段来源于工种信息表;2、员工信息表中的部门字段来源于部门信息表;根据本系统特点,需要依次设置员工信息表与工种信息表、员工信息表与部门信息 表之间的关系.4系统实现4.1 界面设计及实现该界面提供的主菜单,用户可以分别实现对工种信息、员工信息、部门信息等功能 的治理.图4-1为员工治理系统的应用程序主界面.
8、T贵工您1怎思箍'EZI画I笆I工冲自净 纪工信自土理 器门三目包密 口口信后治理 美于河南理工大学?C蝌序设计?实训报告图4-1员工治理系统主界面此界面用于对各模块进行查询及编辑.程序代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;/导入用于工种设置的命名空间 导入用于部门设置的命名空间 导入用于员工收入的命名空间 导入用于员工个人信息的命名空间using Sys
9、tem.Windows.Forms;using PersonMIS.JobManage;using PersonMIS.DepartManage;using PersonMIS.IncomeManage;using PersonMIS.PersonManage;namespace PersonMISpublic partial class frmMain : Formpublic frmMain()InitializeComponent();AddJob frmAddJob;private void meneAddJob_Click(object sender, EventArgs e) if
10、 (frmAddJob = null | frmAddJob.IsDisposed)frmAddJob = new AddJob();for (int x = 0; x < this.MdiChildren.Length; x+)Form tempChild = (Form)this.MdiChildrenx;河南理工大学?C蝌序设计?实训报告tempChild.Close();)frmAddJob.MdiParent = this;frmAddJob.Show();AddDepart frmAddDepart;private void menuAddDepart_Click(objec
11、t sender, EventArgs e) if (frmAddDepart = null | frmAddDepart.IsDisposed) frmAddDepart = new AddDepart();for (int x = 0; x < this.MdiChildren.Length; x+) Form tempChild = (Form)this.MdiChildrenx; tempChild.Close();)frmAddDepart.MdiParent = this;frmAddDepart.Show();AddDepart frmAddPerson;private v
12、oid menuAddPerson_Click(object sender, EventArgs e) if (frmAddPerson = null | frmAddPerson.IsDisposed) frmAddPerson = new AddPerson();for (int x = 0; x < this.MdiChildren.Length; x+) Form tempChild = (Form)this.MdiChildrenx; tempChild.Close();)frmAddPerson.MdiParent = this;frmAddPerson.Show();Add
13、Depart frmAddIncome;private void menuAddIncome_Click(object sender, EventArgs e) if (frmAddIncome = null | frmAddIncome.IsDisposed)河南理工大学?C蝌序设计?实训报告(frmAddIncome = new AddIncome();for (int x = 0; x < this.MdiChildren.Length; x+)(Form tempChild = (Form)this.MdiChildrenx;tempChild.Close();frmAddInc
14、ome.MdiParent = this;frmAddIncome.Show();BrowseJob frmBrowseJob;private void menuBrowseJob_Click(object sender, EventArgs e)(.if (frmBrowseJob = null | frmBrowseJob.IsDisposed)(frmBrowseJob = new BrowseJob();for (int x = 0; x < this.MdiChildren.Length; x+)(Form tempChild = (Form)this.MdiChildrenx
15、;tempChild.Close();frmBrowseJob.MdiParent = this;frmBrowseJob.Show();BrowseDepart frmBrowseDepart;private void menuBrowseDepart_Click(object sender, EventArgs e)(.if (frmBrowseDepart = null | frmBrowseDepart.IsDisposed)(frmBrowseDepart = new BrowseDepart();for (int x = 0; x < this.MdiChildren.Len
16、gth; x+)(Form tempChild = (Form)this.MdiChildrenx;tempChild.Close();frmBrowseDepart.MdiParent = this;frmBrowseDepart.Show();河南理工大学?C蝌序设计?实训报告BrowsePerson frmBrowsePerson;private void menuBrowsePerson_Click(object sender, EventArgs e)(.if (frmBrowsePerson = null | frmBrowsePerson.IsDisposed)(frmBrows
17、ePerson = new BrowsePerson();for (int x = 0; x < this.MdiChildren.Length; x+)(Form tempChild = (Form)this.MdiChildrenx;tempChild.Close();frmBrowsePerson.MdiParent = this;frmBrowsePerson.Show();BrowseIncome frmBrowseIncome;private void menuBrowseIncome_Click(object sender, EventArgs e)(.if (frmBro
18、wseIncome = null | frmBrowseIncome.IsDisposed)(frmBrowseIncome = new BrowseIncome();for (int x = 0; x < this.MdiChildren.Length; x+)(Form tempChild = (Form)this.MdiChildrenx;tempChild.Close();frmBrowseIncome.MdiParent = this;frmBrowseIncome.Show();private void menuExitSystem_Click(object sender,
19、EventArgs e)(Application.Exit();About frmAbout;private void menuAbout_Click(object sender, EventArgs e)(.if (frmAbout = null | frmAbout.IsDisposed)(frmAbout = new About();for (int x = 0; x < this.MdiChildren.Length; x+)10河南理工大学?C蝌序设计?实训报告Form tempChild = (Form)this.MdiChildrenx;tempChild.Close();
20、frmAbout.MdiParent = this;frmAbout.Show();private void timer1_Tick(object sender, EventArgs e).this.ttsTime.Text ="时间为:"+ Datatime.Now.ToString();4.2 部门信息治理设计及实现4.2.1 添加部门信息添加部门信息界面用于部门根本信息的录入,包括部门名称、部门领导和备注.该 界面如图4-2所示.部门名称部门领导杳主确定取消添加部门信息图4-2添加部门信息界面11添加部门信息的代码如下:添加部门信息窗口程序 AddDepart.csp
21、ublic static string strConn = "Data Source = (local);Initial Catalog = db_Person;Integrated Security = ture"private void btnOk_Click(object sender, EventArgs e).河南理工大学?C蝌序设计?实训报告if (this.txtDepName.Text.Trim() = "" | this.txtDepLeader.Text.Trim()="")MessageBox.Show(&quo
22、t; 请输入完整信息!","提示",0); else using(SqlConnection con = new SqlConnection(strConn) if(con.State = ConnectionState.Closed) con.Open(); try SqlCommand cmd = new SqlCommand(select * from tb_DepartInfo where DName = "" + txtDepName.Text.Trim() + ""',con);if(cmd.Execut
23、eScalar()!= null)MessageBox.Show("部门名称重复输入,请重新输入!","提示",0); else String sql = "insert into tb_DepartInfo(DName,Dleader,Remark)values('" + this.txtDepName.Text.Trim() + "','" + this.txtDepLeader.Text.Trim() + "','" + this.txtRemark
24、.Text.Trim()+ "');cmd.CommandText = sql;cmd.ExecuteNonQuery();MessageBox.Show("添加部门信息成功!","提示",0);this.txtDepName.Clear();this.txtDepLeader.Clear();this.txtRemark.Clear(); ) ) catch(Exception ex) MessageBox.Show(" 错误:"+ ex.Message," 错误提示",MessageBox B
25、uttons.OKCancel,MessageBoxIcon.Error); ) finally if(con.State = ConnectionState.Open) con.Close(); con.Dispose(); )12河南理工大学?C蝌序设计?实训报告4.2.2 浏览部门信息在浏览部门信息界面中,用户可以根据列表的方式快速查看公司所有的部门,并可 以在该界面中完成修改和删除操作.浏览部门信息界面如图4-3所示.图4-3浏览部门信息界面浏览部门信息的代码如下:浏览部门信息窗口程序 BrowseDepart.cspublic static string strConn = &quo
26、t;Data Source = (local);Initial Catalog = db_Person;Integrated Security = ture"private void BrowseDepart_Load(object sender, EventArgs e)showinf();)/<summary>/在DataGridView控件上显示记录/</summary>private void showinf()13河南理工大学?C蝌序设计?实训报告(using(SqlConnection con = new SqlConnection(strConn
27、)(if(con.State = ConnectionState.Closed)(con.Open();try(string sql = "select DID as编号,Dname as 部门名称,Dleader as部门领导,Remark as 描述 from tb_DepartInfo order by DID"SqlDataAdapter adp = new SqlDataAdapter(sql,con);DataSet ds = new DataSet();ds.Clear();adp.Fill(ds,"Depart");this.dgvDep
28、artInfo.DataSource = ds.Tables0.DefaultView;catch(Exception ex)(MessageBox.Show(" 错误:"+ ex.Message," 错误提示,MessageBoxButtons.OKCancel,MessageBoxIcon.Error);finally(if(con.State = ConnectionState.Open)(con.Close();con.Dispose();4.2.3 修改部门信息修改部门信息界面与添加部门信息界面相似,但在实现方法上有一定的区别,并且 在修改部门信息时需要
29、防止部门名称的重复,修改部门信息界面如图4-4所示:14河南理工大学?C蝌序设计?实训报告图4-4修改部门信息界面作为Update语句的限定条件,程序需要保证部门名称修改后不能与现有部门名称 发生重复,如果发生此情况,弹出提示对话框,结束流程.修改部门信息的代码如下:修改部门信息窗口程序ModifyDepart.cs private void btnUpdate_Click(object sender, EventArgs e) (.if (this.txtDName.Text.Trim() = "" | this.txtDLeader.Text.Trim()="
30、")MessageBox.Show("请输入完整信息!","提示",0);else ( using(SqlConnection con = new SqlConnection(strConn) ( if(con.State = ConnectionState.Closed) ( con.Open(); ; try ( SqlCommand cmd= newSqlCommand(select * from tb_DepartInfo where DName = "" + txtDepName.Text.Trim() + &qu
31、ot;'and DID<>" + this.Tag.ToString().Trim(),con);if(cmd.ExecuteScalar()!= null)MessageBox.Show("部门名称发生重复,请重新输入!,"提示) else ( string sql = "update tb_DepartInfo set DName = '" + txtDName.Text.Trim() + "',Dleader = '" + txtDleader.Text.Trim() + 1
32、Remark ='"+ txtRemark.Text.Trim() + "'where DID =" + this.Tag.ToString().Trim();cmd.CommandText = sql;15河南理工大学?C蝌序设计?实训报告cmd.ExecuteNonQuery();MessageBox.Show("部门信息修改成功!","提示",0);)catch(Exception ex)MessageBox.Show(" 错误:"+ ex.Message," 错误提示 ,
33、MessageBoxButtons.OKCancel,MessageBoxIcon.Error);)finallyif(con.State = ConnectionState.Open)con.Close();con.Dispose();)4.2.4 删除部门信息删除部门信息之前,应该判定是否存在与当前部门相关的其他记录,如果没有那么可 以删除部门信息记录,否那么给出提示信息.而本系统中存在部门信息表与员工信息表之 间的依赖关系,因而不能直接删除掉部门信息,需要判定员工信息表中是否有与该部门 相关的信息.修改部门信息的代码如下:修改部门信息窗口程序ModifyDepart.csprivate
34、void bntDelete_Click(object sender, EventArgs e)using(SqlConnection con = new SqlConnection(strConn)if(con.State = ConnectionState.Closed)con.Open(););tryif(this.dgvDepartInfo.CurrentCell ! = null)string sql = "select Dname from tb_DepartInfo where DID =“+this.dgvDepartInfo0,this.dgvDepartInfo.
35、CurrentCell.RowIndex.Value.ToStrin16河南理工大学?C蝌序设计?实训报告g().Trim() + " and DID not in (select distinct tb_DepartInfo.DID from tb_PersonInfo inner join tb_DepartInfo on tb_PersonInfo.DID = tb_DepartInfo DID)"SqlCommand cmd = new SqlCommand(sql,con);sqlDataReader dr;dr = cmd.ExecuteReader();if(
36、!dr.Read()MessageBox.Show("删除部门 +this.dgvDepartInfo0,this.dgvDepartInfo.CurrentCell.RowIndex.Value.ToStrin g().Trim() + " 失败,请先删除与此部门相关的员工!,提示)dr.Close(); else dr.Close(); sql = "delete from tb_DepartInfo where DID = " +this.dgvDepartInfo0,this.dgvDepartInfo.CurrentCell.RowIndex.
37、Value.ToStrin g().Trim() + " and DID not in (select distinct DID from tb_PersonInfo)"cmd.CommandText = sql;cmd.ExecuteNonQuery();MessageBox.Show("删除部门 +this.dgvDepartInfo0,this.dgvDepartInfo.CurrentCell.RowIndex.Value.ToStrin g().Trim() +"' 成功","提示)catch(Exception ex)MessageBox.Show(" 错误:"+ ex.Message," 错误提示" Message
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年复工复产消防安全第一课
- 2026年保健食品功能评价与验证方法研究
- 2026年捐赠物资接收与分配风险管控
- 2026年模特行业发展趋势及个人发展方向
- 2026年企业培训数字化转型与工具应用
- 脑干损伤患者的呼吸支持
- 行业会议展览展示合作合同
- 数据标注兼职2026年风险防范协议
- 健康保障2026年牙科治疗合同协议
- 电线电缆行业环保责任协议
- 2026湖北武汉首义科技创新投资发展集团有限公司招聘8人笔试历年备考题库附带答案详解
- (四模)新疆2026年高三普通高考五月适应性文科综合试卷(含答案及解析)
- 亮化工程合同书样本
- 王勃滕王阁序注释
- FZ/T 72016-2012针织复合服用面料
- 微生物学-第九章-传染与免疫-zh-v7
- 儿童保健三基理论考核试题题库及答案
- 摄影构图(共86张PPT)
- DB33T 988-2022 柔性生态加筋挡土墙设计与施工技术规范
- DB31T 1234-2020 城市森林碳汇计量监测技术规程
- 对外经贸函电课程课件-新Unit-10-Packing
评论
0/150
提交评论