C++ 人事管理系统Word格式.docx
《C++ 人事管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《C++ 人事管理系统Word格式.docx(27页珍藏版)》请在冰豆网上搜索。
关键字:
人事档案管理VisualC++6.0数据库
1设计目的
2设计需求
2.1主界面
进入系统后的系统主界面如图2-1所示:
欢迎进入人事档案管理系统
管理员名:
口令:
录入与编辑
查询
统计
账号管理
数据库备份
数据库还原
退出
图2-1主界面示意图
2.2设计概述
该系统能实现人事管理的基本功能。
包括进行代码表及个人档案信息的录入编辑、进行上一条及下一条档案信息的显示、按照档案表的形式显示实现按姓名或职工号查询个人档案信息、实现按照文化程度、性别、职称进行档案简单信息的列表显示与统计相关人数,而且还增加了对档案的备份功能和还原功能以及管理员对帐号的管理功能。
系统功能结构图如图2-2所示:
图2-2系统功能结构图
2.3数据库表
由于本系统所需的数据信息量不多,结构也不复杂,因此我们选用了较为简单易行的Access数据库而不选择相对复杂的SQL数据库。
该系统设计所需的数据库表如下:
表名:
m_dadj(档案登记表)
序号
字段名
说明
类型
长度
是否为空
是否主键值
相关表
备注
1
zgbm
职工编码
VC2
6
Notnull
key
2
xm
姓名
12
3
xb
性别
null
4
mz
民族
18
5
csny
出生年月
Date
8
hyzk
婚姻状况
7
whcd
文化程度编码
NUMBER
bm_wh
jkzk
健康状况
10
9
zzmm
政治面貌
zcbm
职称编码
bm_zc
11
jg
籍贯
60
sfzh
身份证号码
20
13
byxx
毕业学校
40
14
zytc
专业或特长
15
hkszd
户口所在地
16
hkxz
户口性质
17
xzz
现住址
100
zw
职务
19
gzm
工种名
jspx
何时技术培训
400
21
jlcf
何时奖励和处分
22
smwt
需要说明问题
200
23
tbrqm
填表人签名
24
tbrq
填表日期
date
25
gsyj
公司审查意见
26
scrq
审查日期
27
ryxz
人员性质
C
28
rcsj
入厂时间
29
ryzt
人员状态
30
bz
31
bmbm
部门编码
bm_bm
cygx(主要成员与社会关系表)
是否主键值
Key&
Foreignkey
m_dadj
Brgx
与本人关系
Null
hzgz
从事何种工作
autoid
主键
bm_zc(职称编码表)
是否键值
Key
zcmc
职称名称
bm_bm(部门编码表)
bmm
部门名
bm_wh(文化程度编码表)
whbm
文化程度名称
VC2
2.4数据库及数据表的设计
该设计建立的数据库命名为Demo01.mdb,以下是在数据库设计过程中的部分视图:
图2-3数据库列表视图
图2-4部门表设计视图
图2-5文化程度表设计视图
图2-6职称表设计视图
图2-7主要关系表设计视图
图2-8档案登记表设计视图
图2-9帐户表设计视图
图2-10各个表之间的关系图
3运行界面及使用说明
经测试,该系统的登陆、录入编辑、查询、统计、档案备份、档案还原和管理员管理账号等功能均能实现,基本完成了系统设计的要求。
运行界面及使用说明如下列各图所示:
打开系统后的界面如图3-1所示。
此时需要输初始用户名和密码:
用户名“test”密码“test”
或用户名“admin”密码“admin”
图3-1登入界面示意图
进入系统后的主界面如图3-2所示:
图3-2主界面示意图
这时,用户可根据需要分别选择实现功能。
图3-3所示为实现录入编辑的示意图。
该功能能够实现在人事档案的里新增录入和修改编辑,简单方便,容易操作。
图3-3录入编辑示意图
图3-4所示为实现查询界面示意图。
在该功能中,可以根据档案中的人员姓名和人员编号直接查询到你所需要的信息。
图3-4查询界面示意图
图3-5所示为实现统计界面示意图。
在该功能中,可以根据档案中的人员姓名、人员职称和文化程度直接查询到你所需要的信息并统计出相关人数。
图3-5统计界面示意图
图3-6所示为实现管理员账号管理示意图。
在该功能中,可以实现管理员对系统登录的用户名和密码的自主修改、添加、删除等功能。
图3-6管理员帐户管理示意图
图3-7所示为实现数据库档案备份示意图。
在该功能中,可以对当前档案进行备份,以便当你在丢失某些重要档案后,可根据档案备份轻松找回。
图3-7档案备份示意图
图3-8所示为实现数据库档案还原示意图。
该功能可以对之前备份的档案进行还原,以便轻松找回你之前在档案里的人事信息。
图3-8档案还原示意图
4主要程序
4.1登入模块源程序
voidCDemo01Dlg:
:
OnOK()
{
//TODO:
Addextravalidationhere
UpdateData(TRUE);
CUserRecordSetm_UserRecordSet;
try
{
if(m_UserRecordSet.IsOpen())
m_UserRecordSet.Close();
m_UserRecordSet.m_strFilter.Format("
UserName='
%s'
andUserPwd='
"
m_strUserName,m_strUserPwd);
m_UserRecordSet.Open(CRecordset:
snapshot,NULL,CRecordset:
none);
if(m_UserRecordSet.IsEOF())
{
AfxMessageBox("
密码错误,请重试!
);
return;
}
else
密码正确,登录成功!
ZJMdlg;
dlg.DoModal();
}
catch(CDBException*e)
e->
ReportError();
//e->
Delete();
return;
CDialog:
OnOK