人事考勤管理系统c课程设计_第1页
人事考勤管理系统c课程设计_第2页
人事考勤管理系统c课程设计_第3页
人事考勤管理系统c课程设计_第4页
人事考勤管理系统c课程设计_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计nHiHaaanaa»«nnannrainhhhnannhw)人事考勤管理系统目录第一部分:开发背景:3第二部分:系统分析3第三部分:系统设计:.9第四部分:公共类设计.15第五部分:主题窗设计.16第六部分:用户登录模块设计.二17第七部分:用户管理模块设计20第八部分:部门管理模块设计23第九部分:人员信息管理模块设计.32第十部分:考勤模块设计40第十一部分:考勤汇总模块设计45第十二部分:后续补充部分:一些过程的具体实现方法总结及图片解释:.;51第十三部分:心得.51人事考勤管理系统开发背景随着公司业务不断发展,员工数量不断增加,人事考勤方面的管理已成为公

2、司管理中的重要部分,但传统的人事考勤制度已不能有效地管理员工的出勤状况,急需一套人事考勤管理的有效工具一一人事考勤管理系统。二、系统分析1)需求分析通过对人事考勤管理过程的研究和分析,要求本系统应该具有以下功能。a)用户登录。b)部门信息录入c)人员信息管理d)考勤信息录入e)考勤信息汇总。2)系统功能描述用户需要输入用户名和密码进入人事考勤管理系统,对各部门、员工的基本信息进行维护和管理。在考勤管理模块中录入员工当天的考勤信息,同时可对年、月、员工进行查询。此外,还可以通过考勤汇总查询模块对员工某月的考勤记录进行汇总,计算出员工月工作天数、早退、迟到的天数。三、系统设计1)系统目标人事考勤管

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

4、理3)业务流图人事考勤管理系统业务流程图如图:用 户 管 理员 工 信 息 管 理修 改 密 码部门管理考勤查询 34)系统预览:人事考勤管理系统由多个功能模块组成,下面仅列出一些典型的功能模块,其他模块以后陆续列出:a)部门管理模块如图:,部门管理工.;宓J部门信息+图书开发 i网络开发 图应用程序开宣主要管理各部门之间的结构信息名户四四 用李龙赵b)用户管理模块如图用由管理用于用户的一些操作管理c)人员信息管理如图:人黄信里篁碧人员信息部门信,息民族性别人员编号人员名称田全部汉汉汉里勇男里三四四二张李赵王124ooO1oooOoooO退出四刘刘三六李小小张赵17:00:00 15:30:0

5、0 17:00:0016:50:DO 17:00:00主要用于维护员工的基本信息d)考勤管理模块如图:考勤营理17显示全部年二画I二月二TI人员姓名I上班时间下班时间上班考勤时间下班若勘时间清倡类别B:口0:0口17:00:00B:00:006:00:0017:30:008:00:0010:00:0017:OC:00s:oo:oo8:00:0017:00:0010:10:008:00:0017:00:008:00:00删除用于记录人事考勤的信息e)考勤汇总查询如图:考勤I;二总直洵年:20li3月:门3员工:|(全部)三|_退出人员姓名I工作总天颉达到总天敷I早遇总天赦病保总天数I事保总天颉I

6、张二口口口。口李西00000越四00C0C王二00000对员工的考勤信息进行汇总统计4)数据库设计A.数据库分析人事考勤系统采用SQLServer2008数据库,数据库名称为tb_person在数据库中建立四个表存储不同的信息,如图:3口数幅阵®CJ系统数据库Eltb_persor图u数据库关系图臼LJ表0口素统表国_3dbo.tab_check1+)ndbo.tab_Dept0_dbc4ab_Employees出ndbcJab_Userml,i立FT瓯1B.数据库概念设计根据介绍的需求分析和系统设计,规划处本系统中使用的数据库实体对象,分别以管理员为实体,部门实体和考勤实体等。下面

7、是实体E-R图a)管理员实体图(密码'<b)部门实体部门实体包括编士编号。部门实体E-R图)Q、管理员/九部门名称,备注信息和上级部门JL部门管理(上级部门管理员包括编号,用户,密码。管理员实体E-Rc)员工实体员工实体包括自动编号匕日等信息。员工E-R图,员工编号,员工姓名,照片,)员工<V(性别)工编号二)CEZ>7d)考勤实体考勤实体包括人员姓名,考勤信息,上班时间,下班时间C.数据库逻辑设计a)管理员信息表(tab_user),用于保存管理员的信息,如图:LONGFElPCSQLEX.n列名-dbo.Tab_UserX数据类型允UNull值IDintVUser

8、NarrevarcharC5O)nPasswordvarchar(50)Bb)部门信息表(tab_Dept)用于记录部门的信息,如图:/LONGFEI-PCSQLEK.n-dbo,tab_DeptX列名数据类型允许Null值IDintBDeptWamevarchar(5O)BMemovarchar(SO)PRintEC)考勤信息表(tab_check)用于记录考勤信息LONGFEI-PCSQLEK.n-dbo.Ub_h«k列名数据类型允许NullflautoidintnamevarchariSO)checkdtedatebmeondutytimedatebrineoffidutvti

9、medatetimentmedatetimeofftimedatetirTieleavevarchar(5O)nleavedatetimeoffleavedatetimelatetimedatetimeleaveearlvdatetinnefTienovarchar(2Q0)c)员工信息表(tab_EmployeeS)保存公司员工信息,如图:LONGFEI-PCSQL£X.dbo.tabEmployeesX列名数据类型允许Null值>AutolDhtn坦Empjdvarchar(5a)nBnpjSlAMEvardiar(50)cPhotoimagegSexchar(2)团Nat

10、ionalityvafchar(4Q)EiBirthvarchar(2Q)Politcal_Partyvarchar(40)gCultureJ_evEvarchar(40)aMaritBl_Conditionvarchar(20)回FamilyJlacewarchar(60)IdjCardvarchar(2Q)Office_phonevarchar(30)Mobilevacchar(30)aFiles_Keep_Orgvarchar(lOO)Hukcuvarchar(lOO)回HireDatevarchar(2Q)DeptintDutyvarchar(40)国Memovarchar(200)g

11、n四、公共类设计本系统采用ADO连接数据库。为了能够方便的使用ADO%数据库连接并进行相应的数据操作,在公共类中对系统中是使用的ADO操作进行了封装。在系统中建立了ADO的两个公共类CADOConnection和CADODataSe区两个类定义在ADO.h头文件中,实现在ADO.cpp文件中。A.CADOConnection类CADOConnection类是用来连接数据库的,实现了对Connection接口的封装。CADOConnectio卷在头文件中的定义如下:#import"C:ProgramFilesCommonFilesSystemadomsado15.dll"no

12、_namespacerename("EOF","adoEOF")classCADOConnectionprivate:staticvoidInitADO();初始化ADOstaticvoidUnInitADO();protected:_ConnectionPtrm_Connection;/指针接口public:BOOLIsOpen();/判断是否与数据库连接_ConnectionPtrGetConnection();/获取连接接口CStringGetSQLConStr();获取SQL连接字符串BOOLOpen(CStringConStr);建立数据库连接

13、CADOConnection();virtualCADOConnection();CADOConnection类的实现代码如下:CADOConnection*GetConnection()/GetConnection函数是一个全局函数,用于返回全局数据库连接对象的的指针return&g_Connection;CADOConnection:CADOConnection()/CADOConnection方法是构造方法,用于初始化OLE和创建Connection接口指针InitADO();m_Connection.CreateInstance("ADODB.Connection&q

14、uot;);CADOConnection:CADOConnection()/CADOConnection方法是构造方法,用于取消OLE的初始化和释放Connection接口指针if(IsOpen()m_Connection->Close();m_Connection=NULL;UnInitADO();voidCADOConnection:InitADO()/InitADO是一个静态方法,用于初始化OLEif(ConCount+=0)Colnitialize(NULL);voidCADOConnection:UnInitADO()UnInitADO是一个静态方法,用于取消初始化OLEif(

15、-ConCount=0)CoUninitialize();;BOOLCADOConnection:Open(CStringConStr)通过指定的数据库连接字符串于SQL数据库建立连接if(IsOpen()m_Connection->Close();m_Connection->Open(_bstr_t)ConStr,"","",adModeUnknown);returnIsOpen();CStringCADOConnection:GetSQLConStr()/生成数据库连接需要的字符串CStringStr;Str.Format("P

16、rovider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=tb_person;DataSource=LONGFEI-PCSQLEXPRESS");returnStr;_ConnectionPtrCADOConnection:GetConnection()该方法用于返回Connection接口指针returnm_Connection;BOOLCADOConnection:IsOpen()/判断当前数据库连接对象与数据库的连接状态longState;m_Connection-&g

17、t;get_State(&State);if(State=adStateOpen)returntrue;returnfalse;CADODataSet类的定义如下:classCADODataSetprotected:_RecordsetPtrm_DataSet;/数据集接口指针CADOConnection*m_Connection;/数据库连接对象public:BOOLOpen(CStringSQLStr,intLockType);/打开记录集voidDelete。;/记录删除intGetRecordNo();/获取记录集行号voidmove(intnIndex);/移动记录指针voi

18、dSave();保存对记录集的修改voidSetFieldValue(CStringFieldName,_variant_tValue);/设置字段的值voidAddNew();/添加新纪录BOOLNext();/记录集指针指向下一个记录FieldsPtrGetFields();/获取记录集字段集合intGetRecordCount();获取记录集中记录数量voidSetConnection(CADOConnection*pCon);设置记录集的数据库连接对象BOOLOpen(CStringSQLStr);/打开记录集CADODataSet();virtualCADODataSet();pri

19、vate:BOOLIsOpen();CADODataSe糜的实现如下:CADODataSet:CADODataSet()/修方法为记录集实现类的构造方法,在该方法中实现记录集接口对象的创建m_DataSet.CreateInstance("ADODB.Recordset");CADODataSet:CADODataSet()/实现记录集的关闭与接口的释放if(IsOpen()m_DataSet->Close();m_DataSet=NULL;m_Connection=NULL;voidCADODataSet:SetConnection(CADOConnection*p

20、Con)/设置记录集所连接的数据库连接类的对象m_Connection=pCon;intCADODataSet:GetRecordCount()/获取记录集中数据的数量if(IsOpen()returnm_DataSet->GetRecordCount();elsereturn0;BOOLCADODataSet:Open(CStringSQLStr)/丁开数据集if(IsOpen()m_DataSet->Close();/*/m_DataSet->Open(_bstr_t(SQLStr),_variant_t(IDispatch*)g_Connection.GetConnec

21、tion(),true),adOpenKeyset,adLockOptimistic,adCmdText);returnIsOpen();/*/BOOLCADODataSet:IsOpen()/掰J断数据集是否处于打开状态longState;m_DataSet->get_State(&State);if(State=adStateOpen)returntrue;returnfalse;FieldsPtrCADODataSet:GetFields()用来获取记录集中字段的集合returnm_DataSet->GetFields();BOOLCADODataSet:Next()

22、/记录集指针下移一位if(m_DataSet->adoEOF)returnfalse;m_DataSet->MoveNext();returntrue;voidCADODataSet:AddNew()m_DataSet->AddNew();voidCADODataSet:SetFieldValue(CStringFieldName,_variant_tValue)想记录集中指定的字段赋值m_DataSet->PutCollect(_bstr_t)FieldName,Value);voidCADODataSet:Save()/保存记录集数据所做的修改m_DataSet-&

23、gt;Update();voidCADODataSet:move(intnIndex)/将记录集的当前指针移动到指定的索引位置m_DataSet->MoveFirst();m_DataSet->Move(nIndex);intCADODataSet:GetRecordNo()获取记录集中的当前行号returnm_DataSet->AbsolutePosition;voidCADODataSet:Delete()删除记录集中的当前行m_DataSet->Delete(adAffectCurrent);BOOLCADODataSet:Open(CStringSQLStr,i

24、ntLockType)if(IsOpen()m_DataSet->Close();/*/m_DataSet->Open(_bstr_t(SQLStr),_variant_t(IDispatch*)g_Connection.GetConnection(),true),adOpenKeyset,(LockTypeEnum)LockType,adCmdText);returnIsOpen();五、主题窗设计A.主题窗由菜单和图片组成,如图B.主题窗设计步骤:a.启动visualC+,选择File/New命令,打开New对话框b.在左侧选择MFCAppWizard(exe)选项,在Proj

25、ectname编辑框中输入工程名称,在location编辑框中设置保存工程的路径,然后单击OK按钮,打开MFCAppWizard对话框,选择对话框编程,打击fishc.像工程中导入位图,菜单资源(具体操作在最后有补充)六、用户登录模块设计A.概述,登录界面是每个管理系统应该具备的,本系统的登录模块如图:B.技术分析窗体应在主题窗创建之前并显示,在登录窗体创建的同时应该建立数据库连接,具体操作如下:BOOLbCon=、GetConnection()->Open(GetConnectionO->GetSQLConStrO);CLoginDialoglogindlg;if(logindl

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

27、(GetConnection();m_DataSet.Open("Select*FromTab_User");intcount=m_DataSet.GetRecordCount();for(inti=0;i<count;i+)m_UserList.AddString(_bstr_t)m_DataSet.GetFields()->ItemL"UserName"->Value);m_DataSet.Next();m_UserList.SetCurSel(0);returnTRUE;/returnTRUEunlessyousetthefocu

28、stoacontrol/EXCEPTION:OCXPropertyPagesshouldreturnFALSEd.确定按钮事件代码如下:voidCLoginDialog:OnLogin()CStringsql,user,pass;m_UserList.GetWindowText(user);m_PassWord.GetWindowText(pass);sql.Format("Select*Fromtab_userWhereUserName='%s'andPassWord='%s'",user,pass);m_DataSet.Open(sql)

29、;if(m_DataSet.GetRecordCount()=1)二SetUserName(user);this->OnOK();elseAfxMessageBox("用户名或密码不正确!");七、用户管理模块A.概况:能实现添加,修改,删除等操作如图:名户四四用李龙赵B.实现过程:a. 创建一个对话框b. 向对话框中添加相应的控件c. 给对话框添加对话框类d. 给类添加函数及成员变量e. 给控件关联变量f. 编写函数C.实现代码:a.定义UpdateGrid方法用来更新列表视图中的信息代码如下:voidCUserManage:UpdateGrid()m_DataSe

30、t.Open("Select*Fromtab_User");m_grid.DeleteAllItems();for(inti=0;i<m_DataSet.GetRecordCount();i+)m_grid.InsertItem(i,(_bstr_t)m_DataSet.GetFields()->ItemL"UserName"->Value);intno=mDataSet.GetRecordNo();m_grid.SetItemData(i,no);m_DataSet.Next();b.添加按钮代码如下:voidCUserManage:

31、OnAppend()CUserEdituseredit;if(useredit.DoModal()=IDOK)m_DataSet.AddNew();m_DataSet.SetFieldValue("UserName",(_bstr_t));m_DataSet.Save();UpdateGrid();C.删除按钮代码:voidCUserManage:OnDelete()if(MessageBox("是否删除此记录!","提示",MB_YESNO|MB_ICONWARNING)=IDYES)intno=m_gri

32、d.GetItemData(m_grid.GetSelectionMark();m_DataSet.move(no-1);m_DataSet.Delete();m_DataSet.Save();UpdateGrid();d.修改按钮代码:voidCUserManage:OnEdit()CUserEdituseredit;intno=m_grid.GetItemData(m_grid.GetSelectionMark();m_DataSet.move(no-1);=(char*)(_bstr_t)m_DataSet.GetFields()->ItemL"

33、UserName"->Value;if(useredit.DoModal()=IDOK)m_DataSet.SetFieldValue("UserName",(_bstr_t));m_DataSet.Save();UpdateGrid();八、部门管理模块设计A. 概述:该模块记录了部门间的的层次结构和部门信息,一般使用树控件实现,如图:丁一一弓匚部门信息I田-图书开发!网络开发引应用程序开发添加|修改I删除|关闭iB. 实现过程:a.创建一个对话框b.向对话框中添加相应的控件c.给对话框添加对话框类d.给类添加函数及成员变量e.给

34、控件关联变量f.编写函数C.相关代码如下:BOOLCDeptManage:OnInitDialog()初始化函数CDialog:OnInitDialog();m_DataSet.SetConnection(:GetConnection();UpdateDept();returnTRUE;将部门信息一次性读入树控件中。代码如下:voidCDeptManage:GetNode(HTREEITEMpNode,intnPid)HTREEITEMnode;CADODataSetDataSet;DataSet.SetConnection(:GetConnection();CStringstr;str.Fo

35、rmat("Select*Fromtab_Deptwherepid=%d",nPid);DataSet.Open(str);intcount=DataSet.GetRecordCount();intID;_variant_tvalue;for(inti=0;i<count;i+)nodem_tree.InsertItem(_bstr_t)DataSet.GetFields()->Item"DeptName"->Value,pNode);value=(_variant_t)DataSet.GetFields()->Item"

36、;ID"->Value;ID=Val;m_tree.SetItemData(node,ID);GetNode(node,ID);DataSet.Next();定义GetNode方法,用于按成次级关系获取部门表中的所有数据,并添加树控件,该方法由UpdateDept方法进行调用,代码如下;voidCDeptManage:UpdateDept()m_tree.DeleteAllItems();GetNode(TVI_ROOT,0);voidCDeptManage:OnAdd()CDeptEditdeptedit;if(deptedit.DoModal()=IDOK

37、)HTREEITEMpNode=m_tree.GetSelectedItem();intpID;if(deptedit.isroot)pID=0;elsepID=m_tree.GetItemData(pNode);CADODataSetdataset;dataset.SetConnection(:GetConnection();dataset.Open("Selecttop1*Fromtab_Dept");dataset.AddNew();dataset.SetFieldValue("DeptName",(_variant_t)

38、);dataset.SetFieldValue("memo",(_variant_t)deptedit.memo);dataset.SetFieldValue("PID",(long)pID);dataset.Save();UpdateDept();单击“修改”按钮时将弹出部门编辑窗体,输入部门信息后单击“确定”按钮,实现部门信息的修改。代码如下voidCDeptManage:OnEdit()CDeptEditdeptedit;deptedit.visible=false;HTREEITEMpNode=m_tree.GetSelectedItem();i

39、f(pNode=0)return;intpID=m_tree.GetItemData(pNode);CADODataSetdataset;dataset.SetConnection(:GetConnection();CStringstr;str.Format("Select*Fromtab_Deptwhereid=%d",pID);dataset.Open(str);=(char*)(_bstr_t)dataset.GetFields()->ItemL"DeptName"->Value;deptedit.memo=(

40、char*)(_bstr_t)dataset.GetFields()->Item"memo"->Value;if(deptedit.DoModal()=IDOK)dataset.SetFieldValue("DeptName",(_variant_t));dataset.SetFieldValue("memo",(_variant_t)deptedit.memo);dataset.Save();UpdateDept();当单击“删除”按钮时,将删除当前选中的节点,代码如下:voidCDeptMan

41、age:OnDelete()HTREEITEMpNode=m_tree.GetSelectedItem();if(pNode=0)return;if(MessageBox("是否删除此记录!","提示",MB_YESNO|MB_ICONWARNING)=IDYES)intpID=m_tree.GetItemData(pNode);CADODataSetdataset;dataset.SetConnection(:GetConnection();CStringstr;str.Format("Select*Fromtab_Deptwhereid=%

42、d",pID);dataset.Open(str);dataset.Delete();dataset.Save();UpdateDept();九、人员信息管理模块设计人员信息A. 概述:人员信息管理模块根据部门分类显示人员,同时可对人员信息进行维护,界面如下:人事信争言理部门信息±1全部人员编号人员名称 性别 民族1 2 4o o O 1 o o o O 0-000三四四二张李越王删除B. 实现过程:a.创建对话框b.向对话框中添加相应的控件c.给对话框添加对话框类d.给类添加函数及成员变量e.给控件关联变量C.相关代码:GetNode方法,获取部门信息,并添加到树控件中。

43、该方法由UpdateDept调用,代码如下voidCPersonManage:GetNode(HTREEITEMpNode,intnPid)HTREEITEMnode;CADODataSetDataSet;DataSet.SetConnection(:GetConnection();CStringstr;str.Format("Select*Fromtab_Deptwherepid=%d",nPid);DataSet.Open(str);intcount=DataSet.GetRecordCount();intID;_variant_tvalue;for(inti=0;i&

44、lt;count;i+)nodem_tree.InsertItem(_bstr_t)DataSet.GetFields()->Item"DeptName"->Value,pNode);value=(_variant_t)DataSet.GetFields()->Item"ID"->Value;ID=Val;m_tree.SetItemData(node,ID);GetNode(node,ID);DataSet.Next();UpdateDpt调用GetNode,实现信息更新,代码如下:voidCPersonMan

45、age:UpdateDept()m_tree.DeleteAllItems();HTREEITEMnode;node=m_tree.InsertItem("全部",TVI_ROOT);m_tree.SetItemData(node,-1);GetNode(node,0);UpdatePerson更新人员信息,并将其显示在列表控件中。代码如下:voidCPersonManage:UpdatePerson()m_list.DeleteAllItems();CADODataSetDataSet;DataSet.SetConnection(:GetConnection();CStr

46、ingstr;if(m_DeptID=-1)str.Format("Select*Fromtab_Employees");elsestr.Format("Select*Fromtab_EmployeeswhereDept=%d",m_DeptID);DataSet.Open(str);intcount=DataSet.GetRecordCount();intn=0;_variant_tvalue;for(inti=0;i<count;i+)intindex=1;m_list.InsertItem(n,(_bstr_t)DataSet.GetFiel

47、ds()->Item"Emp_Id"->Value);value=DataSet.GetFields()->Item"AutoID"->Value;m_list.SetItemData(n,value.lVal);m_list.SetItemText(n,index+,(_bstr_t)DataSet.GetFields()->Item"Emp_NAME"->Value);m_list.SetItemText(n,index+,(_bstr_t)DataSet.GetFields()->Ite

48、m"Sex"->Value);m_list.SetItemText(n,index+,(_bstr_t)DataSet.GetFields()->Item"Nationality"->Value);m_list.SetItemText(n,index+,(_bstr_t)DataSet.GetFields()->Item"Birth"->Value);m_list.SetItemText(n,index+,(_bstr_t)DataSet.GetFields()->Item"Politic

49、al_Party"->Value);m_list.SetItemText(n,index+,(_bstr_t)DataSet.GetFields()->Item"Culture_Level"->Value);m_list.SetItemText(n,index+,(_bstr_t)DataSet.GetFields()->Item"Marital_Condition"->Value);m_list.SetItemText(n,index+,(_bstr_t)DataSet.GetFields()->Item&

50、quot;Id_Card"->Value);m_list.SetItemText(n,index+,(_bstr_t)DataSet.GetFields()->Item"Office_phone"->Value);m_list.SetItemText(n,index+,(_bstr_t)DataSet.GetFields()->Item"Mobile"->Value);m_list.SetItemText(n,index+,(_bstr_t)DataSet.GetFields()->Item"Hir

51、eDate"->Value);m_list.SetItemText(n,index+,(_bstr_t)DataSet.GetFields()->Item"Duty"->Value);m_list.SetItemText(n,index+,(_bstr_t)DataSet.GetFields()->Item"Memo"->Value);m_list.SetItemText(n,index+,(_bstr_t)DataSet.GetFields()->Item"Files_Keep_Org"

52、卜Value);m_list.SetItemText(n,index+,(_bstr_t)DataSet.GetFields()->Item"Hukou"->Value);m_list.SetItemText(n,index+,(_bstr_t)DataSet.GetFields()->Item"Family_Place"->Value);n+;DataSet.Next();单击“添加”按钮,弹出人员编辑窗体,输入人员信息后,单击保存按钮,实现人员的添加代码如下:voidCPersonManage:OnAdd()CPersonEd

53、itpersonedit;personedit.m_DeptData=m_DeptID;if(personedit.DoModal()=IDOK)CADODataSetdataset;dataset.SetConnection(:GetConnection();CStringstr="selecttop1*fromtab_Employees"dataset.Open(str);dataset.AddNew();dataset.SetFieldValue("Emp_Id",(_bstr_t)personedit.m_id);dataset.SetField

54、Value("Emp_NAME",(_bstr_t)personedit.m_name);dataset.SetFieldValue("Sex",(_bstr_t)personedit.m_sex);dataset.SetFieldValue("Nationality",(_bstr_t)personedit.m_nationality);dataset.SetFieldValue("Birth",(_bstr_t)personedit.m_birth.Format("%Y-%m-%d");da

55、taset.SetFieldValue("Political_Party",(_bstr_t)personedit.m_farty);dataset.SetFieldValue("Culture_Level",(_bstr_t)personedit.m_culture);dataset.SetFieldValue("Marital_Condition",(_bstr_t)personedit.m_marital);dataset.SetFieldValue("Id_Card",(_bstr_t)personedit

56、.m_card);dataset.SetFieldValue("Office_phone",(_bstr_t)personedit.m_office);dataset.SetFieldValue("Mobile",(_bstr_t)personedit.m_mobile);dataset.SetFieldValue("HireDate",(_bstr_t)personedit.m_hire.Format("%Y-%m-%d");dataset.SetFieldValue("Duty",(_bstr_t)personedit.m_duty);dataset.SetFieldValue("Memo",(_bstr_t)personedit.m_memo);dataset.SetFieldValue("Files_Keep_Org",(_bstr_t)personedit

温馨提示

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

评论

0/150

提交评论