人事考勤管理系統(tǒng)c++課程設(shè)計文檔_第1頁
人事考勤管理系統(tǒng)c++課程設(shè)計文檔_第2頁
人事考勤管理系統(tǒng)c++課程設(shè)計文檔_第3頁
人事考勤管理系統(tǒng)c++課程設(shè)計文檔_第4頁
人事考勤管理系統(tǒng)c++課程設(shè)計文檔_第5頁
已閱讀5頁,還剩62頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、 課程設(shè)計計 人事考勤勤管理系系統(tǒng) 目錄錄第一部分分:開發(fā)發(fā)背景.3第二部分分:系統(tǒng)統(tǒng)分析33第三部分分:系統(tǒng)統(tǒng)設(shè)計.99第四部分分:公共共類設(shè)計計.15第五部分分:主題題窗設(shè)計計.116第六部分分:用戶戶登錄模模塊設(shè)計計17第七部分分:用戶戶管理模模塊設(shè)計計20第八部分分:部門門管理模模塊設(shè)計計23第九部分分:人員員信息管管理模塊塊設(shè)計322第十部分分:考勤勤模塊設(shè)設(shè)計400第十一部部分:考考勤匯總總模塊設(shè)設(shè)計45第十二部部分:后后續(xù)補(bǔ)充充部分: 一一些過程程的具體體實(shí)現(xiàn)方方法總結(jié)結(jié)及圖片片解釋:551第十三部部分:心心得.511人事考勤勤管理系系統(tǒng)開發(fā)背景景某公司業(yè)業(yè)務(wù)不斷斷發(fā)展,員員工數(shù)

2、量量不斷增增加,人人事考勤勤方面的的管理已已成為公公司管理理中的重重要部分分,但傳傳統(tǒng)的人人事考勤勤制度已已不能有有效地管管理員工工的出勤勤狀況,急急需一套套人事考考勤管理理的有效效工具人事事考勤管管理系統(tǒng)統(tǒng)。二、系統(tǒng)統(tǒng)分析需求分析析 通過對對人事考考勤管理理過程的的研究和和分析,要要求本系系統(tǒng)應(yīng)該該具有以以下功能能。用戶登錄錄。部門信息息錄入人員信息息管理考勤信息息錄入考勤信息息匯總。系統(tǒng)功能能描述用戶需要要輸入用用戶名和和密碼進(jìn)進(jìn)入人事事考勤管管理系統(tǒng)統(tǒng),對各各部門、員工的的基本信信息進(jìn)行行維護(hù)和和管理。在考勤勤管理模模塊中錄錄入員工工當(dāng)天的的考勤信信息,同同時可對對年、月月、員工工進(jìn)行查

3、查詢。此此外,還還可以通通過考勤勤匯總查查詢模塊塊對員工工某月的的考勤記記錄進(jìn)行行匯總,計計算出員員工月工工作天數(shù)數(shù)、早退退、遲到到的天數(shù)數(shù)。三、系統(tǒng)統(tǒng)設(shè)計系統(tǒng)目標(biāo)標(biāo)人事考勤勤管理系系統(tǒng)以實(shí)實(shí)現(xiàn)員工工日常出出勤信息息管理為為設(shè)計目目標(biāo),加加以強(qiáng)大大的數(shù)據(jù)據(jù)庫管理理功能,可可以極大大地提高高人事部部門的日日常工作作效率。本系統(tǒng)統(tǒng)在設(shè)計計時滿足足以下幾幾點(diǎn):采用人機(jī)機(jī)對話的的操作方方式,信信息查詢詢靈活、方便、快捷、準(zhǔn)確,數(shù)數(shù)據(jù)存儲儲安全可可靠。對考勤信信息的操操作簡單單,可以以方便地地進(jìn)行添添加、修修改、和和刪除??梢凿浫肴雴T工信信息、部部門信息息。對員工的的考勤信信息按月月匯總計計算。對用戶輸

4、輸入的數(shù)數(shù)據(jù),系系統(tǒng)進(jìn)行行嚴(yán)格的的數(shù)據(jù)檢檢驗,盡盡可能排排除人為為錯誤。系統(tǒng)最大大限度地地實(shí)現(xiàn)了了易維護(hù)護(hù)性和易易操作性性。系統(tǒng)運(yùn)行行穩(wěn)定、安全可可靠。 系統(tǒng)功功能結(jié)構(gòu)構(gòu)人事考勤勤管理系系統(tǒng)的功功能結(jié)構(gòu)構(gòu)如圖所所示:人事考勤管理系統(tǒng)考勤數(shù)據(jù)錄入考勤信息匯總用戶管理部門信息管理員工信息管理業(yè)務(wù)流圖圖人事考勤勤管理系系統(tǒng)業(yè)務(wù)務(wù)流程圖圖如圖:用戶登錄部門、員工信息 維 護(hù)考 勤 信 息 匯 總 查 詢考 勤 信 息 錄 入系統(tǒng)預(yù)覽覽:人事考勤勤管理系系統(tǒng)由多多個功能能模塊組組成,下下面僅列列出一些些典型的的功能模模塊,其其他模塊塊以后陸陸續(xù)列出出:部門管理理模塊如如圖:主要管理理各部門門之間的的結(jié)構(gòu)

5、信信息用戶管理理模塊如如圖:用于用戶戶的一些些操作管管理人員信息息管理如如圖:主要用于于維護(hù)員員工的基基本信息息考勤管理理模塊如如圖: 用于記記錄人事事考勤的的信息考勤匯總總查詢?nèi)缛鐖D:對員工的的考勤信信息進(jìn)行行匯總統(tǒng)統(tǒng)計數(shù)據(jù)庫設(shè)設(shè)計數(shù)據(jù)庫分分析人事考勤勤系統(tǒng)采采用SQQL SServver 20008 數(shù)數(shù)據(jù)庫,數(shù)數(shù)據(jù)庫名名稱為 tb_perrsonn 在數(shù)數(shù)據(jù)庫中中建立四四個表存存儲不同同的信息息,如圖圖:數(shù)據(jù)庫邏邏輯設(shè)計計管理員信信息表(ttab_useer),用用于保存存管理員員的信息息,如圖圖:部門信息息表(ttab_Deppt)用用于記錄錄部門的的信息,如如圖:C) 考考勤信息息表

6、(ttab_cheeck)用用于記錄錄考勤信信息 員工信信息表(ttab_Empployyeess)保存存公司員員工信息息,如圖圖:四、公共共類設(shè)計計本系統(tǒng)采采用ADDO連接接數(shù)據(jù)庫庫。為了了能夠方方便的使使用ADDO建立立數(shù)據(jù)庫庫連接并并進(jìn)行相相應(yīng)的數(shù)數(shù)據(jù)操作作,在公公共類中中對系統(tǒng)統(tǒng)中是使使用的AADO操操作進(jìn)行行了封裝裝。在系系統(tǒng)中建建立了AADO的的兩個公公共類CCADOOConnnecctioon和CCADOODattaSeet,這這兩個類類定義在在ADOO.h頭頭文件中中,實(shí)現(xiàn)現(xiàn)在ADDO.ccpp文文件中。ACAADOCConnnecttionn類CADOOConnnecctio

7、on類是是用來連連接數(shù)據(jù)據(jù)庫的,實(shí)實(shí)現(xiàn)了對對_Coonneectiion接接口的封封裝。CCADOOConnnecctioon類在在頭文件件中的定定義如下下: #impportt CC:PProggramm FiilessCoommoon FFileesSSysttemadoomssadoo15.dlll no_nammesppacee reenamme(EOFF,adooEOFF)classs CCADOOConnnecctioonprivvatee:staaticc vooid IniitADDO();/初始化化ADOOstaaticc vooid UnIInittADOO();prott

8、ectted:_CoonneectiionPPtr m_CConnnecttionn;/指針接接口publlic:BOOOL IIsOppen();/判斷斷是否與與數(shù)據(jù)庫庫連接_CoonneectiionPPtr GettConnnecctioon();/獲取連連接接口口CSttrinng GGetSSQLCConSStr();/獲取取SQLL連接字字符串BOOOL OOpenn(CSStriing ConnStrr);/建立立數(shù)據(jù)庫庫連接CADDOCoonneectiion();virrtuaal CADDOCoonneectiion();CADOOConnnecctioon類的的實(shí)現(xiàn)代代碼

9、如下下:CADOOConnnecctioon * GeetCoonneectiion()/GettConnnecctioon函數(shù)數(shù)是一個個全局函函數(shù),用用于返回回全局?jǐn)?shù)數(shù)據(jù)庫連連接對象象的的指指針retturnn &gg_Coonneectiion;CADOOConnnecctioon:CADDOCoonneectiion()/CADDOCoonneectiion方方法是構(gòu)構(gòu)造方法法,用于于初始化化OLEE和創(chuàng)建建_Coonneectiion接接口指針針I(yè)niitADDO();m_CConnnecttionn.CrreatteInnstaancee(AADODDB.CConnnecttionn

10、);CADOOConnnecctioon:CAADOCConnnecttionn()/CCADOOConnnecctioon方法法是構(gòu)造造方法,用用于取消消OLEE 的初初始化和和釋放_Connnecctioon接口口指針if (IssOpeen()m_Connnecctioon-Cloose();m_CConnnecttionn = NULLL;UnIInittADOO();voidd CAADOCConnnecttionn:IInittADOO()/InnitAADO是是一個靜靜態(tài)方法法,用于于初始化化OLEEiff (CConCCounnt+ = 0) CCoInnitiialiize(

11、NULLL);voidd CAADOCConnnecttionn:UUnInnitAADO()/UnIInittADOO是一個個靜態(tài)方方法,用用于取消消初始化化OLEEiff (CoonCoountt = 0) CoUUninnitiialiize();BOOLL CAADOCConnnecttionn:OOpenn(CSStriing ConnStrr)/通過指指定的數(shù)數(shù)據(jù)庫連連接字符符串于SSQL數(shù)數(shù)據(jù)庫建建立連接接if (IssOpeen()m_Connnecctioon-Cloose();m_CConnnecttionn-OOpenn(_bsttr_tt)CoonSttr,aadMoo

12、deUUnknnownn);retturnn IssOpeen();CStrringg CAADOCConnnecttionn:GGetSSQLCConSStr()/生成數(shù)數(shù)據(jù)庫連連接需要要的字符符串CSttrinng SStr;Strr.Foormaat(Proovidder=SQLLOLEEDB.1;IInteegraatedd Seecurrityy=SSSPI;Perrsisst SSecuuritty IInfoo=Faalsee;Innitiial Cattaloog=ttb_ppersson;Datta SSourrce=LONNGFEEI-PPCSQLLEXPPRESSS);r

13、etturnn Sttr;_ConnnecctioonPttr CCADOOConnnecctioon:GettConnnecctioon()/該該方法用用于返回回_Coonneectiion接接口指針針retturnn m_Connnecctioon;BOOLL CAADOCConnnecttionn:IIsOppen()/判斷當(dāng)當(dāng)前數(shù)據(jù)據(jù)庫連接接對象與與數(shù)據(jù)庫庫的連接接狀態(tài)lonng SStatte;m_CConnnecttionn-gget_Staate(&Sttatee);if (Sttatee = addStaateOOpenn)reeturrn ttruee;retturnn fa

14、alsee;CADOODattaSeet類的的定義如如下:classs CCADOODattaSeetprottectted:_ReecorrdseetPttr mm_DaataSSet;/數(shù)數(shù)據(jù)集接接口指針針CADDOCoonneectiion *m_Connnecctioon;/數(shù)據(jù)據(jù)庫連接接對象publlic:BOOOL OOpenn(CSStriing SQLLStrr,innt LLockkTyppe);/打打開記錄錄集voiid DDeleete();/記錄錄刪除intt GeetReecorrdNoo();/獲獲取記錄錄集行號號voiid mmovee(innt nnInddex

15、);/移動記記錄指針針voiid SSavee();/保保存對記記錄集的的修改voiid SSetFFielldVaaluee(CSStriing FieeldNNamee,_vvariiantt_t Vallue);/設(shè)置字字段的值值voiid AAddNNew();/添加加新紀(jì)錄錄BOOOL NNextt();/記記錄集指指針指向向下一個個記錄FieeldssPtrr GeetFiieldds();/獲取記記錄集字字段集合合intt GeetReecorrdCoountt();/獲獲取記錄錄集中記記錄數(shù)量量voiid SSetCConnnecttionn(CAADOCConnnecttio

16、nn *ppConn);/設(shè)置置記錄集集的數(shù)據(jù)據(jù)庫連接接對象BOOOL OOpenn(CSStriing SQLLStrr);/打開開記錄集集CADDODaataSSet();virrtuaal CADDODaataSSet();privvatee:BOOOL IIsOppen();CADOODattaSeet類的的實(shí)現(xiàn)如如下:CADOODattaSeet:CADDODaataSSet()/該方法法為記錄錄集實(shí)現(xiàn)現(xiàn)類的構(gòu)構(gòu)造方法法,在該該方法中中實(shí)現(xiàn)記記錄集接接口對象象的創(chuàng)建建m_DDataaSett.CrreatteInnstaancee(AADODDB.RRecoordsset);CADO

17、ODattaSeet:CAADODDataaSett()/實(shí)現(xiàn)現(xiàn)記錄集集的關(guān)閉閉與接口口的釋放放if (IssOpeen()m_DattaSeet-Cloose();m_DDataaSett = NULLL;m_CConnnecttionn = NULLL;voidd CAADODDataaSett:SSetCConnnecttionn(CAADOCConnnecttionn *ppConn)/設(shè)置記記錄集所所連接的的數(shù)據(jù)庫庫連接類類的對象象m_CConnnecttionn = pCoon;int CADDODaataSSet:GeetReecorrdCoountt()/獲取取記錄集集中數(shù)據(jù)據(jù)

18、的數(shù)量量if (IssOpeen()reeturrn mm_DaataSSet-GeetReecorrdCoountt();elssereeturrn 00;BOOLL CAADODDataaSett:OOpenn(CSStriing SQLLStrr)/打開數(shù)數(shù)據(jù)集if (IssOpeen()m_DattaSeet-Cloose();/*/m_DDataaSett-OOpenn(_bbstrr_t(SQLLStrr),_varriannt_tt(IIDisspattch*)g_Connnecctioon.GGetCConnnecttionn(), trrue),aadOppenKKeysse

19、t, addLocckOpptimmisttic, addCmddTexxt);retturnn IssOpeen();/*/BOOLL CAADODDataaSett:IIsOppen()/判斷數(shù)數(shù)據(jù)集是是否處于于打開狀狀態(tài)lonng SStatte;m_DDataaSett-gget_Staate(&Sttatee);if (Sttatee = addStaateOOpenn)reeturrn ttruee;retturnn faalsee;FielldsPPtr CADDODaataSSet:GeetFiieldds()/用用來獲取取記錄集集中字段段的集合合retturnn m_Datt

20、aSeet-GettFieeldss();BOOLL CAADODDataaSett:NNextt()/記錄錄集指針針下移一一位if (m_DattaSeet-adooEOFF)reeturrn ffalsse;m_DDataaSett-MMoveeNexxt();retturnn trrue;voidd CAADODDataaSett:AAddNNew()m_DDataaSett-AAddNNew();voidd CAADODDataaSett:SSetFFielldVaaluee(CSStriing FieeldNNamee, _varriannt_tt Vaaluee)/想記錄錄集中指指

21、定的字字段賦值值m_DDataaSett-PPutCColllectt(_bsttr_tt)FiielddNamme,VValuue);voidd CAADODDataaSett:SSavee()/保存存記錄集集數(shù)據(jù)所所做的修修改m_DDataaSett-UUpdaate();voidd CAADODDataaSett:mmovee(innt nnInddex)/將將記錄集集的當(dāng)前前指針移移動到指指定的索索引位置置m_DDataaSett-MMoveeFirrst();m_DDataaSett-MMovee(nIIndeex);int CADDODaataSSet:GeetReecorrdNo

22、o()/獲取取記錄集集中的當(dāng)當(dāng)前行號號retturnn m_DattaSeet-AbssoluutePPosiitioon;voidd CAADODDataaSett:DDeleete()/刪除記記錄集中中的當(dāng)前前行m_DDataaSett-DDeleete(adAAffeectCCurrrentt);BOOLL CAADODDataaSett:OOpenn(CSStriing SQLLStrr, iint LocckTyype)if (IssOpeen()m_DattaSeet-Cloose();/*/m_DDataaSett-OOpenn(_bbstrr_t(SQLLStrr),_varr

23、iannt_tt(IIDisspattch*)g_Connnecctioon.GGetCConnnecttionn(), trrue),aadOppenKKeysset,(LoockTTypeeEnuum) LocckTyype, addCmddTexxt);retturnn IssOpeen();五、主題題窗設(shè)計計A.主題題窗由菜菜單和圖圖片組成成,如圖圖:B.主題題窗設(shè)計計步驟:a啟動動vissuall c+,選選擇Fiile/Neww命令,打打開Neew對話話框 bb在左左側(cè)選擇擇MFCC ApppWiizarrd(eexe)選選項,在在Proojecct nnamee編輯框框中輸入入工

24、程名名稱,在在loccatiion編編輯框中中設(shè)置保保存工程程的路徑徑,然后后單擊OOK按鈕鈕,打開開MFCC ApppWiizarrd對話話框,選選擇對話話框編程程,打擊擊fissh c像像工程中中導(dǎo)入位位圖,菜菜單資源源(具體體操作在在最后有有補(bǔ)充)六、用戶戶登錄模模塊設(shè)計計概述,登登錄界面面是每個個管理系系統(tǒng)應(yīng)該該具備的的,本系系統(tǒng)的登登錄模塊塊如圖: B . 技術(shù)術(shù)分析 窗體體應(yīng)在主主題窗創(chuàng)創(chuàng)建之前前并顯示示,在登登錄窗體體創(chuàng)建的的同時應(yīng)應(yīng)該建立立數(shù)據(jù)庫庫連接,具具體操作作如下:BOOLLbCoon = 、GettConnnecctioon()-OOpenn(GeetCoonneect

25、iion()-GettSQLLConnStrr();CLogginDDiallog logginddlg;if (logginddlg.DoMModaal() != IDDOK)retuurn fallse;:CooIniitiaalizze(NNULLL);CPerrsonnDlgg dllg;實(shí)現(xiàn)過程程創(chuàng)建一個個對話框框向?qū)υ捒蚩蛑刑砑蛹觾蓚€靜靜態(tài)文本本控件、一個編編輯框控控件、和和兩個按按鈕控件件。分別別設(shè)置兩兩個靜態(tài)態(tài)文本控控件的CCapttionn屬性為為“用戶名名”和“密碼”設(shè)置編編輯框控控件類型型為paasswwordd;分別設(shè)置置連個按按鈕為“確定”和“取消”。C. 在在窗體初

26、初始化方方法中創(chuàng)創(chuàng)建用戶戶表的數(shù)數(shù)據(jù),并并將用戶戶添加到到列表框框控件中中。代碼碼如下:BOOLL CLLogiinDiialoog:OnIInittDiaalogg() CDiialoog:OnIInittDiaalogg();m_DDataaSett.SeetCoonneectiion(GettConnnecctioon();m_DDataaSett.Oppen(Seelecct * Frrom Tabb_Usser);intt coountt = m_DDataaSett.GeetReecorrdCoountt();forr (iint i = 0; iIteemLLUsserNName

27、e-Vaaluee);m_DattaSeet.NNextt();m_UUserrLisst.SSetCCurSSel(0);retturnn TRRUE; / rretuurn TRUUE uunleess youu seet tthe foccus to a cconttroll / EEXCEEPTIION: OCCX PProppertty PPagees sshouuld retturnn FAALSEE確定按鈕鈕事件代代碼如下下:voidd CLLogiinDiialoog:OnLLogiin() CSttrinng ssql,useer,ppasss;m_UUserrLisst.G

28、GetWWinddowTTextt(usser);m_PPasssWorrd.GGetWWinddowTTextt(paass);sqll.Foormaat(Sellectt * Froom ttab_useer WWherre UUserrNamme = %s andd PaassWWordd = %ss,usser,passs);m_DDataaSett.Oppen(sqll);if (m_DattaSeet.GGetRRecoordCCounnt() = 1):SettUseerNaame(useer);thhis-OnnOK();elsseAffxMeessaageBBox(用戶戶名或

29、密密碼不正正確!);七、用戶戶管理模模塊概況:能能實(shí)現(xiàn)添添加,修修改,刪刪除等操操作如圖圖:實(shí)現(xiàn)過程程:創(chuàng)建一個個對話框框向?qū)υ捒蚩蛑刑砑蛹酉鄳?yīng)的的控件給對話框框添加對對話框類類給類添加加函數(shù)及及成員變變量給控件關(guān)關(guān)聯(lián)變量量編寫函數(shù)數(shù) C實(shí)實(shí)現(xiàn)代碼碼: a定定義UppdatteGrrid方方法用來來更新列列表視圖圖中的信信息代碼碼如下:voidd CUUserrMannagee:UUpdaateGGridd()m_DaataSSet.Opeen(Sellectt * Froom ttab_Useer);m_grrid.DelleteeAlllIteems();for (innt ii = 0

30、; i IteemLLUsserNNamee-Vaaluee);int no = mm_DaataSSet.GettReccorddNo();m_grrid.SettIteemDaata(i,nno);m_DaataSSet.Nexxt(); b添加按按鈕代碼碼如下:voidd CUUserrMannagee:OOnApppennd() CUseerEddit useereddit;if (useereddit.DoMModaal() = IDDOK)m_DaataSSet.AdddNeww();m_DDataaSett.SeetFiielddVallue(UsserNNamee,(_bsst

31、r_t)uuserrediit.nnamee);m_DaataSSet.Savve();UpdaateGGridd();刪除按鈕鈕代碼:voidd CUUserrMannagee:OOnDeelette() if (MeessaageBBox(是否否刪除此此記錄!,提示,MBB_YEESNOO|MBB_ICCONWWARNNINGG) = IIDYEES)innt nno = m_griid.GGetIItemmDatta(mm_grrid.GettSellecttionnMarrk();m_DattaSeet.mmovee(noo-1);m_DattaSeet.DDeleete();m_Da

32、ttaSeet.SSavee();UppdatteGrrid();修改按鈕鈕代碼:voidd CUUserrMannagee:OOnEddit() CUsserEEditt ussereeditt;intt noo = m_ggridd.GeetIttemDDataa(m_griid.GGetSSeleectiionMMarkk();m_DDataaSett.moove(no-1);userrediit.nnamee = (chhar *)(_bsstr_t)mm_DaataSSet.GettFieeldss()-IttemLUUserrNamme-VValuue;if (ussereedit

33、t.DooModdal() = IIDOKK)m_DattaSeet.SSetFFielldVaaluee(UUserrNamme,(_bbstrr_t)useereddit.namme);m_DattaSeet.SSavee();UppdatteGrrid();八、部門門管理模模塊設(shè)計計概述:該該模塊記記錄了部部門間的的的層次次結(jié)構(gòu)和和部門信信息,一一般使用用樹控件件實(shí)現(xiàn),如如圖:實(shí)現(xiàn)過程程:a. 創(chuàng)創(chuàng)建一個個對話框框b. 向向?qū)υ捒蚩蛑刑砑蛹酉鄳?yīng)的的控件c. 給給對話框框添加對對話框類類d. 給給類添加加函數(shù)及及成員變變量e. 給給控件關(guān)關(guān)聯(lián)變量量編寫函數(shù)數(shù) C. 相關(guān)代代碼如下下:BOO

34、LL CDDepttMannagee:OOnInnitDDiallog() /初始始化函數(shù)數(shù)CDiaalogg:OOnInnitDDiallog();m_DaataSSet.SettConnnecctioon(:GeetCoonneectiion();UpdaateDDeptt();retuurn TRUUE; 將部部門信息息一次性性讀入樹樹控件中中。代碼碼如下:voidd CDDepttMannagee:GGetNNodee(HTTREEEITEEM ppNodde, intt nPPid)HTRREEIITEMM noode;CADDODaataSSet DattaSeet;DattaSe

35、et.SSetCConnnecttionn(:GettConnnecctioon();CSttrinng sstr;strr.Foormaat(Sellectt * Froom ttab_Deppt wwherre ppid = %d,nPiid);DattaSeet.OOpenn(sttr);intt coountt = DattaSeet.GGetRRecoordCCounnt();intt IDD;_vaariaant_t vvaluue;forr (iint i = 0;iIItemmDDepttNamme-VValuue,ppNodde);vaaluee = (_vvariiantt

36、_t)DattaSeet.GGetFFiellds()-IteemID-Vallue;IDD = tVall;m_treee.SSetIItemmDatta(nnodee,IDD);GeetNoode(nodde,IID);DaataSSet.Nexxt(); 定義義GettNodde方法法,用于于按成次次級關(guān)系系獲取部部門表中中的所有有數(shù)據(jù),并并添加樹樹控件,該該方法由由UpddateeDeppt方法法進(jìn)行調(diào)調(diào)用,代代碼如下下;voidd CDDepttMannagee:UUpdaateDDeptt()m_ttreee.DeeletteAlllIttemss();GetN

37、Nodee(TVVI_RROOTT,0);voidd CDDepttMannagee:OOnAddd() CDeeptEEditt deepteeditt;if (deepteeditt.DooModdal() = IIDOKK)HTTREEEITEEM ppNodde = m_treee.GGetSSeleecteedIttem();innt ppID;iff (ddepttediit.iisrooot)ppID = 00;ellseppID = mm_trree.GettIteemDaata(pNoode);CAADODDataaSett daatasset;daatasset.SettC

38、onnnecctioon(:GeetCoonneectiion();daatasset.Opeen(Sellectt toop 11 * Froom ttab_Deppt);daatasset.AdddNeww();daatasset.SettFieeldVValuue(DepptNaame,(_varriannt_tt)deepteeditt.naame);daatasset.SettFieeldVValuue(memmo,(_vvariiantt_t)deppteddit.memmo);daatasset.SettFieeldVValuue(PIDD,(lonng)ppID);daatas

39、set.Savve();UppdatteDeept();單擊“修修改”按鈕時時將彈出出部門編編輯窗體體,輸入入部門信信息后單單擊“確定”按鈕,實(shí)實(shí)現(xiàn)部門門信息的的修改。代碼如如下voidd CDDepttMannagee:OOnEddit() CDepptEddit deppteddit;deppteddit.vissiblle = faalsee;HTRREEIITEMM pNNodee = m_ttreee.GeetSeeleccteddIteem();if (pNNodee = 0)reeturrn;intt pIID = m_treee.GGetIItemmDatta(ppNodde)

40、;CADDODaataSSet dattaseet;dattaseet.SSetCConnnecttionn(:GettConnnecctioon();CSttrinng sstr;strr.Foormaat(Sellectt * Froom ttab_Deppt wwherre iid = %dd,ppID);dattaseet.OOpenn(sttr);deppteddit.namme = (ccharr *)(_bbstrr_t)dattaseet.GGetFFiellds()-IteemLLDeeptNNamee-Vaaluee;deppteddit.memmo = (ccharr *

41、)(_bbstrr_t)dattaseet.GGetFFiellds()-Iteemmemmo-VValuue;if (deepteeditt.DooModdal() = IIDOKK)daatasset.SettFieeldVValuue(DepptNaame,(_varriannt_tt)deepteeditt.naame);daatasset.SettFieeldVValuue(memmo,(_vvariiantt_t)deppteddit.memmo);daatasset.Savve();UppdatteDeept();當(dāng)單擊“刪除”按鈕時時,將刪刪除當(dāng)前前選中的的節(jié)點(diǎn),代代碼如下下:

42、voidd CDDepttMannagee:OOnDeelette() HTTREEEITEEM ppNodde = m_treee.GGetSSeleecteedIttem();if (pNNodee = 0)reeturrn;if (MeessaageBBox(是否否刪除此此記錄!,提示,MBB_YEESNOO|MBB_ICCONWWARNNINGG) = IIDYEES)innt ppID = mm_trree.GettIteemDaata(pNoode);CAADODDataaSett daatasset;daatasset.SettConnnecctioon(:GeetCoonnee

43、ctiion();CSStriing strr;sttr.FFormmat(Seelecct * Frrom tabb_Deept wheere id = %d,pIDD);daatasset.Opeen(sstr);daatasset.Delletee();daatasset.Savve();UppdatteDeept();九、人員員信息管管理模塊塊設(shè)計概述:人人員信息息管理模模塊根據(jù)據(jù)部門分分類顯示示人員,同同時可對對人員信信息進(jìn)行行維護(hù),界界面如下下:實(shí)現(xiàn)過程程:創(chuàng)建對話話框向?qū)υ捒蚩蛑刑砑蛹酉鄳?yīng)的的控件給對話框框添加對對話框類類給類添加加函數(shù)及及成員變變量給控件關(guān)關(guān)聯(lián)變量量 相關(guān)代代碼

44、:GetNNodee方法,獲獲取部門門信息,并并添加到到樹控件件中。該該方法由由UpddateeDeppt調(diào)用用,代碼碼如下:voidd CPPerssonMManaage:GeetNoode(HTRREEIITEMM pNNodee, iint nPiid) HTRREEIITEMM noode;CADDODaataSSet DattaSeet;DattaSeet.SSetCConnnecttionn(:GettConnnecctioon();CSttrinng sstr;strr.Foormaat(Sellectt * Froom ttab_Deppt wwherre ppid = %d,

45、nPiid);DattaSeet.OOpenn(sttr);intt coountt = DattaSeet.GGetRRecoordCCounnt();intt IDD;_vaariaant_t vvaluue;forr (iint i = 0;iIItemmDDepttNamme-VValuue,ppNodde);vaaluee = (_vvariiantt_t)DattaSeet.GGetFFiellds()-IteemID-Vallue;IDD = tVall;m_treee.SSetIItemmDatta(nnodee,IDD);GeetNoode(nodde,I

46、ID);DaataSSet.Nexxt();UpdaateDDpt調(diào)調(diào)用GeetNoode,實(shí)實(shí)現(xiàn)信息息更新,代代碼如下下:voidd CPPerssonMManaage:UppdatteDeept() m_ttreee.DeeletteAlllIttemss();HTRREEIITEMM noode;nodde = m_treee.IInseertIItemm(全全部,TVII_ROOOT);m_ttreee.SeetIttemDDataa(noode,-1);GettNodde(nnodee,0);UpdaatePPersson更更新人員員信息,并并將其顯顯示在列列表控件件中。代代碼如下下

47、:voidd CPPerssonMManaage:UppdattePeersoon()m_liist.DelleteeAlllIteems();CADDODaataSSet DattaSeet;DattaSeet.SSetCConnnecttionn(:GettConnnecctioon();CSttrinng sstr;if (m_DepptIDD = -11)sttr.FFormmat(Seelecct * Frrom tabb_Emmplooyeees);elssesttr.FFormmat(Seelecct * Frrom tabb_Emmplooyeees wwherre DDept

48、t = %d,m_DepptIDD);DattaSeet.OOpenn(sttr);intt coountt = DattaSeet.GGetRRecoordCCounnt();intt n = 00;_vaariaant_t vvaluue;forr (iint i = 0;iIteemEmpp_Idd-Vaaluee);vaaluee = DattaSeet.GGetFFiellds()-IteemAuttoIDD-Vaaluee;m_lisst.SSetIItemmDatta(nn,vaaluee.lVVal);m_lisst.SSetIItemmTexxt(nn,inndexx+,(_

49、bbstrr_t)DattaSeet.GGetFFiellds()-IteemEmpp_NAAME-Vallue);m_lisst.SSetIItemmTexxt(nn,inndexx+,(_bbstrr_t)DattaSeet.GGetFFiellds()-IteemSexx-Vaaluee);m_lisst.SSetIItemmTexxt(nn,inndexx+,(_bbstrr_t)DattaSeet.GGetFFiellds()-IteemNattionnaliity-Vallue);m_lisst.SSetIItemmTexxt(nn,inndexx+,(_bbstrr_t)Datt

50、aSeet.GGetFFiellds()-IteemBirrth-Vallue);m_lisst.SSetIItemmTexxt(nn,inndexx+,(_bbstrr_t)DattaSeet.GGetFFiellds()-IteemPollitiicall_Paartyy-Vaaluee);m_lisst.SSetIItemmTexxt(nn,inndexx+,(_bbstrr_t)DattaSeet.GGetFFiellds()-IteemCullturre_LLeveel-VValuue);m_lisst.SSetIItemmTexxt(nn,inndexx+,(_bbstrr_t)D

51、attaSeet.GGetFFiellds()-IteemMarritaal_CCondditiion-Vallue);m_lisst.SSetIItemmTexxt(nn,inndexx+,(_bbstrr_t)DattaSeet.GGetFFiellds()-IteemId_Carrd-VValuue);m_lisst.SSetIItemmTexxt(nn,inndexx+,(_bbstrr_t)DattaSeet.GGetFFiellds()-IteemOffficee_phhonee-Vaaluee);m_lisst.SSetIItemmTexxt(nn,inndexx+,(_bbst

52、rr_t)DattaSeet.GGetFFiellds()-IteemMobbilee-Vaaluee);m_lisst.SSetIItemmTexxt(nn,inndexx+,(_bbstrr_t)DattaSeet.GGetFFiellds()-IteemHirreDaate-Vallue);m_lisst.SSetIItemmTexxt(nn,inndexx+,(_bbstrr_t)DattaSeet.GGetFFiellds()-IteemDutty-VValuue);m_lisst.SSetIItemmTexxt(nn,inndexx+,(_bbstrr_t)DattaSeet.GG

53、etFFiellds()-IteemMemmo-VValuue);m_lisst.SSetIItemmTexxt(nn,inndexx+,(_bbstrr_t)DattaSeet.GGetFFiellds()-IteemFilles_Keeep_OOrg-Vallue);m_lisst.SSetIItemmTexxt(nn,inndexx+,(_bbstrr_t)DattaSeet.GGetFFiellds()-IteemHukkou-Vallue);m_lisst.SSetIItemmTexxt(nn,inndexx+,(_bbstrr_t)DattaSeet.GGetFFiellds()-

54、IteemFammilyy_Pllacee-Vaaluee);n+;DaataSSet.Nexxt();單擊“添添加”按鈕,彈彈出人員員編輯窗窗體,輸輸入人員員信息后后,單擊擊保存按按鈕,實(shí)實(shí)現(xiàn)人員員的添加加代碼如如下:voidd CPPerssonMManaage:OnnAddd() CPeersoonEddit perrsonnediit;perrsonnediit.mm_DeeptDDataa = m_DDepttID;if (peersooneddit.DoMModaal() = IDDOK)CAADODDataaSett daatasset;daatasset.SettConnnec

55、ctioon(:GeetCoonneectiion();CSStriing strr = seelecct ttop 1 * frrom tabb_Emmplooyeees;daatasset.Opeen(sstr);daatasset.AdddNeww();daatasset.SettFieeldVValuue(Empp_Idd,(_bsstr_t)pperssoneeditt.m_id);daatasset.SettFieeldVValuue(Empp_NAAME,(_bsttr_tt)peersooneddit.m_nnamee);daatasset.SettFieeldVValuue(

56、Sexx,(_bsstr_t)pperssoneeditt.m_sexx);daatasset.SettFieeldVValuue(Nattionnaliity,(_bsttr_tt)peersooneddit.m_nnatiionaalitty);daatasset.SettFieeldVValuue(Birrth,(_bsttr_tt)peersooneddit.m_bbirtth.FFormmat(%YY-%mm-%dd);daatasset.SettFieeldVValuue(Pollitiicall_Paartyy,(_bsstr_t)pperssoneeditt.m_farrty)

57、;daatasset.SettFieeldVValuue(Cullturre_LLeveel,(_bbstrr_t)perrsonnediit.mm_cuultuure);daatasset.SettFieeldVValuue(Marritaal_CCondditiion,(_bsttr_tt)peersooneddit.m_mmariitall);daatasset.SettFieeldVValuue(Id_Carrd,(_bbstrr_t)perrsonnediit.mm_caard);daatasset.SettFieeldVValuue(Offficee_phhonee,(_bsstr

58、_t)pperssoneeditt.m_offficee);daatasset.SettFieeldVValuue(Mobbilee,(_bsstr_t)pperssoneeditt.m_mobbilee);daatasset.SettFieeldVValuue(HirreDaate,(_bsttr_tt)peersooneddit.m_hhiree.Foormaat(%Y-%m-%d);daatasset.SettFieeldVValuue(Dutty,(_bbstrr_t)perrsonnediit.mm_duuty);daatasset.SettFieeldVValuue(Memmo,(

59、_bbstrr_t)perrsonnediit.mm_meemo);daatasset.SettFieeldVValuue(Filles_Keeep_OOrg,(_bsttr_tt)peersooneddit.m_ffilees);daatasset.SettFieeldVValuue(Hukkou,(_bsttr_tt)peersooneddit.m_hhukoou);daatasset.SettFieeldVValuue(Fammilyy_Pllacee,(_bsstr_t)pperssoneeditt.m_fammilyy);daatasset.SettFieeldVValuue(dep

60、pt,perrsonnediit.mm_DeeptDDataa);daatasset.Savve();UppdattePeersoon();單擊“修修改”按鈕,彈彈出人員員編輯窗窗體,輸輸入人員員信息后后,單擊擊“保存”實(shí)現(xiàn)人人員信息息的修改改,代碼碼如下:voidd CPPerssonMManaage:OnnEdiit() if (m_lisst.GGetSSeleectiionMMarkk() = -1)reeturrn;intt idd = m_llistt.GeetIttemDDataa(m_lisst.GGetSSeleectiionMMarkk();CPeersoonEddit p

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論