人事考勤管理系统c++课程设计文档

上传人:灯火****19 文档编号:48346492 上传时间:2022-01-04 格式:DOCX 页数:54 大小:667.54KB
收藏 版权申诉 举报 下载
人事考勤管理系统c++课程设计文档_第1页
第1页 / 共54页
人事考勤管理系统c++课程设计文档_第2页
第2页 / 共54页
人事考勤管理系统c++课程设计文档_第3页
第3页 / 共54页
资源描述:

《人事考勤管理系统c++课程设计文档》由会员分享,可在线阅读,更多相关《人事考勤管理系统c++课程设计文档(54页珍藏版)》请在装配图网上搜索。

1、编号:时间:2021年X月X日书山有路勤为径,学海无涯苦作舟 页码:第15页共50页第5页共50页课程设计人事考勤管理系统目录第 一 部 分: 开 发 背景3第二部分:系统分析3第三部分:系统设计9第 四 部 分: 公 共 类 设if15第 五 部 分: 主 题 窗 设计16第六部分:用户登录模块设计17模块设模块设第七部分:用户管理计20第八部分:部门管理计23第九部分:人员信息管理模块设计32第 十 部 分: 考 勤 模 块 设计40第十一部分:考勤汇总模块设计45第十二部分:后续补充部分:一些过程的具体实现方法总结 及图片解释:51 第 十 三 部 分:心得51人事考勤管理系统开发背景某

2、公司业务不断发展,员工数量不断增加,人事考勤方面 的管理己成为公司管理中的重要部分,但传统的人事考勤制度己 不能有效地管理员工的出勤状况,急需一套人事考勤管理的有效 工具一一人事考勤管理系统。二、系统分析1)需求分析通过对人事考勤管理过程的研究和分析,要求本系统应该具有 以下功能。a)用户登录。b)部门信息录入c)人员信息管理d)考勤信息录入e)考勤信息汇总。2)系统功能描述用户需要输入用户名和密码进入人事考勒管理系统,对各部 门、员工的基本信息进行维护和管理。在考勤管理模块中录入员 工当天的考勤信息,同时可对年、月、员工进行查询。此外,还 可以通过考勤汇总查询模块对员工某月的考勤记录进行汇总

3、,计 算出员工月工作天数、早退、迟到的天数。三、系统设计1)系统目标人事考勤管理系统以实现员工日常出勤信息管理为设计目标, 加以强大的数据库管理功能,可以极大地提高人事部门的日常工 作效率。本系统在设计时满足以下儿点:a)采用人机对话的操作方式,信息查询灵活、方便、快捷、准确, 数据存储安全可靠。b)对考勤信息的操作简单,可以方便地进行添加、修改、和删除。 c)可以录入员工信息、部门信息。d)对员工的考勤信息按月汇总计算。e)对用户输入的数据,系统进行严格的数据检验,尽可能排除人为 错误。f)系统最大限度地实现了易维护性和易操作性。g)系统运行稳定、安全可靠。2)系统功能结构人事考勤管理系统的

4、功能结构如图所示:编号:时间:2021年X月X日书山有路勤为径,学海无涯苦作舟页码:第#页共50页3)业务流图人事考勤管理系统业务流程图如图:4)系统预览:人事考勤管理系统由多个功能模块组成,下面仅列出一些典 型的功能模块,其他模块以后陆续列出:a)部门管理模块如图:第13贞共50页编号:时间:2021年x月X日书山有路勤为径,学海无涯苦作舟 页码:第11页共5。页第7页共50页主要管理各部门之间的结构信息 b)用户管理模块如图:用户管理名户四四用李龙赵用于用户的一些操作管理C)人员信息管理如图:人员信息人员信息管理部门信息人员编招M员名称性别 民族国全部汉汉汉男里男男三四四二张李赵王12 4

5、o o O 1 o o o O o o o O退出修改删除主要用于维护员工的基本信息d)考勤管理模块如图:考功管理底显示全部 年;Izoii 月;ITT 员工:|(全部) 三|人员姓名上班时间下既时间四刘刘三六李小小张赵上班考勒时间下班考勤时间请假类别8:00:0017:00:008:00:0017:00:006:00:0017:30:008:00:0015:30:0010:00:0017:00:008:00:0017:00:008:00:00 nnnn17:00:0017-nn-nn10:10:00 a nn-nn16:50:001 7-nn-nn假UP UP茸忙UPI ,添加 |修改 |删

6、除 |退出 |用于记录人事考勤的信息e)考勤汇总查询如图:三四四二张军赵王对员工的考勤信息进行汇总统计5)数据库设计A.数据库分析人事考勤系统采用SQL Server 2008数据库,数据库名称为 tb_person在数据库中建立四个表存储不同的信息,如图:3 软痢年O 系统蓼据库 U tb-person 缚库关系图日口表0 u至统表田 dbo.tab.check(3 口 dbo.tab-DeptS d b o .ta b_E m p I oyees国 2 dbo.Tab-User m irnraB.数据库逻辑设计a)管理员信息表(tab_user),用于保存管理员的信息,如图:LONGFH-

7、PCSQLEX.n列名 ID-db&.Tab.User X数据类型 允许Null值int空 U serNamev archar(50)Passwordv archar(50)b)部门信息表(tab.Dept)用于记录部门的信息,如图:/LONGFEI-PCSQLEK.n - dbo.tab_Dept X列名数据类型允许Null fi IDint? DeptNamevarcharC50)BMemover char (50)回PIDintoBC)考勤信息表(tab_check)用于记录考勤信息/LON GFEI-PCSQLEX.n-dbo.tab_check X列名数据类型允许Null值 auto

8、idint另 namevarchar(50)? checkdatedatetimeondutytimedatetimeoffdutytimedatetimeontimedatetimeofftimedatetimeleavevarar(50)onleavedatetimeoffleavedatetimelatetimedatetimeleaveearlydatetimememovarchar(200)c)员工信息表(tab_Employees)保存公司员工信息,如图:编号:时间:2021年X月X日书山有路勤为径,学海无涯苦作舟页码:第1。页共5。页LONGFEI-PCSQLEX.dbo.tab

9、_Employees列名数据类型允许Null值AutoIDint1 Empdvarchar(50)Emp.NAMEvarchar(50)PhotoimageSexchar(2)Nationalityvarchar)Birthvarchar(20)PoliticaLPartyvarchar-40)Culture_Levelvarchar(40)MaritaLConditionvarchar(20)Family_Placevarchar(60)Id.Cardvarchar(20)Officejjhonevarchar(30)Mobilevarchar(30)Files-Keep-Orgvarcha

10、r(lOO)Hukouvarar(100)HireDatevarchar(20)DeptintDutyvarchar40)Memovarchar(200)四、公共类设计本系统采用ADO连接数据库。为了能够方便的使用ADO建立 数据库连接并进行相应的数据操作,在公共类中对系统中是使用 的ADO操作进行了封装。在系统中建立了 ADO的两个公共类 CADOConnection和CADODataSet,这两个类定义在ADO.h头文件 中,实现在ADO.cpp文件中。A. CADOConnection 类CADOConnection类是用来连接数据库的,实现了对Connection接口 的封装。CADO

11、Connection类在头文件中的定义如下:#import HC:Program FilesXCommon FilesSystemadomsadol5.dllH no_namespace rename(HEOFV,adoEOFM)class CADOConnectionprivate:static void InitADO。,初始化 ADOstatic void UnlnitADOO;protected:_ConnectionPtr m_Conneclion; 指针接 口public:BOOL IsOpen();判断是否与数据庠连接 _ConnectionPtr GetConnection。,

12、获取连接接 口 CString GetSQLConStr。”获取 SQL 连接字符串 BOOL Open(CString ConStr); 建立数据库连接CADOConnectionO;virtual -CADOConnection(); );CADOConnection类的实现代码如下:CADOConnection * GetConnection()/GetConnection函数是一个全局函数,用于返回全局数据 库连接对象的的指针 (return &g_Connection; )CADOConnection:CADOConnection()/CADOConnection 方法是构造方法,用

13、于初始化 OLE 和创建.Connection接口指针 (InitADOO;m_Connection.CreateInstance(HADODB.ConnectionN); )CADOConnection:CADOConnection()/-CADCX2onnection 方法是构造方法,用于取消 OLE 的初始化和释放.Connection接口指针 (if (IsOpenO)m_Connection-Close();m_Connection = NULL; UnlnitADOO;)void CADOConnection:InitADO()/InitADO 是一个静态方法,用于初始化 OLE

14、(if (ConCount+ = 0) CoInitialize(NULL);;第13贞共50页编号:时间:2021年x月X日书山有路勤为径,学海无涯苦作舟 页码:第15页共50页void CADOConnection:UnInitADO()/UnInitADO 是一个静态方法,用于取消初始化 OLE (if (-ConCount = 0)CoUninitializeO;);BOOL CADOConnection:Open(CString ConStr)通过指定的数据库连接字符串于SQL数据 库建立连接 (if (IsOpcnO)m_Connection-Close();m_Connectio

15、n-Opcn(GbstrJ)ConStr/Mu,adModeUnknown);return IsOpenO;)CString CADOConnection:GetSQLConStr()生成数据库连接需要的字符串 (CString Str;Str.Format(HProvider=SQLOLEDB.l integrated Security=SSPI:Persist SecurityInfo=False;Initial Catalog=tb_person:Data Source=LONGFEI-PCSQLEXPRESSH); return Str;)_ConnectionPtr CADOConn

16、ection:GetConnection()该方法用于返回Connection 接 口 指针 (return m_Connection;)BOOLCADOConnection:IsOpen()判断当前数据库连接对象与数据库的连接状态(long State;m_Connection-get_State(&State);if (State = adStateOpcn)return true;return false;CADODataSet类的定义如下:class CADODataSet(protected:_RecordsetPtr m_DataSetH 数据集接 口 指针CADOConnccti

17、on *m_Connection;数据库连接对象public:BOOL Open(CString SQLStnint LockType),打开记录集void Dclete();i己录删除int GetRecordNo。;获取记录集行号void move(int nlndex);移动记录指针void Save();保存对记录集的修改void SetFieldValue(CString FieldName._variant_t Value),设置字段的值void AddNew();添力口新纪录BOOL Next();记录集指针指向下一个记录FieldsPtr GetFields();获取记录集字段

18、集合 int GetRecordCount();获取记录集中记录数量 void SetConnection(CADOConnection *pCon);设置记录集的数据库连接对象 BOOL Open(CString SQLStr);打开记录集CADODataSetO;virtual -CADODataSetO;private:BOOL IsOpenO;CADODataSet类的实现如下:CADODataSet:CADODataSet()该方法为记录集实现类的构造方法,在该方法中实现记录 集接口对象的创建 (m_DataSet.CreateInstance(HADODB.RecordsetH);

19、CADODataSet:CADODataSet() 实现记录集的关闭与接口的释放 (if (IsOpcnO)ni_DataSet-Close();m_DataSet = NULL;m_Connection = NULL;)void CADODataSet:SctConnection(CADOConnection *pCon)设置记录集所连接的数据库连 接类的对象(m_Connection = pCon;)int CADODataSet:GetRecordCount()获取记录集中数据的数量if (IsOpcnO)第12贞共50页编号:时间:2021年X月X日书山有路勤为径,学海无涯苦作舟页码:

20、第17页共50页return m_DataSet-GetRecordCount();elsereturn 0;)BOOL CADODataSet:Open(CString SQLStr)打开数据集 (if (IsOpcnO)m_DataSet-Close();/*/m_DataSet-OpcnLbstrJ(SQLStr),_variant_t(IDispatch*)g_Connection.GetConnection(), tnie), adOpenKeyset, adLockOptimistic, adCmdText);return IsOpenO;/*/)BOOLCADODataSet:I

21、sOpen()判断数据集是否处于打开状态 (long State;m_DataSet-get_State(&State);if (State = adStateOpen) return true;return false;)FieldsPtr CADODataSet:GetEekls()用来获取记录集中字段的集合(return m_DataSet-GetFields();)BOOLCADODataSet:Next() 记录集指车十下移一位(if (m_DataSet-adoEOF)return false;m_DataSet-MoveNext();return true;)void CADOD

22、ataSet:AddNew()m_DataSet-AddNew();)void CADODataSet:SetFieldValue(CString FieldNamc. _variant_t Value)想记录集中指定的字 段赋值(m_DataSet-PutCollect(Cbstr_t)FieldName,Value);)void CADODataSet:Save()保存记录集数据所做的修改(m_DataSet-Update();)void CADODataSct:move(int nlndex)将记录集的当前指针移动到指定的索引位置(m_DataSet-MoveFirst();m_Data

23、Set-Move(nIndex);)int C ADODataSet: :GetRecordNo()获取记录集中的当前行号(return m_DataSet-AbsolutePosition;)void CADODataSet:Delete()删除记录集中的当前行(m_DataSet-Delete(adAffectCurrent);)BOOL CADODataSet: :Open(CString SQLStr, int LockType)(if (IsOpcnO)m_DataSet-Close();/*/m_DataSet-Opcn(_bstrJ(SQLStr),_variantJ(IDisp

24、atch*)g_Connection.GetConnection(), true), adOpenKcyset,(LockTypeEnum) LockType, adCmdText);return IsOpenO;)五、主题窗设计第13贞共50页编号:时间:2021年X月X日书山有路勤为径,学海无涯苦作舟页码:第19页共50页A.主题窗由菜单和图片组成,如图:B.主题窗设计步骤:a.启动visual C+,选择File/New命令,打开New对话框b.在左侧选择 MFC AppWizard (exe)选项,在 Project name 编辑框中输入工程名称,在location编辑框中设置保存工

25、程的路径, 然后单击OK按钮,打开MFC AppWizard对话框,选择对话框编程, 打.击fishc.像工程中导入位图,菜单资源(具体操作在最后有补充)六、用户登录模块设计A.概述,登录界面是每个管理系统应该具备的,木系统的登录模块如图:B. 技术分析窗体应在主题窗创建之前并显示,在登录窗体创建的同时应 该建立数据库连接,具体操作如下:BOOLbCon=、GetConnection()-Open(GetConnection()-GetSQLConStr();CLoginDialog logindig;if (logindlg.DoModalO != IDOK)return false;:Co

26、Initialize(NULL);CPersonDlg dig;c.实现过程a.创建一个对话框b,向对话框中添加两个静态文本控件、一个编辑框控件、和 两个按钮控件。分别设置两个静态文本控件的Caption属 性为用户名”和“密码”设置编辑框控件类型为password; 分别设置连个按钮为“确定”和“取消工C.在窗体初始化方法中创建川户表的数据,并将用户添加到 列表框控件中。代码如下:BOOL CLoginDialog: :OnInitDialog()(CDialog: :OnInitDialog();m_DataSet.SetConnection(GetConnection();m_DataS

27、et.Open(HSelect * From Tab_Usern);int count = m_DataSet.GetRecordCount();第13贞共50页编号:时间:2021年x月X日书山有路勤为径,学海无涯苦作舟 页码:第21页共50页for (int i = 0; iItemLMUs erNameH- Value);m_DataSet.Next();)m.UserList.SetCurSel(O);return TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pa

28、ges should returnFALSE)d.确定按钮事件代码如下:void CLoginDialog:OnLogin() (CString sql.usenpass;m_UserList.GetWindowText(user);m_PassWord.GetWindowText(pass);sql.Format(HSelect * From tab_user Where UserName = %s and Password = %s”,usenpass);m_DataSet.Open(sql);if (m_DataSet.GetRecordCount() = 1) (:SetUserNam

29、e(user);this-OnOK();)else AfxMessageBox(用户名或密码不正确! ”);)七、用户管理模块A.概况:能实现添加,修改,删除等操作如图:退出I添加 I 修改I 删除IB.实现过程:a. 创建一个对话框b. 向对话框中添加相应的控件c. 给对话框添加对话框类d. 给类添加函数及成员变量e. 给控件关联变量f. 编写函数C.实现代码:a.定义UpdateGrid方法用来更新列表视图中的信息代码如下:void CUserManage:UpdateGrid()(m_DataSet.Opcn(uSelect * From tab_UserH);ni_grid.Delet

30、eAllItems();for (int i = 0 ; i ItemLHUserNa meM-Value);int no = m_DataSet.GetRecordNo():m_grid.SetItemData(ijio);第12贞共50页编号:时间:2021年X月X日书山有路勤为径,学海无涯苦作舟页码:第23页共50页m_DataSet.Next();b.添加按钮代码如下:void CUserManage:OnAppend()(CUserEdit useredit;if (useredit.DoModal() = IDOK)(m_DataSet.AddNew();nvDataSet.Set

31、FieldValueCUserNamcGbstrJJuseredit.nanic);m_DataSet.Save();UpdateGridO;C.删除按钮代码:void CUserManage:OnDelete() (if (MessageBox。是否删除此记录!,提示,MB_YESNOIMBJCONWARNING) = IDYES) (int no = m_grid.GetItemData(m_grid.GetSelectionMark();m_DataSet.move(no-1);m_DataSet.Dclete();m_DataSet.Save();UpdateGridO;)d.修改按钮

32、代码:void CUserManage:OnEdit() (CUserEdit useredit;int no = m_grid.GetIteniData(m_grid.GetSelectionMark();m_DataSet.move(no-1);useredit.name=(char*)Gbstr_t)m_DataSet.GetFields()-ItemLHUserNamen- Value;if (useredit.DoModalO = IDOK)m_DataSet.SetFieldValue(HUserName,GbstrJ)usercdit.name);m_DataSet.Save()

33、;UpdateGridO;)八、部门管理模块设计A.概述:该模块记录了部门间的的层次结构和部门信息, 一般使用树控件实现,如图:B. 实现过程:a.创建一个对话框b.向对话框中添加相应的控件C.给对话框添加对话框类d.给类添加函数及成员变量e.给控件关联变量f.编写函数C.相关代码如下:BOOL CDcptManage:OnInitDiak)g() 初始化函数 (CDialog:OnInitDialog();m_DataSet.SetConnection(:GetConnection();UpdateDcptO;return TRUE; 将部门信息一次性读入树控件中,代码如下:void CDe

34、ptManage:GetNode(HTREEITEM pNode, int nPid) (HTREEITEM node;CADODataSet DataSet;DataSet.SetConnection(: :GetConnection();CString str;str.Forniat(NSelect * From tab_Dept where pid = %d”.nPid);DataSet.Open(str);int count = DataSet.GetRecordCountO;int ID:.variantvalue;for (int i = 0;iItemrDcptNamu”-Val

35、u e,pNode); value = CvariantJ)DataSet.GetFields()-Item,IDH-Value; ID = value.intVal: m_tree.SetItemData(node.ID); GetNode(nodcJD); DataSet.NextO; ) )定义GetNode方法,用于按成次级关系获取部门表中的所有数据,并添加树控件,该 方法由UpdateDept方法进行调用,代码如下;void CDcptManage:UpdateDept() mJrec.DeleteAllItemsO;GetNode(TVI_ROOT.O);)void CDeptMa

36、nage:OnAdd()(CDeptEdit deptedit;if (deptedit.DoModalO = IDOK) (HTREEITEM pNode = m_tree.GetSelectedItem();int pID:if (deptedit.isroot)pID = 0;elsepID = m_tree.GetIteniData(pNode);第13贞共50页编号:时间:2021年x月X日书山有路勤为径,学海无涯苦作舟 页码:第27页共50页CADODataSet dataset;dataset.SetConnection(:GetConnection();dataset.Opcn

37、(MSelect top 1 * From tab_DeptH);dataset.AddNew();dataset.SetFieldValue(uDeptNameH,Cvariant_t)deptedit.name);dataset.SetFieldValue(,lmemo,(_variantJ)deptedit.memo);dataset.SetFieldValue(MPID(long)pID);dataset.Save();UpdateDeptO;)单击“修改”按钮时将弹出部门编辑窗体,输入部门信息后单击“确定”按钮,实现部 门信息的修改。代码如下void CDeptManage: :On

38、Edit()(CDcptEdit deptedit;deptcdit.visible = false;HTREEITEM pNode = mJree.GetSelectedltemO;if (pNode = 0)return;int pID = mjree.GetltemData(pNode);CADODataSet dataset;dataset.SetConnection(:GetConnection();CString str;str.Fonnat(HSelect * From tab_Dcpt where id = %dpID);dataset.Open(str);deptedit.n

39、ame=(char)Cbstr_t)dataset.GetFields()-ItemLHDeptNamen- Value;deptedit.memo=(char*)Cbstr_t)dataset.GetFields()-ItemHmemoM- Value;if (deptedit.DoModaI() = IDOK)(dataset.SetFieldValue(uDeptNameM,Cvariant_t)deptcdit.name);dataset.SetFieldValue(,tmemo,(_variantJ)deptedit.memo);dataset.Save();UpdateDeptO;

40、)当单击“删除”按钮时,将删除当前选中的门点,代码如下:void CDcptManage:OnDelete()HTREEITEM pNode = m_tree.GetSelectcdIteni();if (pNode = 0) return;if (MessageBox,是否删除此记录!” J提示:MB.YESNOIMBJCONWARNING) = IDYES)(int pID = m_tree.GetIteniData(pNode);CADODataSet dataset;dataset.SetConnection(:GetConnection();CString str;str.Forma

41、t(Select * From tab_Dept where id = %d”,pID);dataset.Open(str);dataset.DcleteO;dataset.Save(); UpdateDeptO;九、人员信息管理模块设计A. 概述:人员信息管理模块根据部门分类显示人员,同时可 对人员信息进行维护,界面如下:人员信息管理I迎人员信息部门信息田全部人员编号I人员名称性别 民簇12 4o o O 1 o o o O o o o O三四四二张李越王里里男里汉汉双frr修改删除退出B. 实现过程:a. 创建对话框b. 向对话框中添加相应的控件C. 给对话框添加对话框类d. 给类添加函数

42、及成员变量e. 给控件关联变量C.相关代码:GetNode方法,获取部门信息,并添加到树控件中。该方法由UpdateDept调用,代码如下: void CPersonManage:GetNode(HTREEITEM pNode. int nPid) (HTREEITEM node;CADODataSet DataSet;DataSet.SetConnection(:GetConnection();CString str;str.Fonnat(HSelect * From tab_Dcpt where pid = %dM.nPid);DataSet.Opcn(str);int count = D

43、ataSet.GetRecordCount();int ID;variant t value;for (int i = 0;iItemNIDH-Value;ID = value.intVal:ni_tree.SetItcmData(node.ID):GetNodc(nodeJD);DataSet.NextO; ) )UpdateDpt调用GetNode,实现信息更新,代码如下: void CPersonManage:UpdateDept() (m_tree.DeleteAllItems();HTREEITEM node;node = m_treensertltem(全部”,TVI_ROOT);

44、m_tree.SetIteinData(noder 1);GetNode(node,0); )UpdatcPerson更新人员信息,并将其显示在列表控件中。代码如下: void CPersonManage:UpdatePcrson() ( mJist.DeleteAHItemsO;CADODataSet DataSet;DataSet.SetConnection(:GetConnection();CString str;if (m_DeptID = -1)str.Format(uSelect * From tab_EinployeesH);第12贞共50页编号:时间:2021年X月X日书山有路

45、勤为径,学海无涯苦作舟页码:第31页共50页elsestr.Format(HSelect * From tab.Employees where Dept = %dH.m_DeptID);DataSet.Open(str);int count = DataSet.GetRccordCount();int n = 0;variant t value;for (int i = 0;iItemMEinp_IdM- Value);value = DataSet.GetFields()-ItemHAutoIDM- Value;mJist.SetItemData(n,value.lVal);mJist.Se

46、tItemText(njndex+,GbstrJ)DataSet.GetFields()-ItemHEmp_NAMEH -VaIue);mJist.SetItemText(nJndex+,CbstrJ)DataSet.GetFields()-ItemHSex,- Value);mJist.SetItemText(n.index+5Gbstrj)DataSet.GetFields()-IteniHNationalityH- Value);mJist.SetItemText(n.index+,Cbstrj)DataSet.GetFields()-Item,Birth,- Value) 9mist.

47、SetIten】Text(njndex+,JbstU)DataSet.GetFields()-IteniPolitical_Party” -Value);mJist.SetItemText(njndex+.LbstrJ)DataSet.GetFields()-ItemHCulture_LevelM -Value);mJist.SetItemText(njndcx+,Gbstrj)DataSet.GetFields()-Item,Marital_Condit ionH-Value);mJist.SetItemText(n.index+5Gbstrj)DataSet.GetFields()-Ite

48、m,Id_Card,-Val ue);mist.SetItemText(n,index+,Jbstr_l)DataSet.GetFields()-ItemOffice_phone” -Value);mJist.SetItemText(njndex+,Gbstrj)DataSet.GetFieIds()-Item,Mobile,-Valu e);mJist.SetItemText(nJndex+,CbstrJ)DataSet.GetFields()-Item,HireDateH-Value);m_list.SetItemText(njndex+,Cbstrj)DataSet.GetFields(

49、)-Item,DutyH- Value)mJist.SetItemText(njndcx+5Cbstr_t)DataSet.GetFields()-Iteni,MemoM-VaIu e);mJist.SetItemText(njndex+,Cbstr_t)DataSet.GetFields()-Item,Files_Keep_Or gM-Value);mJist.SetItemText(n4ndex+5Cbstr_t)DataSet.GetFields()-Item,Hukou,-Valu e);mJist.SetItemText(njndex+.Cbstrj)DataSet.GetField

50、s()-Itein,Family_PlaceH -Value);n+;DataSet.Next();单击“添加”按钮,弹出人员编辑窗体,输入人员信息后,单击保存按钮,实现人员的添加 代码如下:void CPersonManage:OnAdd() C PersonEdit personedit;personedit.m_DeptData = m_DeptID:if (personedit.DoModaK) = IDOK)(CADODataSet dataset:dataset.SetConnection(:GetConnection();CString str = select top 1 *

51、from tab_EmployeesM;dataset.Open(str);dataset.AddNew();dataset.SetFieldValue(Emp_Id”,(_bstr_t)personedit.m_id);dataset.SetFieldValue(HEmp_NAMELbstr_t)personedit.m_naine);dataset.SetFieldValue(,Sex,(_bstr_t)personedit.m_sex);dataset.SetFieldValuetNationalitGbstrJJpersonedit.nvnationality);dataset.Set

52、FieldValue(,Birth,(_bstrJ)personedit.m_birth.Format(v%Y-%m-%dH);dataset.SetFieldValueCToliticaLParty.CbstrjJpersonedit.nvfarty);dataset.SetFieldValuetCulture.LevelGbstrJjpersonedit.m-culture);dataset.SetFieldValue(,Marital_Condition,Cbstr_t)personedit.ni_marital); dataset.SetFieldValue(,Id_Card,Gbst

53、r_t)personedit.m_card);dataset.SetFieldValue(uOffice_phoneHX_bstr_t)personcdit.m_office);dataset.SetFieldValuetMobileCbstrJlpersoncdit.mjnobile);dataset.SetFieIdValue(HHireDateH,Cbstr_t)personedit.m_hire.Format(H%Y-%m-%d “);dataset.SetFieldValue(,Duty,(_bstrJ)personedit.m_duty);dataset.SetFieldValue

54、(Memo,Gbstr_t)personedit.m_inemo);dataset.SetFieldValue(nFiles_Keep_OrgCbstr_t)personedit.m_files);dataset.SetFieldValue(,Hukou,CbstrJ)personedit.m_hukou);dataset.SetFieldValue(HFamily_Place,(_bstrJ)personedit.m_famiIy); dataset.SetFieldValue(ndeptM.personcdit.m_DeptData);dataset.Save();UpdatePerson

55、O;)单击“修改”按钮,弹出人员编辑窗体,愉入人员信息后,单击“保存”实现人员信息的修 改,代码如下:void CPersonManage:OnEdit()(if (m_list.GetSelectionMark() = -1)return;int id = mist.GetItemData(n】ist.GetSelectionMark();CPcrsonEdit personedit;CADODataSet dataset;dataset.SetConnection(:GetConnection();CString str;str.Format(Mselect * from tab_Empl

56、oyees where autoid = %d”,id);dataset.Open(str);personedit.mjd = (char *)CbstrJ)dataset.GetFields()-ItemHEnip_Idn-Value;personedit.m_name=(char*)Cbstrj)dataset.GetFields()-Iteni,Emp_NAME,- Value;personedit.m_sex = (char *)Lbstrj)dataset.GetFields()-Item,SexH-Value;personedit.m_nationality=(char*)Cbst

57、r_t)dataset.GetFields()-Itemr,NationalityH- Value;CString birth = (char *)Gbstr_t)dataset.GetFields()-Item,BirthH-Value;if (Ibirth.IsEmptyO)(设置日期数据int yy=atoi(birth.Left(4);int mm=atoi(birth.Mid(6,2);int dd=atoi(birth.Mid(9,2);CTinie tbirth(yyjnm.dd,0,0,0);personedit.m_birth = tbirth;personedit.m_farty=(char*)Cbstr_t)dataset.GetFields()-Itein,PoIitical_Partyn- Value;personedit.m_cultur

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!