ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:157.99KB ,
资源ID:7354111      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7354111.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(人事管理系统实验报告.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

人事管理系统实验报告.docx

1、人事管理系统实验报告 数据库系统课程设计报告 题目: 人事管理系统 1系统需求分析1.1系统功能分析 人事管理系统主要有以下几项功能要求: 新员工资料的输入 自动分配员工,并且设置初始的用户密码 人事变动的详细记录,包括岗位和部门的调整 员工信息的查询和修改,包括员工个人信息和密码等 查询人事变更记录1.2 系统功能模块设计 根据系统功能需求,可以将系统分解成几个模块来分别设计应用程序设计界面,如下图所示: 1.3 与其它系统的关系 本系统是公司管理信息系统的基础部分。为其他子系统,如考勤管理系统、工资管理系统和员工培训系统,提供员工的基本信息。同时为其它的系统提供了员工登录的密码认定和权限分

2、配功能。1.4 数据流程图 人事信息管理系统的数据流程如图所示,所有数据有人事科管理员输入。1.5 数据库需求分析 根据数据流程图,可以列出以下数据项和数据结构: 员工信息:员工号、密码、权限、姓名、性别、生日、所在部门、职务、受教育程度、专业、家庭住址、电话、电子邮箱、当前状态、备注 人事变更记录:记录号、员工号、变动、详细记录。 所需的外部数据支持: 部门信息:部门编号、名称、部门经理、简介 受教育程度代码表:代码、说明 职务代码表:职务编号、 名称 人事变动代码:代码、描述2概念结构设计2.1 概念结构设计的步骤概念结构的设计可分为两步:第一步是抽象数据并设计局部视图。第二步是集成局部视

3、图,得到全局的概念结构。员工实体E-R图:部门实体E-R图: 职务代码表E-R图:教育程度代码表E-R图 :人事变动代码表E-R图 人事变更记录表E-R图:实体E-R总图: 3逻辑结构设计 3.1 E-R图向关系模型的转换将总体关系的E-R图转换为关系模型: 员工(员工号、密码、用户权限、姓名、性别、生日、所在部门、职务、受教育程度、专业技能、家庭住址、联系电话、电子邮箱、当前状态、 备注)部门(部门号,部门名称, 部门经理, 简介) 职务(职务号、职务名称) 教育程度(代码,说明)人事变更记录(记录编号,员工号,变更代码,详细记录)人事变动代码(代码, 描述)4物理结构设计4.1数据表的物理

4、结构 根据系统E-R图,本系统需要有两个数据分别来存放工人个人信息和人事变动记录。并且需要一个外部数据表(部门信息)的支持。同时部分记录字段需要用代码来表示,因此需要3个代码来分别记录教育程度、职务和人事变更的代码。这个6个数据表的结构如表1到表6所示。 表1 PERSON 员工个人信息表 字段名数据类型长度是否为空说明IDint4NOT NULL员工号(主关键字) PASSWDvarchar50NOT NULL密码AUTHORITYvarchar50NOT NULL用户权限NAMEvarchar50NOT NULL姓名SEXvarchar 50NOT NULL性别BIRTHDAYvarcha

5、r50NULL生日DEPARTMENTvarchar 50NOT NULL所在部门JOBvarchar50NOT NULL职务EDU_LEVEL varchar50NOT NULL受教育程度SPCIALTYvarchar50NULL专业技能ADDRESSvarchar50NULL家庭住址TELvarchar50NULL联系电话 EMAILvarchar50NULL电子邮箱 STATEvarchar50NOT NULL当前状态(T-员工、F-非员工) REMARKvarchar50NULL备注 表2 PERSONNEL 人事变更记录表 字段名数据类型长度是否为空说明IDint4NOT NULL记

6、录编号PERSONvarchar4NOT NULL员工号CHANGEvarchar4NOT NULL变更代码DESCRIPTIONvarchar16NULL详细记录 表3 EDU_LEVEL受教育程度代码表字段名数据类型长度是否为空说明CODEint 4NOT NULL代码DESCRIPTIONvarchar50 NULL描述 表4 JOB 职务代码表 字段名 数据类型 长度是否为空说明CODE int4NOT NULL 代码DESCRIPTIONvarchar50NULL描述 表5 PERSONNEL_CHANGE 人事变动代码表字段名数据类型长度是否为空说明CODEint 4NOT NUL

7、L代码DESCRIPTIONvarchar50 NULL描述 表6 DEPANTMENT 部门信息表 字段名 数据类型长度 是否为空说明IDint4NOT NULL部门编号NAMEvarchar50NOT NULL部门名称MANAGERvarchar4NOT NULL部门经理INTROvarchar50NULL简介 表 7 受教育程度代码代码说明0小学1初中2高中3职高4大本5大专6硕士7博士8博士后 表 8 人事变更代码代码说明0新员工加入1职务变动2辞退5各功能模块的设计与实现5.1各功能说明 增加新员工 人事变动 员工信息查询和修改 加密模块5.2用户界面设计 完成数据库创建和功能说明以

8、后,我们可以进行下一步工作,即设计用户界面。我们把人事信息系统的窗口分成4个主要部分。1. 登录模块的创建2. 增加新员工窗体的创建3. 人事变动窗体的创建4. 员工信息查询修改窗体的创建5. 加密模块的创建5.3各功能模块的实现1加密模块窗口设计:由于时间关系只实现了固定的用户名和密码,为实现数据库验证的用户名和密码相关代码:/*以下实现管理员密码登陆*/未实现管理员密码的可修改性void CMyDlg:OnLoad() / TODO: Add your control notification handler code here UpdateData(TRUE); CString ID =

9、 admin; CString PASSWD = 123; if(m_ID = ) MessageBox(请输入用户名); return; if(m_PASSWD = ) MessageBox(请输入密码); return; if(ID != & PASSWD != ) if(ID = m_ID & PASSWD = m_PASSWD) AfxMessageBox(欢迎使用!); CAdminBox a;/调用管理员窗口的一个对象 a.DoModal();/调用函数 else AfxMessageBox(用户信息不正确,重新登录!); /* time+; if(time2) exit(0);

10、*/ /*/2 主窗口的设计主窗口只实现相关功能窗口的调用按钮,不实现具体功能/*/以下实现员工信息修改窗口void CAdminBox:OnBUTTONUpdateName() / TODO: Add your control notification handler code here CUpdateName a; a.DoModal();/*/调用人事变动窗口void CAdminBox:OnBUTTONPersonnel() / TODO: Add your control notification handler code here CPERSONNEL a; a.DoModal()

11、;/*/提供退出系统的功能void CAdminBox:OnButtonExit() / TODO: Add your control notification handler code here if(MessageBox(确定退出?,_T(),MB_YESNO|MB_ICONSTOP)=IDYES) exit(0); 3.人事变动窗口设计:实现的功能是在往数据库人事变更表中添加数据的时候同时修改员工信息表中的相关信息代码如下:void CPERSONNEL:OnButton1() / TODO: Add your control notification handler code here

12、 UpdateData(TRUE); _ConnectionPtr m_pConnection; :CoInitialize(NULL); /在ADO操作中建议语中要常用try.catch()来捕获错误信息 /因为他有时会经常出现一些想不到的错误 try m_pConnection.CreateInstance(ADODB.Connection); _bstr_t strConn = Provider = SQLOLEDB;Data Sourse = (local); Initial Catalog =人事管理系统;UID=sa;PWD=; m_pConnection-Open(strConn

13、,adModeUnknown); if(m_pConnection-State = adStateOpen)MessageBox(成功连接数据库); catch(_com_error e) :CoUninitialize(); AfxMessageBox(e.ErrorMessage(); return; /以下插入人事变更记录 _variant_t ra; _bstr_t strAdd = INSERT INTO PERSONNEL VALUES(; / strAdd = strAdd + m_ID + ,; strAdd = strAdd + m_PERSON + ,; strAdd =

14、strAdd + m_CHANGE + ,; strAdd = strAdd + m_DESCRIPTION + ); / AfxMessageBox(strAdd); m_pConnection-Execute(strAdd,&ra,adCmdText);/ m_pConnection-Close(); /下面同样涉及对其他表数据修改故不能关闭数据库连接 strAdd = UPDATE PERSON SET STATE =; if(m_CHANGE=0) strAdd=strAdd+T where ID=+m_PERSON;/ AfxMessageBox(strAdd); else if(m

15、_CHANGE=2) strAdd=strAdd+F where ID=+m_PERSON;/ AfxMessageBox(strAdd); m_pConnection-Execute(strAdd,&ra,adCmdText); m_pConnection-Close(); m_adodc1.SetRecordSource(select * from PERSONNEL); m_adodc1.Refresh(); UpdateData(FALSE); 3.员工信息查询修改窗口设计如下:实现功能:可以在所有记录上进行相关信息的查询和修改各部分功能的代码如下 增加新员工信息/*/以下实现按钮触发

16、添加员工信息功能void CUpdateName:OnBUTTONAddName() / TODO: Add your control notification handler code here UpdateData(TRUE); _ConnectionPtr m_pConnection; :CoInitialize(NULL); /在ADO操作中建议语中要常用try.catch()来捕获错误信息 /因为他有时会经常出现一些想不到的错误 try m_pConnection.CreateInstance(ADODB.Connection); _bstr_t strConn = Provider

17、 = SQLOLEDB;Data Sourse = (local); Initial Catalog =人事管理系统;UID=sa;PWD=;Persist Security Info=FALSE; m_pConnection-Open(strConn,adModeUnknown); / if(m_pConnection-State = adStateOpen) MessageBox(成功连接数据库); catch(_com_error e) :CoUninitialize(); / AfxMessageBox(e.ErrorMessage(); return; _variant_t ra;

18、m_PASSWD = 12345; m_AUTHORITY = 2; _bstr_t strAdd = INSERT INTO PERSON VALUES (; / strAdd = strAdd + m_ID + ,; strAdd = strAdd + m_PASSWD + ,; strAdd = strAdd + m_AUTHORITY + ,; strAdd = strAdd + m_NAME + ,; strAdd = strAdd + m_SEX + ,; strAdd = strAdd + m_BIRTHDAY + ,; strAdd = strAdd + m_DEPARTMEN

19、T + ,; strAdd = strAdd + m_JOB + ,; strAdd = strAdd + m_EDU_LEVEL + ,; strAdd = strAdd + m_SPCIALTY + ,; strAdd = strAdd + m_ADDRESS + ,; strAdd = strAdd + m_TEL + ,; strAdd = strAdd + m_EMAIL + ,; strAdd = strAdd + m_STATE + ,; strAdd = strAdd + m_REMARK + ); / AfxMessageBox(strAdd); m_pConnection-

20、Execute(strAdd,&ra,adCmdText); m_pConnection-Close(); m_adodc1.SetRecordSource(select * from PERSON); m_adodc1.Refresh(); UpdateData(FALSE); 查询功能/*/连接上面两个组合框的输入值来响应相应的查询信息void CUpdateName:OnBUTTONCheck() / TODO: Add your control notification handler code here UpdateData(TRUE); if(m_SelectYes=1 & m_C

21、heckName = ) | (m_SelectYes =2 & m_CheckID = ) CString str = select * from PERSON; m_adodc1.SetRecordSource(str); m_adodc1.Refresh(); UpdateData(FALSE); return; else if(m_SelectYes=1) CString str = select * from PERSON where NAME= + m_CheckName +; / AfxMessageBox(str); m_adodc1.SetRecordSource(str);

22、 m_adodc1.Refresh(); UpdateData(FALSE); else if(m_SelectYes=2) CString str = select * from PERSON where ID= + m_CheckID +; / AfxMessageBox(str); m_adodc1.SetRecordSource(str); m_adodc1.Refresh(); UpdateData(FALSE); 删除选定记录/*/以下实现按钮触发删除当前列表所选择的记录void CUpdateName:OnBUTTONDeleteName() / TODO: Add your c

23、ontrol notification handler code here UpdateData(TRUE); int ColNum = 2; CString colVal; /要包含头文件Columns.h CColumns cols; /要包含头文件Column.h CColumn col; VARIANT v_ColNum,v_Value; cols = m_datagrid1.GetColumns(); /调用 GetColumns返回CDataGrid对应的CColumns对象 v_ColNum.vt = VT_I2; /读取ID v_ColNum.iVal = 0; /设置列编号

24、col = cols.GetItem(v_ColNum); /根据列编号返回CColumn对象 v_Value = col.GetValue(); /读取列植 CString tmp = v_Value.bstrVal; / int curRow = atoi(tmp); CString tmp2 = 确认要删除编号为 +tmp+ 的记录吗?; if(MessageBox(tmp2,_T(数据删除提示),MB_YESNO|MB_ICONSTOP) != IDYES) return; UpdateData(TRUE); _ConnectionPtr m_pConnection; :CoIniti

25、alize(NULL); try m_pConnection.CreateInstance(ADODB.Connection); _bstr_t strConn = Provider = SQLOLEDB;Data Sourse = (local); Initial Catalog =人事管理系统;UID=sa;PWD=; m_pConnection-Open(strConn,adModeUnknown); if(m_pConnection-State = adStateOpen)MessageBox(成功连接数据库); catch(_com_error e) :CoUninitialize(); AfxMessag

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1