




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、PAGE PAGE 80第1章 系統設計11系統功能分析考勤管理系系統的主主要功能能如下:1上班時時間的設設定。上上下班時時間相對對固定,可以保保存在客客戶端的的設置文文件中。2員工出出入單位位的情況況記錄.出入情情況主要要由考勤勤機來記記錄,但但是需要要設置人人工添加加的功能能,以備特殊殊情況的的處理。3請假、加班和和出差情情況的記記錄。4每個月月底進行行整月的的出勤情情況統計計。12 系系統功能能模塊設設計根據系統功功能的要要求,可可以將系系統分解解成幾個個功能模模塊來分分別設計計,功能能模塊圖圖如圖11-1所所示。考勤管理系統考勤管理系統出差記錄請假記錄加班記錄補記出勤上下班時間設置工作
2、情況考勤統計圖1-1人人事管理理功能模模塊圖13 數數據流程程圖出勤的原始始記錄主主要來源源于考勤勤機,并并且以固固定格式式保存在在數據庫庫中。考考勤管理理系統的的任務就就是處理理這些數數據。經理審批經理審批記錄出勤時間各種統計信息員工管理人員考勤員月度員工考勤統計表上下班時間安排請假值班、出差記錄員工出勤記錄第2章 數數據庫設設計21 數數據庫需需求分析析 根據數據流流程,可可以列出出以下管管理系統統所需的的數據項項和數據據結構。(1) 出出勤記錄錄:記錄錄號、員員工、出出入情況況和出入入時間,如如圖2-1。(2) 月月度考勤勤統計:記錄號號、員工工、年月月、累計計正常工工作時間間、累計計請
3、假時時間、累累計加班班時間、累累計出差差時間、遲遲到次數數、早退退次數和和礦工次次數,如如圖2-2。(3) 請請假記錄錄:記錄錄號、員員工、假假期起始始時間/結束時時間和請請假緣由由,如圖圖2-33。(4) 加加班記錄錄:記錄錄號、員員工、加加班時間間長度和和日期,如如圖2-4。(5) 出出差記錄錄:記錄錄號、員員工、出出差起始始時間/結束時時間和具具體描述述,如圖圖2-55。所需的外部部數據支支持:(1) 人人員信息息:員工工號、密密碼、權權限、姓姓名、部部門、和和當前狀狀態等。(2) 部部門設置置:部門門編號、名名稱等。圖2-1 出勤勤記錄表表圖2-2 月度度考勤統統計表圖2-3 請請假記
4、錄錄表圖2-4 加加班記錄錄表圖2-5 出差差記錄表表第3章 各各個功能能模塊的的創建3.1 生生成程序序框架本系統的應應用程序序使用MMFC ODBBC的方方法開發發,采用用Diaalogg baasedd 的應應用框架架,如圖圖3-11為。由由一個對對話框和和若干個個功能對對話框組組成。為了使用OODBCC類,需需要在sstdaafx.h中加加入#iinclludee”afxxdb.h”頭文件件。本程程序需要要連接一一個數據據庫,所所以定義義了一個個CDaatabbasee型的全全局變量量db,用用于打開開和關閉閉數據庫庫。數據據庫的打打開在登登錄認證證數據庫庫中。為了訪問數數據庫中中的表
5、格格,本程程序從CCReccorddsett中派生生了8個個類,分分別用于于封裝所所需訪問問的表格格,如表表3-11。通過過訪問成成員變量量可以訪訪問當前前記錄中中字段的的值。表3-1 CReecorrdseet派生生類對應應的表格格CRecoordsset派派生類表格CAtteendaanceeRSATTENNDANNCE出出勤記錄錄表CCounnterrRSCOUNTTER計計數器表表CDepaartRRSDEPARRTMEENT部部門信息息表CErraandRRSCRecoordsset派派生類ERRANND出差差記錄表表表格CLeavveRSSLEAVEE請假記記錄表COverrtim
6、meRSSOVERTTIMEE加班記記錄表CPerssonRRSPERSOON員工工個人信信息表CStattRSATTENNDANNCE_ATAAT月度度考勤統統計表32 登登錄認證證對話框框登錄窗口如如圖3-2所示示,包括括3個輸輸入框和和2個按按鈕。主主要控件件類型、IID和對對應的成成員變量量及說明明如表33-4。圖3-2 登錄錄窗口表3-4 登登錄認證證對話框框控件列列表控件類型ID成員變量說明Comboo BooxIDC_CCMB_DSNNm_strrDSNNODBC數數據源Edit BoxxIDC_EEDT_USEERm_strrUseer用戶名Edit BoxxIDC_EEDT_
7、PASSSWDDm_strrPassswdd密碼ButtoonIDOK無“登錄”按按鈕ButtoonIDCANNCELL無“取消”按按鈕對IDOKK的點擊擊加登錄錄代碼。CLogiinDllg類需需要用到到加密類類,本程程序使用用的是CCCryypt類類。在ccpp文文件的開開頭加入入#inncluude”Cryypt.h”一行。另外,為了了使用全全局數據據庫變量量db,需需要在ccpp文文件開頭頭加入以以下語句句:Exterrn CCDattabaase db;用戶認證過過程在“登錄”按鈕的的處理函函數中:代碼見見附錄【11】為了運行登登錄認證證對話框框,還需需在Appp類的的IniitIn
8、nstaancee()函函數中在在顯示主主對話框框前加入入以下代代碼:CLogiinDllg LLogiinDllg;If(LooginnDlgg.DooModdal()!=IDOOK)rretuurn FALLSE;33主對對話框窗窗口的設設計用戶登錄后后即顯示示主對話話框,如如圖3-5所示示。包括括5個按按鈕。控控件列表表如表33-6。圖3-5 主對話話框表3-6 主對對話框控控件列表表控件類型ID成員變量說明Statiic TTexttIDC_SSTATTIC_HEAAD無“考勤管理理系統”靜態文文本ButtoonIDC_BBTN_CONNFIGG無“設置”按按鈕ButtoonIDC_B
9、BTN_RECCORDD無“出勤記錄錄”按鈕ButtoonIDC_BBTN_STAATISSTICCS無“統計”按按鈕ButtoonIDC_BBTN_RELLOGIIN無“重新登錄錄”按鈕ButtoonIDC_BBTN_EXIIT無“退出”按按鈕在CAtttenddancceDllg 中中定義以以下成員員變量:Publiic:CBrussh mm_brrushh;CStaatDllg* m_ppStaatDllg;CAtttDlgg* mm_pAAttDDlg;CFonnt mm_foont;對話框初始始化時需需要改變變標題字字體大小小,因此此在OnnIniitDiialoog()中加入入以下
10、代代碼:/ 改變變標題字字體大小小LOGFFONTT LoogFoont;GetFFontt()-GeetLoogFoont(&LoogFoont);LogFFontt.lffHeiightt+=LLogFFontt.lffHeiightt/2;LogFFontt.lffWiddth+=LoogFoont.lfWWidtth/22;m_foont.CreeateeFonntInndirrectt(&LLogFFontt);GetDDlgIItemm(IDDC_SSTATTIC_HEAAD)-SeetFoont(&m_fonnt);為了美觀起起見,還還插入了了背景圖圖片,通通過Cttrl+R引入
11、入圖片后后,在OOnPaaintt()中中的條件件語句的的elsse()中中添加下下列代碼碼:見附附錄【22】對話框中55個按鈕鈕的功能能主要是是顯示相相應的功功能對話話框。給給按鈕的的BN_CLIICKEED事件件的處理理和退出出代碼見見附錄【33】。34上班班時間設設置對話話框的創創建此對話框用用于設置置上下班班時間,布布局如圖圖3-77.所示示。主要要控件類類型、IID和對對應的成成員變量量及說明明如表33-8所所示。圖3-7 時間設設置對話話框表3-8 時間設設置對話話框控件件列表控件類型ID成員變量說明Data Timme PPickkerIDC_WWORKKSTAAT_DDATEE
12、TIMMEPIICKEER1m_Timme1上午上班時時間Data Timme PPickkerIDC_WWORKKSTAAT_DDATEETIMMEPIICKEER2m_Timme2中午下班時時間Data Timme PPickkerIDC_WWORKKSTAAT_DDATEETIMMEPIICKEER3m_Timme3下午上班時時間Data Timme PPickkerIDC_WWORKKSTAAT_DDATEETIMMEPIICKEER4m_Timme4下午下班時時間ButtoonIDC_WWORKKPLAAN_MMODIIFY無“修改”按按鈕ButtoonIDC_WWORKKPLAAN
13、_RRESEET無“恢復默認認設置”按鈕一般上下班班時間是是相對固固定的,而而且需要要在統計計是頻繁繁使用,所所以不需需要保存存在數據據庫中,因因此采用用標準的的INII設置文文件來保保存這些些數據。首先,在構構造函數數中初始始化4個個時間的的取值:CWorkkplaanDllg:CWoorkpplannDlgg(CWWnd* pPPareent /*=NULLL*/): CDDiallog(CWoorkpplannDlgg:IIDD, pPPareent)m_TTimee1 = 0;m_Tiime22 = 0;m_Tiime33 = 0;m_Tiime44 = 0;“修改”按按鈕的BBN_C
14、CLICCKEDD事件處處理用于于保存當當前的設設置:代代碼見附附錄【44】“恢復默認認設置”按鈕的的BN_CLIICKEED事件件處理程程序用于于恢復初初始設置置。這個個函數同同時被OOnInnitDDiallog()函數數應用,以以實現初初始化操操作,代代碼見附附錄【55】35 考考勤修改改對話框框的創建建考勤修改對對話框主主要用來來人工輸輸入出勤勤情況。在在考勤機機出現問問題是,它它可以及及時彌補補數據。同同時加班班、請假假、出差差的記錄錄都是需需要通過過這個對對話框來來輸入。對對話框布布局如圖圖3-99所示。為了區分不同的輸入,在對話框中嵌入了CPropertySheet和4個CPro
15、pertyPage,這4個CPropertyPage分別放置出勤、加班、請假和出差記錄的修改界面,而共用一個查詢條件設置。圖3-9下方空白處用于放置CPropertySheet和4個CPropertyPage。對話框中的主要控件類型、ID和對應的成員變量及說明如表3-10所示。圖3-9 考勤修修改對話話框表3-100 考勤勤修改對對話框控控件列表表控件類型ID成員變量說明Checkk BooxIDC_CCHK_SEEEKBYYTIMMEm_bSeeekbbytiime時間范圍選選項Checkk BooxIDC_CCHK_SEEEKBYYPERRSONNm_bSeeekbbypeersoon員工
16、選項Date Timme PPickkerIDC_DDATEETIMMEPIICKEER1m_StaartTTimee起始時間Date Timme PPickkerIDC_DDATEETIMMEPIICKEER2m_EnddTimme結束時間Edit BoxxIDC_EEDT_SEEEKPEERSOONIDDm_strrPerrsonnID員工號Edit BoxxIDC_EEDT_SEEEKPEERSOONNAAMEm_strrNamme姓名為了使用CCProoperrtySSheeet和CPrropeertyyPagge,需要在在類定義義中加入入以下變變量:CPagee1 mm_Paage1
17、1;CPagee2 mm_Paage22;CPagee3 mm_Paage33;CPagee4 mm_Paage44;CPropperttyShheett m_Sheeet;然后在OnnIniitDiialoog中添添加以下下代碼:見附錄錄【6】當輸入員工工號時,需需要檢索索員工姓姓名,以以確定設設置的條條件有效效。加入入IDCC_EDDT_SSEEKKPERRSONNID的的EN_CHAANGEE消息,函函數如下下:見附附錄【77】36 修修改出勤勤記錄屬屬性頁的的創建加入一個對對話框資資源,將將其封裝裝設為從從CPrropeertyyPagge繼承承的CPPagee1類。對對話框布布局如圖
18、圖3-111所示示。對話話框中主主要控件件、IDD和對應應的成員員變量及及說明如如表3-12所所示。圖3-111 修改改出勤記記錄屬性性頁表3-122 修改改出勤記記錄屬性性頁控件件列表控件類型ID成員變量說明Edit BoxxIDC_EEDITT_IOOTIMMEm_strrIOTTimee出入時間Edit BoxxIDC_EEDITT_DEEPARRTIDDm_strrDepparttID部門編號Edit BoxxIDC_EEDITT_DEEPARRTNAAMEm_strrDepparttNamme部門名稱Edit BoxxIDC_EEDITT_PEERSOONIDDm_strrPerrs
19、onnID員工號Edit BoxxIDC_EEDITT_PEERSOONNAAMEm_strrPerrsonnNamme員工姓名Radioo BuuttoonIDC_RRADIIO_OOUT無出入選項“出”Radioo BuuttoonIDC_RRADIIO_IIN無出入選項“入”ButtoonIDC_BBTN_ADDDALLL無“全部員工工”按鈕ButtoonIDC_BBTN_ADDDDEPPARTT無“部門員工工”按鈕ButtoonIDC_BBTN_ADDDPERRSONN無“單個員工工”按鈕ButtoonIDC_BBTN_DELLETEEATTTENDD無“刪除所選選記錄”按鈕Butto
20、onIDC_BBTN_SEEEKIOO無“按條件檢檢索”按鈕List ConntroolIDC_LLISTT1m_cLiist“出勤記錄錄列表”界面初始化化操作如如下:見見附錄【88】為了方便更更新列表表框內容容,編寫寫UpddateeLisst()函數,調調用此函函數可使使列表框框顯示給給定的數數據表格格。見附附錄【99】當輸入部門門編號時時,自動動檢索部部門名稱稱。見附附錄【110】輸入員工號號是,檢檢索相應應信息。見見附錄【111】添加部門和和全體員員工出勤勤記錄的的過程最最終可分分解為添添加單個個員工記記錄的過過程。設設置以下下子程序序是為了了避免程程序的重重復。見見附錄【112】添加
21、記錄的的3個按按鈕處理理程序分分別調用用以上的的函數。見見附錄【113】“刪除所選選紀錄”按鈕用用于刪除除列表中中當前所所選紀錄錄。見附附錄【114】“按條件檢檢索”按鈕用用于激活活檢索條條件。見見附錄【115】37 加加班記錄錄屬性頁頁的創建建加班記錄屬屬性頁的的創建與與考勤修修改屬性性頁類似似,封裝裝類設為為從CPPropperttyPaage繼繼承的CCpagge2類類。為了了將它們們放入同同一個PProppertty SSheeet,需需將二者者大小設設為一致致。界面面設計如如圖3-13,主主要控件件類型、ID和對應的成員變量及說明如表3-14所示。圖3-133 加班班記錄屬屬性頁表3
22、-144 加班班記錄屬屬性頁控控件列表表控件類型ID成員變量說明Date Timme PPickkerIDC_OOVERRTIMME_DDATEETIMMERPPICKKERm_Datte日期Edit BoxxIDC_EEDITT_OVVERTTIMEE_HOOURm_nHoour加班時間Edit BoxxIDC_EEDITT_OVVERTTIMEE_PEERSOONIDDm_strrPerrsonnID員工號Edit BoxxIDC_EEDITT_OVVERTTIMEE_PEERSOONNAAMEm_strrPerrsonnNamme員工姓名ButtoonIDC_BBTN_OVEERTIIM
23、E_ADDD無“添加”按按鈕ButtoonIDC_BBTN_OVEERTIIME_DELLETEEATTTEN無“刪除所選選記錄”按鈕Buttoon控件類型IDC_BBTN_OVEERTIIME_SEEEKIOOID無成員變量“按條件檢檢索”按鈕說明List ConntroolIDC_LLISTT2m_cLiist加班記錄列列表初始化代碼碼如下:見附錄錄【166】UpdatteLiist()完成成列表框框數據顯顯示工作作,代碼碼如下:見附錄錄【177】當輸入員工工號時,需需要檢索索員工姓姓名,以以確認輸輸入是否否正確。見見附錄【118】“添加”按按鈕用于于完成紀紀錄的添添加操作作。見附附錄【1
24、19】38 請請假記錄錄屬性頁頁的創建建請假記錄屬屬性頁封封裝類為為從CPPropperttyPaage繼繼承的CCpagge3類類。界面面設計如如圖3-15,主主要控件件類型、ID和對應的成員變量及說明如表3-16所示。圖3-155 請假假記錄屬屬性頁表3-166 請假假記錄屬屬性頁控控件列表表控件類型ID成員變量說明Edit BoxxIDC_EEDT_LEAAVE_STAARTTTIMEEm_strrSTiime起始時間Edit BoxxIDC_EEDT_LEAAVE_ENDDTIMMEm_strrETiime結束時間Edit BoxxIDC_EEDT_LEAAVE_PERRSONNIDm
25、_strrPerrsonnID員工號Edit BoxxIDC_EEDT_LEAAVE_PERRSONNNAMMEm_strrPerrsonnNamme員工姓名Edit BoxxIDC_EEDT_LEAAVE_REAASONNm_strrReaasonn請假原理ButtoonIDC_BBTN_LEAAVE_ADDD無“添加”按按鈕Edit Boxx控件類型IDC_EEDT_LEAABE_DELLETEEATTTENDDID無成員變量“刪除所選選記錄”按鈕說明Edit BoxxIDC_EEDT_LEAABE_SEEEKIOO無“按條件檢檢索”按鈕List ConntroolIDC_LLISTT3m
26、_cLiist加班記錄列列表界面的初始始化、列列表框的的更新、員員工姓名名的檢索索、刪除除所選記記錄和條條件檢索索的功能能與前面面加班記記錄相應應的功能能類似,代代碼稍作作修改即即可。添添加記錄錄的代碼碼如下:見附錄錄【200】39 出出差記錄錄屬性頁頁的創建建請假記錄屬屬性頁封封裝類為為從CPPropperttyPaage繼繼承的CCpagge4類類。界面面設計如如圖3-17,主主要控件件類型、ID和對應的成員變量及說明如表3-18所示。圖3-177 出出差記錄錄屬性頁頁表3-188 出差差記錄屬屬性頁控控件列表表控件類型ID成員變量說明Edit BoxxIDC_EEDT_LEAAVE_ST
27、AARTTTIMEEm_strrSTiime起始時間Edit BoxxIDC_EEDT_LEAAVE_ENDDTIMMEm_strrETiime結束時間Edit BoxxIDC_EEDT_LEAAVE_PERRSONNIDm_strrPerrsonnID員工號Edit BoxxIDC_EEDT_LEAAVE_PERRSONNNAMMEm_strrPerrsonnNamme員工姓名Edit BoxxIDC_EEDT_LEAAVE_DESSCRIIBEm_strrDesscriibe具體描述ButtoonIDC_BBTN_LEAAVE_ADDD無“添加”按按鈕Edit Boxx控件類型IDC_EE
28、DT_LEAABE_DELLETEEATTTENDDID無成員變量“刪除所選選記錄”按鈕說明Edit BoxxIDC_EEDT_LEAABE_SEEEKIOO無“按條件檢檢索”按鈕List ConntroolIDC_LLISTT3m_cLiist加班記錄列列表出差記錄與與請假記記錄的功功能基本本一致。310 考勤勤統計對對話框的的創建考勤統計對對話框界界面設計計如圖33-199所示,主主要控件件類型、ID和對應的成員變量及說明如表3-20所示。圖3-199 考考勤統計計對話框框表3-200 考勤勤統計控控件列表表控件類型ID成員變量說明Edit BoxxIDC_SSTATT_TIIME無統計年
29、月Data Timme PPickkerIDC_SSTATT_DAATETTIMEEPICCKERR_STTARTTTIMMEm_strrTimme開始時間Data Timme PPickkerIDC_SSTATT_DAATETTIMEEPICCKERR_ENNDTIIMEm_STiime結束時間Progrresss CoontrrolIDC_SSTATT_ PPROGGRESSSm_ETiime進度條ButtoonIDC_SSTATT_BTTN_SSTATTm_cPrrogrresss“統計”按按鈕Checkk BooxIDC_SSTATT_CHHK_SSEEKKBYTTIMEEm_bSee
30、ekbbytiime按年月檢索索Checkk BooxIDC_SSTATT_CHHK_SSEEKKBYPPERSSONm_bSeeekbbypeersoon按員工檢索索Edit BoxxIDC_SSTATT_EDDT_SSEEKKTIMMEm_strrSeeektiime檢索年月Edit Boxx控件類型IDC_SSTATT_EDDT_SSEEKKPERRSONNIDIDm_strrPerrsonnID成員變量檢索員工號號說明Edit BoxxIDC_SSTATT_EDDT_SSEEKKPERRSONNNAMMEm_strrPerrsonnNamme員工姓名Edit BoxxIDC_EEDT_
31、LEAAVE_REAASONNm_strrReaasonn請假原因ButtoonIDC_SSTATT_BTTN_SSEEKK無“檢索”按按鈕List ConntroolIDC_SSTATT_LIISTm_cLiist記錄列表列表框的初初始化和和數據更更新和前前面類似似。初始始化時設設置缺省省時間,修修改構造造函數如如下:見見附錄【221】當輸入員工工號時,檢檢索員工工姓名,用用于確認認輸入。見見附錄【222】“檢索”按按鈕的處處理代碼碼如下:見附錄錄【233】統計過程主主要是記記錄判斷斷過程,代代碼如下下:見附附錄【224】第4章 系系統的實實現各對話框設設計完成成后,運運行程序序,查看看結果
32、。系系統啟動動后,首首先出現現的是登登錄對話話框,如如圖4-1。圖4-1 登錄對對話框在輸入用戶戶名和密密碼并登登錄后,系系統會從從數據庫庫中提取取相應記記錄,來來判斷用用戶和密密碼權限限是否匹匹配,如如果不匹匹配,會會彈出對對話框提提示,如如圖4-2。圖4-2 認證失失敗提示示信息登錄成功后后,會出出現如圖圖4-33所示的的主對話話框。圖4-3 主對話話框單擊對話框框中的各各個按鈕鈕即可顯顯示相應應的對話話框。其其中“重新登登錄”用于回回到登錄錄對話框框,并且且會隱藏藏主對話話框;“退出”按鈕直直接退出出應用程程序;“設置”按鈕用用來彈出出上下班班時間設設置對話話框;“出勤記記錄”按鈕用用來
33、彈出出考勤修修改對話話框;“統計”用來彈彈出統計計對話框框。圖4-4顯顯示的是是單擊“設置”按鈕彈彈出的時時間設置置對話框框。圖4-4 時間設設置對話話框考勤修改窗窗口如圖圖4-55所示。這這個對話話框包括括4個記記錄修改改功能,分分別對應應出勤記記錄、加加班記錄錄、請假假記錄和和出差記記錄。檢檢索條件件包括時時間范圍圍和員工工,可以以根據需需要任意意選擇。如如圖4-6。圖4-5 考勤勤修改窗窗口圖4-6 記錄檢檢索條件件其中出勤記記錄的添添加時為為了在考考勤機出出現故障障是,可可以人工工添加,保保證記錄錄的完整整性。設設置的全全體員工工、部門門員工和和單個員員工出勤勤情況的的輸入功功能實現現
34、了批量量輸入,下下面的進進度條可可以顯示示進度,如如圖4-7所示示。 圖4-77 添添加修改改出勤記記錄對話話框加班記錄對對話框用用于添加加員工加加班的日日期和小小時數,如如圖4-8。圖4-8 加班記記錄對話話框請假記錄和和出差記記錄布局局和功能能基本相相似,主主要用于于記錄請請假和出出差的時時間段和和緣由,備備注等。如如圖4-9和44-100,分別別為請假假記錄和和出差記記錄的對對話框。圖4-9 請假記記錄對話話框圖4-100 出差差記錄對對話框考勤統計對對話框有有月度統統計、檢檢索條件件和記錄錄列表33部分。月月度統計計需要設設定統計計的時間間范圍。檢檢索條件件部分則則用于快快速地位位記錄
35、,便便于查詢詢和修改改,如圖圖4-111所示示。圖4-111 考勤勤統計對對話框第5章 結束語語通過本次課課程設計計的實踐踐,不僅僅熟悉了了對Viisuaal CC+66.0程程序設計計工具的的操作,加加深了對對Acccesss20003的認認識,還還學到了了有關考考勤管理理系統開開發方面面的知識識。體會會了軟件件開發的的基本過過程,同同時也學學會了如如何修改改,調試試程序,如如何將各各個模塊塊的功能能進行合合理的整整合和調調整,如如何充分分利用各各方資源源,優化化和完善善程序。提高了綜合應用計算機語言的各種編程知識和技巧進行程序設計的能力。在老師和同同學的指指導和幫幫助下,通通過一個個多月的
36、的設計和和開發,考考勤管理理系統基基本完成成,能夠夠實現對對員工出出勤情況況的記錄錄和統計計,以及及按時間間或員工工號的各各類查詢詢。但由于時間間倉促和和自己水水平所限限,本系系統不可可避免的的還存在在著一些些缺陷,比比如在權權限的管管理以及及美觀方方面做的的還不好好,還要要其他方方面還請請老師和和同學提提寶貴意意見,不不勝感激激。參考文獻1 李李閩溟,吳繼剛剛,周學學明.VVisuual C+6.00數據庫庫系統開開發實例例導航M.北京:人民郵郵電出版版社.220022:1551-1180.2 侯奇峰峰,李曉曉華,李李莎.VVisuual C+數據庫庫通用模模塊開發發與系統統移植M.北京:清
37、華大大學出版版社.220077:2007-4405.3 王珊,薩薩師煊.數據庫庫系統概概論(第第四版)M。北北京:高高等教育育出版社社.20008:2633-3330.4 馬石安安,魏文文平.VVisuual C+程序設設計與應應用教程程M.北京京:清華華大學出出版社.20007.附錄(主要要程序代代碼)【1】vooid CLooginnDlgg:OOnOKK() BOOLL bLLogiin=FFALSSE;CStrringg sttrPaasswwd,sstrCCounnt;UpdaateDDataa(); / 更新新數據變變量if(!db.Opeen(mm_sttrDSSN) reetu
38、rrn; / 連接數數據庫strPPassswd=CCrryptt:EEncrryptt(m_strrPassswdd, 1123); / 加加密密碼碼CReccorddsett rss(&ddb); / 構造造記錄集集rs.OOpenn(CRRecoordsset:foorwaardOOnlyy,seelecct CCOUNNT(IID) as COUUNT froom PPERSSON wheere ID= + mm_sttrUsser+ annd PPASSSWD= + sstrPPassswd + aand AUTTHORRITYY=44); / 執執行查詢詢rs.GGetFFiell
39、dVaaluee(CCOUNNT,strrCouunt);rs.CClosse(); / 關關閉數據據集if(sstrCCounnt=1) / 判判斷認證證是否通通過EnddDiaalogg(IDDOK); / 結結束對話話框,返返回IDDOKelseeMesssaggeBoox(請輸入入正確的的用戶名名和密碼碼,注意意大小寫寫!,認證證失敗);db.Cloose(); / 關閉數數據庫【2】CPPainntDCC dc(thiis); CRectt recct; GetCllienntReect(&reect); CDC dccMemm;dcMemm.CrreatteCoompaatibbl
40、eDDC(&dc); CBitmmap bbmpBBackkgrooundd; bmpBaackggrouund.LoaadBiitmaap(IIDB_BITTMAPP); /IDBB_BIITMAAP是圖圖對應的的ID BITMAAP biitmaap; bbmpBBackkgrooundd.GeetBiitmaap(&bittmapp); CCBittmapp *pbbmpOOld=dcMMem.SellecttObjjectt(&bbmpBBackkgrooundd); ddc.SStreetchhBltt(0,0,rrectt.Wiidthh(),recct.HHeigght(),&d
41、cMMem,0,00, biitmaap.bbmWiidthh,biitmaap.bbmHeeighht,SSRCCCOPYY); 【3】vooid CAtttenndannceDDlg:OnnBtnnExiit() EndDDiallog(IDCCANCCEL); / 退退出主對對話框,關關閉程序序void CAtttenndannceDDlg:OnnBtnnRellogiin() / 隱隱藏主對對話框ShowwWinndoww(SWW_HIIDE);/ 顯顯示登錄錄對話框框CLogginDDlg dlgg;if(ddlg.DoMModaal()=IIDOKK)ShoowWiindoow(S
42、SW_SSHOWW); / 顯示對對話框elsee EnndDiialoog(IIDCAANCEEL); / 退出出程序void CAtttenndannceDDlg:OnnBtnnConnfigg() / 顯顯示工作作時間設設置對話話框CWorrkpllanDDlg dlgg;dlg.DoMModaal();void CAtttenndannceDDlg:OnnBtnnReccordd() / 非非模態顯顯示出勤勤記錄對對話框if(!m_ppAtttDlgg) / 指指針為空空,創建建對話框框m_ppAtttDlgg=neew CCAtttDlgg();m_ppAtttDlgg-CCreaa
43、te(IDDD_DLLG_AATTEENDAANCEE, tthiss);m_ppAtttDlgg-SShowwWinndoww(SWW_SHHOW);elsee / 對話話框已創創建m_ppAtttDlgg-SShowwWinndoww(SWW_SHHOW); / 顯顯示窗口口void CAtttenndannceDDlg:OnnBtnnStaatissticcs() / 非非模態顯顯示考勤勤統計對對話框if(!m_ppStaatDllg) / 指針為為空,創創建對話話框m_ppStaatDllg=nnew CSttatDDlg();m_ppStaatDllg-Creeatee(IDDD_D
44、DLG_STAAT, thiis);m_ppStaatDllg-ShoowWiindoow(SSW_SSHOWW);elsee / 對話話框已創創建m_ppStaatDllg-ShoowWiindoow(SSW_SSHOWW); / 顯示窗窗口【4】vooid CWoorkpplannDlgg:OOnWoorkpplannModdifyy() CStrringg sttrFiileNNamee=.wworkkplaan.iini; / IINI文文件名UpdaateDDataa(); / 更新新數據WrittePrrivaatePProffileeStrringg(WWorkkPlaan, T
45、Timee1,m_TTimee1.FFormmat(%HH:%MM:%SS), sttrFiileNNamee);WrittePrrivaatePProffileeStrringg(WWorkkPlaan, TTimee2,m_TTimee2.FFormmat(%HH:%MM:%SS), sttrFiileNNamee);WrittePrrivaatePProffileeStrringg(WWorkkPlaan, TTimee3,m_TTimee3.FFormmat(%HH:%MM:%SS), sttrFiileNNamee);WrittePrrivaatePProffileeStrringg
46、(WWorkkPlaan, TTimee4,m_TTimee4.FFormmat(%HH:%MM:%SS), sttrFiileNNamee);【5】vooid CWoorkpplannDlgg:OOnWoorkpplannResset() CStrringg csstr4;charr sttr4499;int i;int nHoour,nMiinutte,nnSeccondd; / 時時,分,秒秒CStrringg sttrFiileNNamee=.wworkkplaan.iini; / IINI文文件名/ 讀讀取INNI文件件GetPPrivvateeProofilleSttrinng(W
47、orrkPllan, Timme1, 08:00:00, sstr0, 9, sttrFiileNNamee);GetPPrivvateeProofilleSttrinng(WorrkPllan, Timme2, 12:00:00, sstr1, 9, sttrFiileNNamee);GetPPrivvateeProofilleSttrinng(WorrkPllan, Timme3, 14:00:00, sstr2, 9, sttrFiileNNamee);GetPPrivvateeProofilleSttrinng(WorrkPllan, Timme4, 18:00:00, sstr3,
48、9, sttrFiileNNamee);for(i=00; iiSSetCChecck(TTRUEE);/ 為為Lisst添加加網格m_cLListt.SeetExxtenndeddStyyle(LVSS_EXX_GRRIDLLINEES);/ 設設置Liist的的列int nWiidthh=1110;m_cLListt.InnserrtCoolummn(00, 記錄編編號, LVVCFMMT_LLEFTT, nnWiddth);m_cLListt.InnserrtCoolummn(11, 員工號號, LVCCFMTT_LEEFT, nWWidtth);m_cLListt.InnserrtCo
49、olummn(22, 出入情情況, LVVCFMMT_LLEFTT, nnWiddth);m_cLListt.InnserrtCoolummn(33, 時間, LLVCFFMT_LEFFT, nWiidthh);CAtttenddancceRSS rss(&ddb); / 構造造出勤記記錄表UpdaateLListt(rss); / 更新LListtretuurn TRUUE; 【9】vooid CPaage11:UUpdaateLListt(CAAtteendaanceeRS& rss) / 更更新列表表框內容容int i=00;CStrringg sttrIDD,sttrTiime;rs.
50、OOpenn(); / 打開開出勤記記錄表m_cLListt.DeeletteAlllIttemss(); / 清除除列表框框內容whille(!rs.IsEEOF() / 對數據據表中所所有記錄錄進行處處理m_ccLisst.IInseertIItemm(i, ); / 添加新新IteemstrrID.Forrmatt(%d, rss.m_ID); / 轉轉換為字字符串m_ccLisst.SSetIItemmTexxt(ii, 00, sstrIID);m_ccLisst.SSetIItemmTexxt(ii, 11, rrs.mm_PEERSOON);m_ccLisst.SSetIItem
51、mTexxt(ii, 22, rrs.mm_INN_OUUT);m_ccLisst.SSetIItemmTexxt(ii, 33, rrs.mm_IOO_TIIME.Forrmatt(%Y-%m-%d %H:%M);rs.MovveNeext(); / 跳到下下一條記記錄i+;rs.CClosse(); / 關關閉出勤勤記錄表表【10】vvoidd CPPagee1:OnCChanngeEEdtDDepaartiid() UpdaateDDataa(); / 更新新數據CDepparttRS rs(&dbb); / 構造記記錄集rs.mm_sttrFiilteer = IID= + m_str
52、rDepparttID + ; / 設置置過濾條條件rs.OOpenn(); / 打開開記錄集集if(rrs.GGetRRecoordCCounnt()=11) / 判判斷部門門代碼輸輸入是否否正確m_sstrDDepaartNNamee=rss.m_NAMME; / 提取部部門名稱稱elsee m_strrDepparttNamme.EEmptty(); / 清清除部門門名稱rs.CClosse(); / 關關閉記錄錄集UpdaateDDataa(FAALSEE); / 更新界界面數據據【11】vvoidd CPPagee1:OnCChanngeEEdtPPerssoniid() Updaa
53、teDDataa(); / 更新新數據CPerrsonnRS rs(&dbb); / 構造PPERSSON記記錄表rs.mm_sttrFiilteer = IID= + m_strrPerrsonnID + ; / 設置置過濾條條件rs.OOpenn(); / 打開開記錄表表if(rrs.GGetRRecoordCCounnt()=11) / 判判斷員工工號是否否正確m_sstrPPerssonNNamee=rss.m_NAMME; / 提取員員工姓名名m_sstrDDepaartIID=rrs.mm_DEEPARRTMEENT; / 提取取員工所所在部門門編號elsee m_strrPerr
54、sonnNamme.EEmptty(); / 清清除員工工姓名顯顯示rs.CClosse(); / 關關閉記錄錄表UpdaateDDataa(FAALSEE); / 更新界界面數據據OnChhanggeEddtDeeparrtidd(); / 顯示示部門名名稱【12】vvoidd CPPagee1:IO_Addd(CSStriing strrPerrsonnID)int couunteer; / 用于計計數CStrringg sttrIOO; / 保保存出入入情況CCouunteerRSS rss_coountter(&dbb); / 構造計計數器記記錄表/ 記錄錄編號rs_ccounnter
55、r.m_strrFillterr = IDD=AA; / 設置置過濾器器,提取取計數值值rs_ccounnterr.Oppen(); / 打開計計數器記記錄表counnterr=rss_coountter.m_CCOUNNTERR_VAALUEE; / 提提取計數數值counnterr+; / 計數數值加11rs_ccounnterr.Eddit(); / 編輯計計數器rs_ccounnterr.m_COUUNTEER_VVALUUE=ccounnterr; / 保保存當前前計數rs_ccounnterr.Uppdatte(); / 提提交修改改rs_ccounnterr.Cllosee();
56、 / 關閉閉計數器器記錄表表/ 添加加記錄/ 判判斷確定定出入情情況if(CBButtton*)GeetDllgIttem(IDCC_RAADIOO_OUUT)-GGetCChecck()strrIO=O;elsee sttrIOO=II;/ 轉轉換出入入時間類類型int nYeear,nMoonthh,nDDay,nHoour,nMiinutte; / 年,月月,日,時,分分sscaanf(m_sstrIIOTiime.Lefft(44), %dd, &nYYearr); / 得到年年sscaanf(m_sstrIIOTiime.Midd(5,2), %d, &nnMonnth); / 得得
57、到月sscaanf(m_sstrIIOTiime.Midd(8,2), %d, &nnDayy); / 得到日日sscaanf(m_sstrIIOTiime.Midd(111,2), %d, &nHoour); / 得得到時sscaanf(m_sstrIIOTiime.Midd(144,2), %d, &nMiinutte); / 得到到分/ 得得到出入入時間CTimme IIO_ttimee(nYYearr,nMMontth,nnDayy,nHHourr,nMMinuute,0);CAtttenddancceRSS rss_atttenndannce(&dbb); / 構造考考勤記錄錄表rs
58、_aatteendaancee.Oppen(); / 打開考考勤記錄錄表rs_aatteendaancee.AdddNeew(); / 追追加考勤勤記錄rs_aatteendaancee.m_ID=couunteer;rs_aatteendaancee.m_PERRSONN=sttrPeersoonIDD;rs_aatteendaancee.m_IN_OUTT=sttrIOO;rs_aatteendaancee.m_IO_TIMME=IIO_ttimee;rs_aatteendaancee.Uppdatte();rs_aatteendaancee.Cllosee(); / 關閉閉考勤記記錄表U
59、pdaateLListt(rss_atttenndannce); / 更更新列表表框【13】vvoidd CPPagee1:OnCChanngeEEdtPPerssoniid() UpdaateDDataa(); / 更新新數據CPerrsonnRS rs(&dbb); / 構造PPERSSON記記錄表rs.mm_sttrFiilteer = IID= + m_strrPerrsonnID + ; / 設置置過濾條條件rs.OOpenn(); / 打開開記錄表表if(rrs.GGetRRecoordCCounnt()=11) / 判判斷員工工號是否否正確m_sstrPPerssonNNamee
60、=rss.m_NAMME; / 提取員員工姓名名m_sstrDDepaartIID=rrs.mm_DEEPARRTMEENT; / 提取取員工所所在部門門編號elsee m_strrPerrsonnNamme.EEmptty(); / 清清除員工工姓名顯顯示rs.CClosse(); / 關關閉記錄錄表UpdaateDDataa(FAALSEE); / 更新界界面數據據OnChhanggeEddtDeeparrtidd(); / 顯示示部門名名稱/ 添加加出勤記記錄函數數void CPaage11:IIO_AAdd(CSttrinng sstrPPerssonIID)int couunteer
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 合同教育信息咨詢服務合同4篇
- T/CHTS 20044-2024高速公路瀝青路面礦料及其加工技術指南
- 哌庫溴銨代銷合同6篇
- 2025年獵聘人才委托合同3篇
- 茶葉購銷合同范本6篇
- T/ZHCA 602-2020學校消毒操作技術規范
- 中華優傳統文化 課件 第十章 中國傳統藝術
- 2025甘孜職業學院輔導員考試試題及答案
- 教師個人工作年終總結
- 室內設計預算構成與管理要點
- 2024年安徽省初中學業水平考試地理試卷(定心卷一)
- 水雨情在線監測系統解決方案
- 康保縣中礦礦業有限公司孔督溝螢石礦礦山地質環境保護與土地復墾方案
- 2024重慶環衛集團有限公司所屬子企業招聘筆試參考題庫附帶答案詳解
- 2024中考英語1500詞匯默寫匯總表練習(含答案)
- 2023年全國統考《不動產登記代理實務》考前沖刺備考200題(含詳解)
- YJ-T 27-2024 應急指揮通信保障能力建設規范
- 航標器材人工智能技術應用
- 養老院社工培訓課件
- 無人駕駛的傳感器融合技術
- 上位機操作說明
評論
0/150
提交評論