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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

人事管理系统实验报告文档格式.docx

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

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

3、varchar受教育程度SPCIALTY专业技能ADDRESS家庭住址TEL联系电话 EMAIL电子邮箱 STATE当前状态(T-员工、F-非员工) REMARK备注 表2 PERSONNEL 人事变更记录表 记录编号PERSON员工号CHANGE变更代码DESCRIPTION16详细记录 表3 EDU_LEVEL受教育程度代码表CODE 4代码 NULL描述 表4 JOB 职务代码表 字段名 数据类型 长度 intNOT NULL 表5 PERSONNEL_CHANGE 人事变动代码表 表6 DEPANTMENT 部门信息表 是否为空部门编号部门名称MANAGER部门经理INTRO简介 表

4、7 受教育程度代码小学1初中2高中3职高大本5大专6硕士7博士8博士后 表 8 人事变更代码新员工加入职务变动辞退5各功能模块的设计与实现5.1各功能说明 增加新员工 人事变动 员工信息查询和修改 加密模块5.2用户界面设计 完成数据库创建和功能说明以后,我们可以进行下一步工作,即设计用户界面。我们把人事信息系统的窗口分成4个主要部分。1. 登录模块的创建2. 增加新员工窗体的创建3. 人事变动窗体的创建4. 员工信息查询修改窗体的创建5. 加密模块的创建5.3各功能模块的实现1加密模块窗口设计:由于时间关系只实现了固定的用户名和密码,为实现数据库验证的用户名和密码相关代码:/*以下实现管理员

5、密码登陆*/未实现管理员密码的可修改性void CMyDlg:OnLoad() / TODO: Add your control notification handler code here UpdateData(TRUE); CString ID = admin; CString PASSWD = 123 if(m_ID = ) MessageBox(请输入用户名); return; if(m_PASSWD = 请输入密码 if(ID != & PASSWD ! if(ID = m_ID & PASSWD = m_PASSWD) AfxMessageBox(欢迎使用! CAdminBox a

6、;/调用管理员窗口的一个对象 a.DoModal();/调用函数 else用户信息不正确,重新登录! /* time+; if(time2) exit(0); */*/2 主窗口的设计主窗口只实现相关功能窗口的调用按钮,不实现具体功能/*/以下实现员工信息修改窗口void CAdminBox:OnBUTTONUpdateName() CUpdateName a; a.DoModal();/*/调用人事变动窗口OnBUTTONPersonnel() CPERSONNEL a;/提供退出系统的功能OnButtonExit() if(MessageBox(确定退出?,_T(),MB_YESNO|MB

7、_ICONSTOP)=IDYES) exit(0); 3.人事变动实现的功能是在往数据库人事变更表中添加数据的时候同时修改员工信息表中的相关信息代码如下:void CPERSONNEL:OnButton1() _ConnectionPtr m_pConnection; :CoInitialize(NULL); /在ADO操作中建议语中要常用try.catch()来捕获错误信息 /因为他有时会经常出现一些想不到的错误 try m_pConnection.CreateInstance(ADODB.Connection _bstr_t strConn = Provider = SQLOLEDB;Da

8、ta Sourse = (local); Initial Catalog =人事管理系统;UID=sa;PWD=; m_pConnection-Open(strConn,adModeUnknown); if(m_pConnection-State = adStateOpen)MessageBox(成功连接数据库 catch(_com_error e) :CoUninitialize(); AfxMessageBox(e.ErrorMessage(); /以下插入人事变更记录 _variant_t ra; _bstr_t strAdd = INSERT INTO PERSONNEL VALUES

9、( / strAdd = strAdd + m_ID + , strAdd = strAdd + m_PERSON + strAdd = 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=

10、strAdd+T where ID=+m_PERSON;/ AfxMessageBox(strAdd); else if(m_CHANGE=2F m_adodc1.SetRecordSource(select * from PERSONNEL m_adodc1.Refresh(); UpdateData(FALSE); 3.员工信息查询修改窗口设计如下:实现功能:可以在所有记录上进行相关信息的查询和修改各部分功能的代码如下 增加新员工信息/*/以下实现按钮触发添加员工信息功能void CUpdateName:OnBUTTONAddName() Persist Security Info=FAL

11、SE/ if(m_pConnection-State = adStateOpen) MessageBox( / AfxMessageBox(e.ErrorMessage(); m_PASSWD = 12345 m_AUTHORITY = INSERT INTO PERSON VALUES ( strAdd = strAdd + m_PASSWD + strAdd = strAdd + m_AUTHORITY + strAdd = strAdd + m_NAME + strAdd = strAdd + m_SEX + strAdd = strAdd + m_BIRTHDAY + strAdd =

12、 strAdd + m_DEPARTMENT + 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);select * from PERSON

13、查询功能/*/连接上面两个组合框的输入值来响应相应的查询信息OnBUTTONCheck() if(m_SelectYes=1 & m_CheckName = ) | (m_SelectYes =2 & m_CheckID = ) CString str = m_adodc1.SetRecordSource(str); m_adodc1.Refresh(); UpdateData(FALSE); else if(m_SelectYes=1) CString str = select * from PERSON where NAME= + m_CheckName + / AfxMessageBox

14、(str); m_adodc1.SetRecordSource(str); m_adodc1.Refresh(); UpdateData(FALSE); else if(m_SelectYes=2)select * from PERSON where ID= + m_CheckID + 删除选定记录/以下实现按钮触发删除当前列表所选择的记录OnBUTTONDeleteName() int ColNum = 2; CString colVal; /要包含头文件Columns.h CColumns cols;Column.h CColumn col; VARIANT v_ColNum,v_Valu

15、e; cols = m_datagrid1.GetColumns(); /调用 GetColumns返回CDataGrid对应的CColumns对象 v_ColNum.vt = VT_I2; /读取ID v_ColNum.iVal = 0; /设置列编号 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) AfxMessag

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

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