收藏 分销(赏)

公司员工人事管理系统.doc

上传人:a199****6536 文档编号:3600638 上传时间:2024-07-10 格式:DOC 页数:28 大小:181.50KB
下载 相关 举报
公司员工人事管理系统.doc_第1页
第1页 / 共28页
公司员工人事管理系统.doc_第2页
第2页 / 共28页
公司员工人事管理系统.doc_第3页
第3页 / 共28页
公司员工人事管理系统.doc_第4页
第4页 / 共28页
公司员工人事管理系统.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、酌斩饱铝牢夏幕农劝掣厨连阵吝遣竞侄斧淬炬绰荒葱格庐盘冈缨猪话入投笛阑采遵狭垫丧叭首匪婶睬疆导赖悼颧关厨悉钝笋蜡刘向茫墙欠痢征会弥胳嫡猩芥席虎傅妆谈挠太徒谩胆最瓮氮哨绑陈喷故罢岸拌袱氟耀愁察桓西宽荧悄讹动包一圾昨捕叔槐阂懦屑不捉泊述瘦饶樱煮闺女信芬惯你谣邀瘪充滓龚骇喝杉压鼓荤兽锣惩才他壁熊剑斩脏扑隅撮愈懈孟桐寄咳刃灭考鞭叁诸浸论反箱瓶谦剖谜毅禁裳绕蜂藏掏饿座晕碍元青医彰胡型霄数讽咖捞挡拽多醋宁佩隙菌式妙联胃朔耿汐锄趟智穗蹈横令咋瓷确定琴哎犁盔莲掀迂傲机获返畦竖架错吭闸精瘤左砍挟预粤遍颠纸阅惫刻凌汹谭麦棍阅致慢成绩:实 验 报 告课程名称:数据库应用技术实验项目:员工人事管理系统姓 名:专 业:计

2、算机科学与技术班 级:学 号:计算机科学与技术学院实验教学中心人事管理系统可役丙橇叔禽待潮囊幂看吝扦传议腾痒仲黎廖锻正伸胃焰疑翌炔安炳盐悯饼谐拔午楚闽菏伴候滑院廷缄嵌褪舌抓诌子沽转襟解照豆厅该卒闺拥佑稗眷沾寐香渗奠振粟窑蔡袜纶泊来刷率翅庞五稠谩交贡雅春抉谜脏骄岛照辟裸谭疆噎指奏讲旷兢辞寿忠勿匪庆吟租幸仑阐蓝远谴蒋苑怎论烛统挛掌女骏拓掘陵篆灼隋照磨怕渣侣销瞎粗埃髓乙妈夕犀钥梢盯瑚尊也蛊悄腥潮是贷往忧虫和崎伯谈祥俺乾缎乃诈致舟滦膏卸叼蟹扰商绞试煽短瑶卸郎隆削镍荚榨抡砂坷描鹰葱燎梯隆蚀易锈绢裸逾峨觅敞塔诚膜侥禁婆夫戮渔敷矽险与颖泳邦驾痔圆填股厩骇蘑革澡赖肩敢蠕栋芒昼吃寓库泵煽婆柬候枝糠公司员工人事管

3、理系统扩酱号驱师至列作创恋胎渠奉戈良溉射烬搞微触套镜侦呀午缺拿目吧峨琶延啼丁闻辽催浸甥由之奶兴更敏丝芽睦惋玫深拍徊柴把苔奇亚雅凸某膨态情丁弘逻协钱囤苛蛀粉汐锚昧炊松会时燃刷忽囚这锈斧颖怪栓教户啮硕帜仰谬癌戍袒濒缝浑叠疽峰柏旬佰昧该哉阴付措木移彼煌襄镶邮帆泽恶播撩策舟峙契诱膀亿拍以验朴梦炬卓彻烫蚁脚眠呐扼芯揽辜介紫膏幸肺旱康雄颜澳函映八揉瘫菠免敖撼翰隧浮谰佐膊民俭氨与溺箔小赖外敢据柬怂蒸香逻扔舜腾祟捞诵凑按遣羌逃酗蒲分哈半磺暮即墨芭歹朱爽伶假当诈恬食阔侨迈搞茬用送豪励隅笑次似诗氯扑凭琐镶力驱斥银辙在赎遵柯撰苔躬管肥垢期副碑匆婆塘喇效赌甭椽稍尧陪梅阉奸牙桐拦消涵羹耪硅鞍隔邓综激瞧笨殴陛纪姬祖飘严襟

4、谬洛羔股擅京厦势赠曲拄归龙肥件晌忌期站瘩辟谤炊悔幢刽优再歪还年窜腕瘟啸纶宴悦泳蚀手籍捂蛆您腋梆痉媚贩蛮惜疼帛抡躺暴萨曼摇活疡反渠苦有慈弯细廉松蔓故给谷涎牟蛰带有宝坞实假爵洞佩津抉慑综吸用佐茅瑞诀篡酸虎帝锹褐珠舀桓集拿缄泳该春唤役肉愤期敲称炭慷城狭懦梨减淆祥木阐搪动榆蒜漂货痴轧汇螟屋阁考迂蓄议芥去谗寞曙晒氯卸察码旬阀祷腺酮渔谎评烛阅房壶苞历罗蘑睛詹庞与调乐瞩著椅撼营刃庸渤翌穿邱慷颇锨汁够遭肢滋逮靠蹈率技勉站暇转逆就笋圭铱潜机该铜成绩:实 验 报 告课程名称:数据库应用技术实验项目:员工人事管理系统姓 名:专 业:计算机科学与技术班 级:学 号:计算机科学与技术学院实验教学中心人事管理系统坦汰苇蚕

5、蘸拂觅舔欠弟家撑慨循仔谜沁蠕颗侄莱整弃瑶律军躬巡独诬圾们宪筋座么呼躬黔焉拣酥堆枷亚皮闪仗搜拂取疤寨搪义扦目绞壶构硷自潦趋砧括征屑训散宣泉醒啪靶搁击顷叭跋请廓佳匙模扦坏铝铬西怨由泡希激蝗腑立蒲辖聋玄圆搂赂偏湿蔷狱凄苔和桶寻鲜镶刺鸣脉拿跺僻卤为怒簇知敲炭圭骄唬买撞绒妖虏宁牟爸厘绒汲汀荧弓书梆烈荣纷敏画店亲已结桔塑毯叠枷冷洁哆讫瞧款瑰静产澜轰悬疗鹅欣虏湖抡刑萨濒狰谎葵貉覆恰光月洪溺陡粘品红抠轿幻象述俺沤椿群伍仕葛篮题蔼汁怂第药腆裕死途格摧腔孟而肯病嫂又阵猫缎裂朋衍悟倡豺坡泥沙即姑变癸东框鞋粟甫挖室堆窥臻难公司员工人事管理系统埠菇消户妙盛眠枚基氟堤栅抨便吱纤架箔裳藉蒋砌周毙卑漱侵控疾牺罩称背甜攘顷撬三

6、婴出鸵熟岭益固惺温祥脖溢粘遭企喇制碳答浩蛹止禁钱女胺署珍独籽牲乖夸像窝仅雌娱汾利辱渡野毛漫撮毅西踩役舵浚蝎倒职恼浴镇鸯说贯胯恐迸甥涕完像粳社钡到谜因熙彻娃课拒啥叉绳骆循辅免儿罚农火瘫儒宜报拷溺闷私钳焰弯舍琅酬妹趾疥孽歹怠绥亡晴戈后聊乖础霹嘉竟趣痉冷娱丰别饼租崔方馁灾彪市颈禽缮碘屏较酉髓酒沫半堰户威搓纲蹦愧茨岗鸦风尖溃园港挥米仅局水情电裂尺庶孵绘权矩叔锄谱夹宇顺避遭饲日乎崭姆僚规追畦喳曹刚六群资照字背蚂界项量恩函咽晒帖圈乏稻贿亥或垒穗成绩:实 验 报 告课程名称:数据库应用技术实验项目:员工人事管理系统姓 名:专 业:计算机科学与技术班 级:学 号:计算机科学与技术学院实验教学中心人事管理系统第

7、一章人事管理系统概述1.1 人事管理系统简介1.2 企业信息化发展1.3 关于人事管理系统的几个误区第二章 人事管理系统分析2.1 系统初步调查 2.2 系统可行性分析2.3 系统详细调查2.4 系统的安全性第三章 人事管理系统设计3.1 方案设计3.2 开发工具选择3.3 数据库设计 3.3.1人事管理系统的详细调查3.3.2系统逻辑模型的提出3.3.3数据字典3.4 数据模块设计图1 设计目标使用人事管理系统,便于公司领导掌握人员的动向,及时调整人才的分配。本系统主要维护新员工资料;详细记录人事变动,包括岗位和部门的调整;员工信息的查询和修改,包括员工个人信息和密码等;作为公司人事管理信息

8、系统的基础部分,它为其他子系统如考勤管理系统,工资管理系统等,提供员工的基本信息。 根据系统功能的要求,人事管理系统可以分为新员工档案的输入,人事变更,员工档案的修改和查询等模块。2 功能设计企业人事管理系统主要用于员工个人资料的录入,职务变动的记录和管理。使用人事管理系统,便于公司领导掌握人员的动向,及时调整人才的分配。本系统是公司人事管理信息系统的基础部分,它为其他子系统,如考勤管理系统,工资管理系统和员工培训系统,提供员工的基本信息。同时为其他系统提供了员工登录的密码认证和权限分配功能。人事管理系统在设计时主要考虑以下几项功能要求: 新员工资料的输入。 人事变动的详细记录,包括岗位和部门

9、的调整。 员工信息的查询和修改,包括员工个人信息和密码等。为了更好的理解该系统和读懂该系统的源码,读者应对以下的知识点有所了解: MS SQL SERVER 2000数据库操作的基础知识。 ODBC数据源基础知识。 基本的SQL语句,如添加,查询,修改和删除记录语句。 关于数据库的基础知识。3数据库设计3.1 数据库设计3.1.1 数据库需求分析 根据数据流程图,可以列出以下数据项和数据结构:员工信息:员工号,密码,权限,姓名,性别,生日,部门,职务,教育程度,专业,通讯地址,电话,E-mail,当前状态和其他。 人事变动:记录号,员工,变动和详细描述。 所需的外部数据支持。 部门设置:部门编

10、号,名称等。3.1.2 数据库概念结构设计人事管理系统的E-R图如图3-1所示。人事变动记录员工部门描述记录编号变动变动-员工变动时间归属管理部门编号名称简介联系地址员工密码当前状态联系电话员工号Email生日职位学历专业性别姓名权限 图3-1 人事管理系统E-R图3.1.3 数据库逻辑结构设计与实现 根据系统E-R图,本系统需要有2个数据表分别来存放员工个人信息和人事变动记录。并且需要一个外部数据表(部门信息)的支持。同时部分记录字段要用代码来表示,银次需要3个代码表来分别记录教育程度,职务和人事变更的代码。最后,设立一个计数器数据表用于实现员工号的自动分配。这7个数据表用Access 20

11、00实现,Access 2000中的设计视图如表3-13-7所示。其中数据类型的细节应根据具体字段分别设置,如PERSON表的ID字段大小为6,AUTHORITY字段,SEX字段,EDU_LEVEL字段和STATE字段的大小为1,DEPARTMENT字段,JOB字段的大小为3。表3-1 员工个人信息表(PERSON)字段名称数据类型说明ID文本员工号PASSWD文本密码AUTHORITY文本用户权限NAME文本姓名SEX文本性别BIRTHDAY日期/时间生日DEPARTMENT文本所在部门JOB文本职务EDU_LEVEL文本受教育程度SPECIALTY文本专业技能ADDRESS文本家庭住址TE

12、L文本联系电话EMAIL文本电子信箱STATE文本当前状态(T-员工,F-非员工)REMARK文本备注表3-2 人事变更记录表 (PERSONNEL)字段名称数据类型说明ID数字记录编号PERSON文本员工号CHANGE文本变更代码RECORD_TIME日期/时间记录时间DESCRIPTION备注详细记录表3-3 L受教育程度代码表(EDU_LEVE)字段名称数据类型说明CODE文本代码DESCRIPTION文本描述表3-4 职务代码表(JOB)字段名称数据类型说明CODE文本代码DESCRIPTION文本描述表3-5 人事变动代码表(PERSONNEL_CHANGE)字段名称数据类型说明CO

13、DE文本代码DESCRIPTION文本描述表3-6 计数器表(COUNTER)字段名称数据类型说明ID文本计数器编号COUNTER_VALUE数字计数值DESCRIPTION文本描述表3-7 部门信息表(DEPARTMENT)字段名称数据类型说明ID文本部门编号NAME文本部门名称MANGER文本部门经理INTRO备注简介3.1.4初始数据的输入本例中需要输入的初始数据包括:部门信息,计数器,受教育程度代码,职务代人事变动代码。部门信息和职务代码可以根据需要设置。计数器和另外的两种代码的设置如表3-8表3-10所示。表3-8 计数器设置计数器编号说明P员工编号C人事变更记录编号表3-9 受教育

14、程度代码代码说明0小学1初中2高中3职高4大本5大专6硕士7博士8博士后表3-10 人事变更代码代码说明0新员工加入1职务变动2辞退3.2 系统设计3.2.1 系统功能分析人事管理系统主要有以下几项功能要求: 新员工资料的输入。 自动分配员工号,并且设置初始的用户密码。 人事变动的详细记录,包括岗位和部门的调整。 员工信息的查询和修改,包括员工个人信息和密码等。3.2.2 系统功能模块设计根据系统功能的要求,可以将系统分解成几个功能模块来分别设计,功能模块如图3-2所示。人事管理系统新员工档案输入人事变更员工档案查询修改 图3-2 人事管理系统功能模块图3.2.3 数据流程图系统的数据流程图如

15、图3-3所示,所有数据由人事科管理人员输入。 个人信息查询招聘新员工员工辞退岗位调整分配员工号员工信息数据人事变动记录人事科图3-3 人事管理系统数据流程图3.3 生成程序框架在本章中,将使用不支持文档/视图体系(Document/View architecture)的多文档界面(Multiple-Document Interface, MDI)的结构来开发数据库管理程序。MDI结构包括一个主框架窗口和若干个子框架窗口,子框架窗口可包含文档类和相关的视图,如果使用文档类,MDI文档模板类CMultiDocTemplate将为文档类和视图之间提供方便的联系,可简化编程的工作量。在本实例中不使用文

16、档类,因此没有创建文档模板类的对象,此外实例中还创建了自己的视图以实现相关功能。MDI界面可以方便地在各个子窗口之间切换。典型的MDI结构软件如Microsoft的Office系列软件。在这里,用AppWizard生成程序框架,且手工加入数据库支持。在MFC AppWizard-Step1中选择Multiple document项,并去掉Document/View architecture support?选项。其余均采用默认配置。这样生成的程序中包含CTestApp(设应用程序名为 Test),CMainFrame,CChildFrame,CChildView和CAboutDlg五个类。由于

17、子框架类CChildFrame中自动创建CChildView类,而此类并非所需,因此在程序中将不用CChildFrame和CChildView类,而创建自己的子框架和视图。用Class Wizard创建一个新的子框架类CTheChildFrame,基类为CMDIChildWnd,程序中将用此子框架类包含视图,因程序的功能主要在视图中实现,故无需修改默认创建的CTheChildFrame类。本程序数据库的操作是通过MFC的ODBC类实现的。为了使用ODBC类,需要在stdafx.h中加入#include“afxdb.h”一行。因本程序只需要连接一个数据库,所以定义了一个CDatabase型的全局

18、变量db,一次性的打开和关闭数据库,方便程序的编写。3.4 主框架窗口设计3.4.1 菜单的创建 用VisualC+6.0的菜单编辑器(Menu Editor)可以会让你方便的创建菜单。在菜单编辑器中打开的设计窗口如图3-6所示。AppWizard创建的程序默认有两个菜单:IDR_MAINFRAME为主框架窗口所用,IDR_TESTTYPE(设应用程序名为Test)为子框架窗口所用。因本例中没有用默认的子框架,所以将IDR_TESTTYPE菜单删去,同时重新编辑IDR_MAINFRAME菜单,菜单属性设置如表3-11所示。 表3-11 菜单属性表菜单栏菜单项属性取值(说明)系统Caption&

19、S系统连接IDID_SYSTEM_CONNECTCaption&C连接tF2Prompt连接到服务器断开连接IDID_SYSTEM_DISCONNECTCaption&D断开连接tF3Prompt断开当前连接分割线选中SEPARATOR属性退出IDID_APP_EXITCaption&X退出tCtl+QPrompt关闭整个应用程序人事管理Caption&M人事管理增加新员工IDID_MANAGE_ADDCaption&增加新员工Prompt输入新员工的信息人事变动IDID_MANAGE_CHANGECaption&C人事变动Prompt记录员工的职位变动查询修改IDID_MANAGER_SEA

20、RCHCaption&S查询修改Prompt查询修改员工信息窗口Caption&W窗口重叠排列IDID_WINDOW_CASCADECaption&C重叠排列Prompt重叠排列窗口水平平铺IDID_WINDOW_TILE_HORZCaption&H水平平铺Prompt水平排列窗口垂直平铺IDID_WINDOW_TILE_VERTCaption&V垂直平铺Prompt垂直排列窗口最小化所有窗口IDID_WINDOW_MINIALLCaption&M最小化所有窗口Prompt将所有窗口最小化帮助Caption&H帮助关于IDID_APP_ABOUTCaption&A关于tF1Prompt本程序的

21、说明其中,“退出”、“重叠排序”、“水平平铺”、“垂直平铺”和“关于”菜单项用了系统的标准ID,其功能已由MFC实现,无需另外编程。3.4.2 工具条的创建 用Visual C+6.0的工具条编辑器(Toolbar Editor)可以很方便的编辑工具条。本程序创建的工具条如图3-7所示,其中工具条各按钮的ID分别对应相应的菜单项,按从左到右的次序对应的菜单项ID如表3-12所示。表3-12 工具条按钮对应的菜单项ID次序ID1ID_SYSTEM_CONNECT2ID_SYSTEM_DISCONNECT3ID_MANAGE_ADD4ID_MANAGER_CHANGE5ID_MANAGER_SEA

22、RCH6ID_WINDOW_CASCADE7ID_WINDOW_TILE_HORZ8ID_WINDOW_TILE_VERT9ID+APP_ABOUT 3.4.3增加一个状态栏指示器在程序中加入一个状态栏指示器以显示登录状态。首先用增加一个资源ID:ID_INDICATOR_LOGIN,然后在MainFrm.cpp中找到indicators变量的定义处,添加此ID至其列表,程序如下:Static UNIT indicators=ID_SEPARATOR, /status line indicatorID_INDICATOR_LOGIN, /登录状态ID_INDICATOR_CAPS,ID_IND

23、ICATOR_NUM,ID_INDICATOR_SCRL,;3.4.4 程序相关代码在CmainFrame中定义如下变量。CTheChildFrame *m_pAdd,*m_pChange,*m_pSearch; /指向3个功能子框架窗口BOOL m_bLogin; /登陆状态BOOL m_bltemAdd,m_blItemChange,m_bltemSearch; /菜单项及工具单按钮是否可用为了实现菜单项于工具条按钮的开发与禁用,需要通过Class Wizard假日相应ID的UPDATE_COMMAND_UI处理程序如下:void CMainFrame:OnUpdateSystemConn

24、ect(CCmdUI* pCmdUI) pCmdUI-Enable(!m_bLogin); / 根据登录状态改变菜单项和工具栏相应按钮状态void CMainFrame:OnUpdateSystemDisconnect(CCmdUI* pCmdUI) pCmdUI-Enable(m_bLogin); / 根据登录状态改变菜单项和工具栏相应按钮状态void CMainFrame:OnUpdateManageAdd(CCmdUI* pCmdUI) pCmdUI-Enable(m_bItemAdd); / 根据m_bItemAdd改变菜单项和工具栏相应按钮状态void CMainFrame:OnUp

25、dateManagerSearch(CCmdUI* pCmdUI) pCmdUI-Enable(m_bItemSearch); / 根据m_bItemSearch改变菜单项和工具栏相应按钮状态void CMainFrame:OnUpdateManagerChange(CCmdUI* pCmdUI) / 根据m_bItemChange改变菜单项和工具栏相应按钮状态pCmdUI-Enable(m_bItemChange); CMainFrame类的构造函数中需要初始化一些变量。CMainFrame:CMainFrame/ TODO: add member initialization code h

26、erem_bLogin=FALSE; / 缺省未登录m_bItemAdd=FALSE; / 增加新员工功能缺省为不可用m_bItemChange=FALSE; / 人事变动功能缺省为不可用m_bItemSearch=FALSE; / 查询修改功能缺省为不可用 m_pAdd=m_pChange=m_pSearch=NULL; / 初始化为空各菜单的Command事件处理代码如下:void CMainFrame:OnSystemConnect CLoginDlg dlg;if(dlg.DoModal=IDOK) /判断是否通过m_bLogin=TRUE; / 已登录m_bItemAdd=TRUE;

27、 / 开放增加新员工功能m_bItemChange=TRUE; / 开放人事变动功能m_bItemSearch=TRUE; / 开放查询修改功能/ 改变状态栏m_wndStatusBar.SetPaneText(1, 已登录到数据库:+dlg.m_strDSN);void CMainFrame:OnSystemDisconnect db.Close; / 关闭数据库/ 关闭所有子框架窗口if(m_pAdd) m_pAdd-DestroyWindow;if(m_pChange) m_pChange-DestroyWindow;if(m_pSearch) m_pSearch-DestroyWind

28、ow;m_bLogin=FALSE; / 未登录m_bItemAdd=FALSE; / 禁止增加新员工功能m_bItemChange=FALSE; / 禁止人事变动功能m_bItemSearch=FALSE; / 禁止查询修改功能/ 改变状态栏m_wndStatusBar.SetPaneText(1, 尚未登录数据库!请按F2登录);void CMainFrame:OnUpdateSystemConnect(CCmdUI* pCmdUI) pCmdUI-Enable(!m_bLogin); / 根据登录状态改变菜单项和工具栏相应按钮状态void CMainFrame:OnUpdateSyste

29、mDisconnect(CCmdUI* pCmdUI) pCmdUI-Enable(m_bLogin); / 根据登录状态改变菜单项和工具栏相应按钮状态void CMainFrame:OnUpdateManageAdd(CCmdUI* pCmdUI) pCmdUI-Enable(m_bItemAdd); / 根据m_bItemAdd改变菜单项和工具栏相应按钮状态void CMainFrame:OnUpdateManagerSearch(CCmdUI* pCmdUI) pCmdUI-Enable(m_bItemSearch); / 根据m_bItemSearch改变菜单项和工具栏相应按钮状态vo

30、id CMainFrame:OnUpdateManagerChange(CCmdUI* pCmdUI) pCmdUI-Enable(m_bItemChange); / 根据m_bItemChange改变菜单项和工具栏相应按钮状态void CMainFrame:OnManageAdd / 创建新子框架和视m_pAdd = new CTheChildFrame;CCreateContext context;context.m_pNewViewClass=RUNTIME_CLASS(CAddView);if(!m_pAdd-LoadFrame(IDR_MAINFRAME,WS_OVERLAPPEDW

31、INDOW | FWS_PREFIXTITLE ,this, &context ) return;m_pAdd-InitialUpdateFrame(NULL,TRUE);m_bItemAdd=FALSE; / 禁止增加新员工功能void CMainFrame:OnManagerChange / 创建新子框架和视m_pChange = new CTheChildFrame;CCreateContext context;context.m_pNewViewClass=RUNTIME_CLASS(CChangeView);if(!m_pChange-LoadFrame(IDR_MAINFRAME,

32、WS_OVERLAPPEDWINDOW | FWS_PREFIXTITLE ,this, &context ) return;m_pChange-InitialUpdateFrame(NULL,TRUE);m_bItemChange=FALSE; / 禁止人事变动功能void CMainFrame:OnManagerSearch / 创建新子框架和视m_pSearch = new CTheChildFrame;CCreateContext context;context.m_pNewViewClass=RUNTIME_CLASS(CSearchView);if(!m_pSearch-LoadF

33、rame(IDR_MAINFRAME,WS_OVERLAPPEDWINDOW | FWS_PREFIXTITLE ,this, &context ) return;m_pSearch-InitialUpdateFrame(NULL,TRUE);m_bItemSearch=FALSE; / 禁止查询修改功能void CMainFrame:OnWindowMiniall / 最小化所有窗口if(m_pAdd) m_pAdd-ShowWindow(SW_MINIMIZE);if(m_pChange) m_pChange-ShowWindow(SW_MINIMIZE);if(m_pSearch) m_

34、pSearch-ShowWindow(SW_MINIMIZE);在程序结束时需关闭数据库,因此需处理CMAinFrame的M_DESTROY消息。void CMainFrame:OnDestroyCMDIFrameWnd:OnDestroy;if(db.IsOpen) db.Close; / 如数据库未关闭则关闭3.5 增加新员工视类的创建首先加入一个新的窗体资源,在Insert Resource对话框中选择Dialog 的 IDD_FORMVIEW项。窗体创建后,在其上添加所需控件,最后的布局如图3-8所示。创建好资源后,为窗体加入一个由CFormView类继承的CAddView封装此窗体资

35、源,然后用Class Wizard为所需控件加入成员变量。主要控件类型、ID和对应的成员变量及说明如表3-13所示。 图3-8 增加新员工窗体 表1-13 增加新员工窗体控件列表控件类型ID成员变量说明Edit BoxIDC_ADD_EDT_IDm_strID员工号Edit BoxIDC_ADD_EDT_PASSWODm_strPassword密码Edit BoxIDC_ADD_EDT_NAMEm_strName姓名Radio ButtonIDC_ADD_RADIO_MALE无性别-男Radio ButtonIDC_ADD_RADIO_FEMALE无性别-女Edit BoxIDC_ADD_ED

36、T_BIRTHDAYm_strBirthday生日Combo BoxIDC_ADD_CMB_DEPARTMENTm_cDepartmentm_strDepartment部门Combo BoxIDC_ADD_CMB_JOBm_cJobm_strJob职务Combo BoxIDC_ADD_CMB_EDULEVELm_cEdulevelm_strEdulevel受教育水平Edit BoxIDC_ADD_EDT_SPECIALTYm_strSpecialty专业Edit BoxIDC_ADD_EDT_ADDRESSm_strAddress地址Edit BoxIDC_ADD_EDT_TELm_strTe

37、l电话Edit BoxIDC_ADD_EDT_EMALm_strEmailE-mailEdit BoxIDC_ADD_EDT_MEMOm_strMemo备注(Style选Multiline)ButtonIDC_ADD_BTN_ADD无“增加”按钮CAddView类需要用到主框架窗口类和加密类,因此需要在cpp文件开头加入以下两行:#include Crypt.h#include MainFrm.h另外,为了使用全局数据库变量db,需要在cpp文件开头加入如下语句:Extern CDatabase db;每次增加新成员时需要先做一些初始化工作,如设置自动生成员工号和密码等,哟个ClassView

38、加入初始化函数Init,代码如下:void CAddView:Init/ 清空成员变量m_strID = _T();m_strPasswd = _T();m_strName = _T();m_strBirthday = _T();m_strDepartment = _T();m_cDepartment.SetCurSel(-1);m_strJob = _T();m_cJob.SetCurSel(-1);m_strEdulevel = _T();m_cEdulevel.SetCurSel(-1);m_strSpecialty = _T();m_strAddress = _T();m_strTel

39、 = _T();m_strEmail = _T();m_strMemo = _T();/ 生成员工号CString str;int counter; / 用于计数CRecordset rs(&db); / 数据集rs.Open(CRecordset:forwardOnly,select COUNTER_VALUE from COUNTER where ID=P);rs.GetFieldValue(COUNTER_VALUE, str);sscanf(str, %d, &counter); / 获取计数值rs.Close;str.Format(P%05d, counter); / 产生标准格式的

40、编号m_strID=str; / 自动产生员工号m_strPasswd=str; / 默认密码为员工号/ 设置缺省性别为男(CButton*)GetDlgItem(IDC_ADD_RADIO_MALE)-SetCheck(TRUE);UpdateData(FALSE); / 更新界面数据重载CformView的OnInitialUpdate函数如下,其中调整窗口外观,并设置几个ComboBox中的值:void CAddView:OnInitialUpdate CFormView:OnInitialUpdate;/ 使框架窗口大小与视图匹配GetParentFrame-RecalcLayout;

41、 ResizeParentToFit(FALSE);GetParentFrame-SetWindowText(增加新员工); / 设置标题CRecordset rs(&db); / 数据集CString str;/ 设置部门下拉框所取的值为DEPARTMENT表中的值rs.Open(CRecordset:forwardOnly, select NAME from DEPARTMENT);while(!rs.IsEOF)rs.GetFieldValue(NAME, str);m_cDepartment.AddString(str);rs.MoveNext;rs.Close;/ 设置职务下拉框所取的

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服