計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)_第1頁
計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)_第2頁
計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)_第3頁
計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)_第4頁
計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)畢業(yè)設計(論文)題目:企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)姓名:XXX指導教師:XXX專業(yè):計算機XXXX層次:X科計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第1頁。計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第1頁。計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第2頁。成績評定表計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第2頁。指導教師評語及評分論文評分指導教師(簽名)年月日評審教師評語及評分評審評分組長(簽名)年月日綜合評分成績評定人簽名年月日畢業(yè)論文(設計)任務書題目企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)學生姓名XXX專業(yè)計算機XXXX層次X科學號XXXXXXX指導教師XXX任務書下達時間概述:企業(yè)員工考勤管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS)其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應用程序的開發(fā)兩個方面:對于前者要求建立數(shù)據(jù)一致性和完整性強,數(shù)據(jù)安全性好的數(shù)據(jù)庫;而對于后者則要求應用程序功能完備,簡單易學易使用等特點。

要求閱讀或檢索的參考資料及文獻(包括指定給學生閱讀的外文資料):[1]丁有和,鄭進,周怡君.VisualC++實用教程[M].北京:電子工業(yè)出版社.2008年.[2]侯奇峰,李曉華,李莎.VisualC++數(shù)據(jù)庫通用模塊開發(fā)與系統(tǒng)移植[M].北京:清華大學出版社.2007年.[3]郭玲文,丁永衛(wèi),張忠將等.中文版Access2007循序漸進教程[M].北京:科學出版社.2008年.[4]王珊,薩師煊.數(shù)據(jù)庫系統(tǒng)概論(第四版)[M].北京:高等教育出版社.2008年.[5]Peter.Rob,Elie.Semaan.數(shù)據(jù)庫設計與開發(fā)[M].北京:電子工業(yè)出版社.2005年.計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第3頁。

目錄計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第3頁。摘要 10 前言 21系統(tǒng)目標及使用軟件介紹 31.1系統(tǒng)目標 31.2系統(tǒng)目標的調查 31.3使用軟件的介紹 42可行性研究及設計思想 52.1可行性研究 52.2開發(fā)設計思想 53需求分析 73.1用戶需求分析 73.2數(shù)據(jù)分析——概念模型設計 73.2.1數(shù)據(jù)描述 73.2.2數(shù)據(jù)庫建模 83.2.3關系描述的設計 84系統(tǒng)設計 104.1Access2007數(shù)據(jù)庫的建立 104.2數(shù)據(jù)庫連接 114.3數(shù)據(jù)庫操作 124.4各個模塊的設計與實現(xiàn) 135主要技術 195.1主要控件代碼 195.2ADO數(shù)據(jù)庫訪問技術 206結論 21致謝 22參考文獻 23計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第4頁。計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第4頁。最新范本,供參考!最新范本,供參考!最新范本,供參考!摘要

隨著計算機的普及和計算機科學技術的飛速發(fā)展,人們開始越來越多地利用計算機解決實際問題。員工考勤信息管理是企業(yè)信息管理的重要部分。面對大量的企業(yè)考勤信息,采用人力處理將浪費大量的時間、人力和物力,且數(shù)據(jù)的準確性低。因此,開發(fā)一個界面友好,易于操作的員工信息管理軟件進行自動化處理具有較大的社會現(xiàn)實意義。同時,人事考勤管理系統(tǒng)是一切應用系統(tǒng)的典范,它具有一切應用系統(tǒng)的特征,系統(tǒng)結構與現(xiàn)實生活緊密結合,具體直觀,開發(fā)應用簡單,不失一般性。企業(yè)考勤管理系統(tǒng)的特點是從企業(yè)考勤管理的角度出發(fā),用集中的數(shù)據(jù)庫將幾乎所有與考勤相關的數(shù)據(jù)統(tǒng)一管理起來,形成了集成的信息源。友好的用戶界面,強有力的報表生成工具、分析工具和信息的共享使得企業(yè)考勤管理人員得以擺脫繁重的日常工作,集中精力從戰(zhàn)略的角度來考慮企業(yè)考勤規(guī)劃和政策。本系統(tǒng)是一個用vfp編寫的考勤管理系統(tǒng),它實現(xiàn)了員工考勤操作,員工加班操作,日終處理操作,部門信息,員工信息,考勤記錄的管理,對考勤記錄、加班記錄的按條件查詢,對一個月內考勤記錄、加班記錄、日終處理記錄的統(tǒng)計查詢。員工信息、部門信息的報表打印以及一個月內考勤記錄、加班記錄、日終處理記錄的統(tǒng)計報表打印,大大減少了公司的人力和物力。本軟件的日終維護大大減少了考勤中存在的誤差,特別是數(shù)據(jù)備份功能,保證了系統(tǒng)數(shù)據(jù)的安全。關鍵詞:VisualFoxpro6.0企業(yè)管理系統(tǒng)考勤管理信息系統(tǒng)企業(yè)員工考勤管理系統(tǒng)的管理數(shù)據(jù)庫計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第5頁。計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第5頁。企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)前言當今社會,資金是企業(yè)生存的主要元素,資金的流動影響到企業(yè)的整體運作,企業(yè)員工的工資是企業(yè)資金管理的一個重要的組成部分。而隨著企業(yè)人員數(shù)量的增加,企業(yè)的工資管理也變得越來越復雜。企業(yè)員工的人數(shù)越多,工資的統(tǒng)計工作就越多,工資的發(fā)放困難就越大。傳統(tǒng)的紙張材料的數(shù)據(jù)信息管理方式已經(jīng)不適合現(xiàn)代企業(yè)的發(fā)展,實現(xiàn)工資管理的系統(tǒng)化、規(guī)范化、自動化,將成為現(xiàn)代公司管理工資的首選。隨著計算機的誕生和普及以及計算機網(wǎng)絡的發(fā)展,我們可以開發(fā)一個工資管理系統(tǒng),用計算機代替大量的人工統(tǒng)計和計算,完成許多工資信息的處理,同時,使用計算機還可以安全地、完整地保存大量的工作記錄。計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第6頁。計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第6頁。1系統(tǒng)目標及使用軟件介紹1.1系統(tǒng)目標系統(tǒng)需符合考勤工資管理制度,并達到操作直觀、方便、實用、安全等要求。能夠提供詳細的員工基礎信息,包括自然條件信息、工資情況、來源、去向、崗位變動情況。能夠隨時查閱在職、非在職人員信息,提供出職工花名冊,同時為財務部提供人員變動單及月基本工資匯總情況等。針對這些要求,系統(tǒng)建立了職工信息查詢、職工信息刪除、職工工資信息管理、職工工資信息查詢4個主要信息庫。系統(tǒng)根據(jù)增減人員、工資變動操作自動生成記錄記載變動內容,以便用戶查詢其變動過程。實現(xiàn)了對員工信息的查詢、統(tǒng)計、增減、變動記錄等功能。1.2系統(tǒng)目標的調查富士康成都科技園是富士康科技集團是專業(yè)從事電腦、通訊、消費電子、數(shù)位內容、汽車零組件、通路等6C產(chǎn)業(yè)的高新科技企業(yè)。憑借扎根科技、專業(yè)制造和前瞻決策,自1974年在臺灣肇基,特別是1988年在深圳地區(qū)建廠以來,富士康迅速發(fā)展壯大,擁有90余萬員工及全球頂尖IT客戶群,計劃到2015年發(fā)展到150萬人規(guī)模,現(xiàn)目前為全球最大的電子產(chǎn)業(yè)專業(yè)制造商。連續(xù)8年雄居大陸出口200強榜首;2010年位居《財富》2010年全球企業(yè)500強第112名。由于集團的發(fā)展現(xiàn)在成都建廠并已投產(chǎn)。(成都富士康工業(yè)園建成并完全投產(chǎn)預計將在2014年達到40萬人規(guī)模)。計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第7頁。計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第7頁。1.3使用軟件的介紹(1)應用程序開發(fā)工具微軟公司的VC++6.0是Windows應用程序開發(fā)工具,是目前最為廣泛的、易學易用的面向對象的開發(fā)工具。VC++6.0提供了大量的控件,這些控件可用于設計界面和實現(xiàn)各種功能,減少了編程人員的工作量,也簡化了界面設計過程,從而有效的提高了應用程序的運行效率和可靠性。故而,實現(xiàn)本系統(tǒng)VC是一個相對較好的選擇[1]。VC++6.0編程語言是一個面向對象的集成開發(fā)系統(tǒng)。它簡單、高效的特點使它成為編程者的最愛。它提供了靈活的可視化設計工具,將可視化界面與面向對象技術完善、緊密地結合起來,其友好的集成開發(fā)界面,可視化的雙向開發(fā)模式,良好的數(shù)據(jù)庫應用支持高效的程序開發(fā)和程序運行,備受廣大程序開發(fā)人員的好評。采用Access2007數(shù)據(jù)庫環(huán)境開發(fā),可縮短開發(fā)周期,提高開發(fā)效率的特點。對系統(tǒng)的軟硬件要求也低,減少用戶的資金投入[2]。(2)關系型數(shù)據(jù)庫的選擇Access2007就是關系數(shù)據(jù)庫開發(fā)工具,數(shù)據(jù)庫能匯集各種信息以供查詢、存儲和檢索。Access的優(yōu)點在于它能使用數(shù)據(jù)表示圖或自定義窗體收集信息。數(shù)據(jù)表示圖提供了一種類似于Excel的電子表格,可以使數(shù)據(jù)庫一目了然[3]。另外,Access允許創(chuàng)建自定義報表用于打印或輸出數(shù)據(jù)庫中的信息。Access也提供了數(shù)據(jù)存儲庫,可以使用桌面數(shù)據(jù)庫文件把數(shù)據(jù)庫文件置于網(wǎng)絡文件服務器,與其他網(wǎng)絡用戶共享數(shù)據(jù)庫。Access是一種關系數(shù)據(jù)庫工具,關系數(shù)據(jù)庫是已開發(fā)的最通用的數(shù)據(jù)庫之一。如上所述,Access作為關系數(shù)據(jù)庫開發(fā)具備了許多優(yōu)點,可以在一個數(shù)據(jù)包中同時擁有桌面數(shù)據(jù)庫的便利和關系數(shù)據(jù)庫的強大功能。計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第8頁。計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第8頁。2可行性研究及設計思想2.1可行性研究(1)技術可行性隨著國內軟件開發(fā)的日益發(fā)展壯大,各種中小企事業(yè)單位已具備獨立開發(fā)各種類型的軟件的能力,能夠滿足不同行業(yè)的特別的需求。而這個系統(tǒng)盡管其在組織關系上存在著很大的復雜性,繁瑣性,但是就整個系統(tǒng)的技術構成上來看,它還是屬于一個數(shù)據(jù)庫應用類的系統(tǒng)。其基本操作還是對存在數(shù)據(jù)庫進行添加、刪除、查找、編輯等。所以就單純的數(shù)據(jù)庫應用來看,暫不存在太大的技術問題。(2)經(jīng)濟可行性對于整個系統(tǒng)而言,在系統(tǒng)未運行之前,初期投資比較大,花費相對而言比較多。各部門必須配置電腦、服務器、打印機、傳真機及相關的網(wǎng)絡設備,但是在整個系統(tǒng)投入運行之后,因為現(xiàn)在計算機已經(jīng)普及了,相關的人員培訓費可以減少很多。而同時又減少了數(shù)據(jù)的流通環(huán)節(jié),不必要花費那么多的時間,也就是說最重要的就是提高了效率,而又保證了各項數(shù)據(jù)的準確性,也避免了工作人員的流動造成的收據(jù)丟失等問題,適應了當前的發(fā)展形式。(3)管理可行性隨著時代的發(fā)展,人員素質的提高,不論是對于電腦系統(tǒng)的基本操作還是對于系統(tǒng)的維護都有了一定的基礎。同時還可以配置專業(yè)的電腦維護人員來維護電腦,不必擔心電腦故障問題。(4)開發(fā)環(huán)境可行性我采用的VC++6.0開發(fā)工具,它首先是一個開放的協(xié)作式系統(tǒng),可以和多種PC產(chǎn)品集成,并可以通過專用接口或ODBC接口連接許多比較常用的數(shù)據(jù)庫;其次它具有可視化的開發(fā)環(huán)境,使代碼的編寫更為直觀,并且在可視化環(huán)境下的調試和維護也相對容易。而為方便用戶界面的開發(fā),VC++6.0提供了大量控件,這既豐富了應用程序的表達能力,也加快了項目的開發(fā)速度。同時,它擁有多平臺的開發(fā)環(huán)境,如果需要把一個平臺上開發(fā)的代碼移植到另外一個平臺上,只要重新編譯就可以了。2.2開發(fā)設計思想本系統(tǒng)開發(fā)設計思想:(1)盡量利用企業(yè)現(xiàn)有軟件環(huán)境,采用先進的管理系統(tǒng)方案,從而達到充分利用企業(yè)現(xiàn)有資源,提高系統(tǒng)開發(fā)水平和應用效果的目的。計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第9頁。(2)系統(tǒng)應符合企業(yè)工資管理的規(guī)定,滿足企業(yè)相關人員日常使用的需要,并達到操作過程的直觀、方便、實用、安全等要求。計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第9頁。(3)系統(tǒng)采用模塊化程序設計方法,既便于系統(tǒng)功能的各種組合和修改,又便于技術維護人員進行補充、維護。(4)系統(tǒng)應具備數(shù)據(jù)庫維護功能,及時根據(jù)用戶需求進行數(shù)據(jù)的添加、刪除、修改、備份等操作。計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第10頁。計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第10頁。3需求分析3.1用戶需求分析隨著社會現(xiàn)代化的發(fā)展,單位日常管理相關的信息隨之急劇增加,傳統(tǒng)的人力手工管理模式越來越不能適應現(xiàn)在的工作效率和準確性。在這個高節(jié)奏的信息時代,安全、準確的管理信息系統(tǒng)是每個管理者所需求的。建立一個適應現(xiàn)代化社會經(jīng)濟體制的管理信息系統(tǒng)勢在必行。在大量地調查和研究的基礎上,包括訪問用戶,了解財務系統(tǒng)模型,熟悉現(xiàn)有的工作流程和數(shù)據(jù)流程等工作,采集和分析有關資料和、報表和業(yè)務規(guī)定,進行了財務管理軟件的開發(fā)。在整個系統(tǒng)的設計和開發(fā)過程中,積極采納最終用戶的意見。對于開發(fā)財務管理系統(tǒng)進行了認真仔細的分析,在實施過程中不斷地加以修改和完善,使這套財務管理系統(tǒng)能更好地運行。該系統(tǒng)的具體任務就是設計一個電腦公司財務的數(shù)據(jù)庫管理系統(tǒng),由計算機來代替人工執(zhí)行一系列諸如增加、刪除、修改、查詢、統(tǒng)計及打印等操作。這樣就使辦公人員以輕松快捷地完成財務管理的任務。3.2數(shù)據(jù)分析——概念模型設計3.2.1數(shù)據(jù)描述(1)靜態(tài)數(shù)據(jù)靜態(tài)數(shù)據(jù)是系統(tǒng)內部有關的數(shù)據(jù)結構與操作規(guī)程。具體可包括:員工基本信息表(PersonInfo)、員工工種情況表(Department)、員工考勤情況表(Attendance)、員工缺勤情況表(Absent)、員工加班情況表(Duty)、部門表(Dept)、工資表(PersonPay)。(2)動態(tài)數(shù)據(jù)動態(tài)數(shù)據(jù)包括程序運行時輸入和輸出的數(shù)據(jù),具體是數(shù)據(jù)庫的各個表的各個不同元組與屬性值.(3)數(shù)據(jù)庫描述根據(jù)上面的分析就可以設計出能夠滿足用戶需求的各種數(shù)據(jù)實體,以及它們之間的關系,為后面的邏輯結構設計打下基礎,這些實體包括各種具體信息,通過相互之間的作用形成數(shù)據(jù)的流動。計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第11頁。概念型數(shù)學模型是一種面向問題的數(shù)學模型,是按用戶的觀點來對數(shù)據(jù)和信息建模。最常用的表示概念數(shù)據(jù)模型的方法是實體——聯(lián)系方法(Entity——RelationshipApproach)。這種方法用E—R圖描述現(xiàn)實世界中的實體,而不涉及這些實體在系統(tǒng)中的實現(xiàn)方法,該方法又稱E—R模型。E—R圖中共有三種符號:實體、屬性和聯(lián)系。通常實體用矩形來表示,屬性用橢圓或圓角矩形來表示,聯(lián)系用菱形來表示[4]。聯(lián)系又分為一對一、一對多和多對多三種類型。計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第11頁。3.2.2數(shù)據(jù)庫建模經(jīng)過上面的分析,能夠提取出以下幾個實體:員工、工種、考勤情況、月工資等。它員工姓名所在部門員工編號員工所屬工種性別們的實體圖如圖3.1至3.2所示。員工姓名所在部門員工編號員工所屬工種性別圖3.1員工信息實體圖工種基本工資工種編號工種基本工資工種編號工種名稱部門名稱工種名稱部門名稱圖3.2工種實體圖3.2.3關系描述的設計根據(jù)以上各實體圖和考勤管理系統(tǒng)的E—R圖,經(jīng)過轉換,可以得出各個關系。其轉換規(guī)則為:首先每個實體應轉化為一個關系,有屬性的聯(lián)系也應轉化為一個關系,然后需要給出每個關系的關鍵字。根據(jù)以上規(guī)則,直接給出所有關系。員工基本信息(PersonInfo),見表3.1。計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第12頁。表3.1員工基本信息計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第12頁。員工編號員工姓名性別所在部門所屬工種工種編號PersonID PersonNamePersonSexDeptJobDeptNO部門信息(Department),見表3.2。表3.2部門信息工種編號所在部門工種名稱基本工資DeptNODeptJobPay員工考勤情況(Attendance),見表3.3。表3.3員工考勤信息員工編號員工姓名執(zhí)勤天數(shù)加班天數(shù)缺勤天數(shù)所在月份PersonIDPersonNameAtDaysDutyDaysAbDaysAtMonth員工缺勤情況(Absent),見表3.4。表3.4員工缺勤情況員工編號員工姓名缺勤天數(shù)請假類型所在月份備注扣除工資PersonIDPersonNameAbDaysAbReasonAbMonthAbRemarksAbPay員工加班情況(Duty),見表3.5。表3.5員工加班情況員工編號員工姓名加班天數(shù)所在月份加班工資PersonIDPersonNameDutyDaysDuMonthDutyPay員工工資信息(PersonPay),見表3.6。表3.6員工工資信息員工編號員工姓名工種編號基本工資加班工資扣除工資總工資月份PersonIDPersonNameDutyNOBasePayDutyPayAbPaySumPayPMonth計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第13頁。在得出以上關系后,根據(jù)關系數(shù)據(jù)庫的理論要求,需要對所有關系進行關系規(guī)范化,至少要求各個關系達到第三范式的要求,按照第三范式的要求對比以上各個關系,在所有關系中都不存在非主屬性對關鍵字的部分依賴,即滿足第三范式。計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第13頁。4系統(tǒng)設計4.1Access2007數(shù)據(jù)庫的建立為了在操作過程中使用數(shù)據(jù)的方便,選用Access作為數(shù)據(jù)庫,啟動Access建立一個空白的數(shù)據(jù)庫:(1)打開Access2007,點擊【空白數(shù)據(jù)庫】,為數(shù)據(jù)庫命名Attendance,選擇好存儲路徑,單擊創(chuàng)建,如圖4.1所示。圖4.1數(shù)據(jù)庫創(chuàng)建圖計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第14頁。(2)在工資數(shù)據(jù)庫中創(chuàng)建部門信息表,月工資表,管理員,考勤記錄,員工信息表等表,如圖4.2所示。計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第14頁。圖4.2考勤數(shù)據(jù)庫圖4.2數(shù)據(jù)庫連接首先,需要在stdafx.h中添加如下代碼:#import"C:\ProgramFiles\CommonFiles\System\ado\msado15.dll"no_namespacerename("EOF","adoEOF")然后,在CAttendanceApp中的InitInstance函數(shù)下添加如下代碼:AfxOleInit();HRESULThr;m_pConnection.CreateInstance(__uuidof(Connection));try{ m_pConnection->ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=Attendance.mdb"; m_pConnection->ConnectionTimeout=10; hr=m_pConnection->Open("","","",adModeUnknown); if(hr!=S_OK) AfxMessageBox("無法連接到數(shù)據(jù)庫,請確定數(shù)據(jù)庫路徑正確!");計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第15頁。}計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第15頁。catch(_com_errore){ CStringerrormessage; errormessage.Format("連接數(shù)據(jù)庫失敗!\r\n錯誤信息:%d",e.ErrorMessage()); AfxMessageBox(errormessage);///顯示錯誤信息 }利用externCAttendanceApptheApp;在所有的操作頁面類中聲明一個外部的對象,就可以對數(shù)據(jù)庫進行操作了。4.3數(shù)據(jù)庫操作要對數(shù)據(jù)庫進行操作,首先需要聲明一個數(shù)據(jù)集,以便用它操作,例如:_RecordsetPtrm_pRecPer;m_pRecPer.CreateInstance(__uuidof(Recordset));///進行實例化…打開指定記錄集:try{ m_pRecPer->Open("select*fromPersonInfo",_variant_t((IDispatch*)theApp.m_pConnection,true),adOpenDynamic,adLockOptimistic,adCmdText);}catch(_com_errore){ CStringstr; str.Format("數(shù)據(jù)庫打開失??!\r\n錯誤信息:%s",e.ErrorMessage); AfxMessageBox(str);}向表中添加信息(打開記錄集方法同上,更換所需要的SQL語句即可):m_pRecPer->AddNew();m_pRecPer->PutCollect("PersonID",(_variant_t)(dlg.m_strNO));m_pRecPer->PutCollect("PersonName",(_variant_t)(dlg.m_strName));m_pRecPer->PutCollect("PersonSex",(_variant_t)(strSex));m_pRecPer->PutCollect("Dept",(_variant_t)(dlg.m_strDept));m_pRecPer->PutCollect("Job",(_variant_t)(dlg.m_strJob));m_pRecPer->Update();m_pRecPer->Close();計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第16頁。修改表中信息:計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第16頁。m_pRecPer->PutCollect("PersonID",(_variant_t)(dlg.m_strNO));m_pRecPer->PutCollect("PersonName",(_variant_t)(dlg.m_strName));m_pRecPer->PutCollect("PersonSex",(_variant_t)(strSex));m_pRecPer->PutCollect("Dept",(_variant_t)(dlg.m_strDept));m_pRecPer->PutCollect("Job",(_variant_t)(dlg.m_strJob));m_pRecPer->Update();m_pRecPer->Close();刪除選中信息:m_pRecPer->Delete(adAffectCurrent);m_pRecPer->Update();m_pRecPer->Close();4.4各個模塊的設計與實現(xiàn)(1)登陸模塊系統(tǒng)登錄模塊用于驗證用戶登錄系統(tǒng)時輸入的用戶名,密碼是否正確,只有合法的用戶才可以進入系統(tǒng)。為了實現(xiàn)此功能,需要在數(shù)據(jù)庫中加入表Login,表內容見表4.1:表4.1Login表內容字段名稱數(shù)據(jù)類型必填字段相關屬性備注ID自動編號是——主鍵userName文本否字段大小=12用戶名userPassword文本否字段大小=16密碼實現(xiàn)驗證用戶名,密碼功能的代碼如下: CStringstrName; strName.Format("selectuserPasswordfromLoginwhereuserName='%s'",m_strName); BSTRbstrSql=strName.AllocSysString(); try { m_pRecordset->Open(bstrSql,_variant_t((IDispatch*)theApp.m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText); } catch(_com_errore) {計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第17頁。 CStringstrOpen;計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第17頁。 strOpen.Format("數(shù)據(jù)庫打開失??!\r\n錯誤信息:%d",e.ErrorMessage); AfxMessageBox(strOpen); } if(!m_pRecordset->adoEOF) { if(m_strPass==(_bstr_t)m_pRecordset->GetCollect("userPassword")) CDialog::OnOK(); else AfxMessageBox("密碼不正確!"); } else AfxMessageBox("該用戶不存在!");該系統(tǒng)還實現(xiàn)了注冊新用戶的功能,在系統(tǒng)菜單下有注冊新用戶選項卡,點擊注冊新用戶,即可注冊新用戶。點擊后彈出注冊窗口,實現(xiàn)注冊新用戶代碼如下: CStringstr; str.Format("select*fromLoginwhereuserName='%s'",m_strName); BSTRbstrSql=str.AllocSysString(); try { m_pRecordset->Open(bstrSql,_variant_t((IDispatch*)theApp.m_pConnection,true),adOpenDynamic,adLockOptimistic,adCmdText); } catch(_com_errore) { AfxMessageBox(e.ErrorMessage()); } if(m_pRecordset->adoEOF) { try { m_pRecordset->AddNew(); m_pRecordset->PutCollect("userName",(_variant_t)(m_strName));計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第18頁。計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第18頁。 m_pRecordset->Update(); } catch(_com_errore) { AfxMessageBox(e.ErrorMessage()); } AfxMessageBox("新用戶注冊成功!"); CDialog::OnOK(); } else AfxMessageBox("該用戶名已存在!");新用戶注冊成功后會提示“新用戶注冊成功!”,可以利用重新登錄來檢測是否注冊成功。(2)員工信息模塊員工信息模塊可以顯示員工基本信息,并可以增加新的員工信息并對需要修改或刪除的員工信息加以修改、刪除,在刪除的同時還需要把其他表單中相應的員工記錄刪除。點擊數(shù)據(jù)選擇菜單下的員工信息,就可以彈出員工信息模塊,如圖4.4所示計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第19頁。圖4.3員工信息界面計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第19頁。在該模塊中含有添加、修改、刪除以及通過編號查詢和通過姓名查詢的功能,點擊添加按鈕會彈出相應的添加窗口,在選中記錄之后點擊修改(刪除)按鈕會彈出相應的修改窗口(確認刪除的提示),如果沒有選擇記錄,則會有“請選擇需要修改(刪除)的記錄”的提示。該模塊的編寫需要注意以下幾點:①添加新記錄時需確定要添加的員工信息在員工信息表中沒有記錄。②確定新員工信息的部門、工種及工種編號在部門信息中存有記錄。③刪除記錄時需同時刪除員工在考勤表,工資表的對應記錄,并在刪除的時候會有是否刪除的確定提示。(3)部門信息模塊該模塊顯示了工種編號、部門名稱、工種名稱以及基本工資,并可以對其進行添加和修改,同時也能根據(jù)部門名稱和部門編號進行查詢操作。點擊數(shù)據(jù)選擇下的部門信息菜單,便可彈出相應的部門信息窗口。(4)考勤信息模塊該模塊實現(xiàn)了考勤信息的顯示及查詢,查詢分為姓名查詢、編號查詢、按年查詢和按月查詢四種方式,當填寫好年月,并輸入姓名(或編號),點擊姓名(或編號)下的查詢按鈕,便可查詢該姓名(或編號)的員工在該年月下的考勤信息。點擊數(shù)據(jù)選擇菜單下的考勤信息,可彈出如圖4.5的考勤信息界面。計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第20頁。計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第20頁。圖4.4考勤信息界面需要注意的是,該模塊并不具備添加、修改功能,添加新紀錄時,需要先在缺勤信息內添加當月的缺勤紀錄(如果當月沒有缺勤紀錄,可添加缺勤天數(shù)為0),再在加班信息中添加當月的加班天數(shù)(沒有加班可以不進行填寫,系統(tǒng)會默認為0)。(5)缺勤記錄模塊及加班記錄模塊缺勤記錄模塊用于實現(xiàn)對員工執(zhí)勤情況的管理,通過在該模塊下添加、修改員工執(zhí)勤記錄可相應修改員工在考勤信息及工資信息中的相應數(shù)據(jù)。點擊考勤記錄菜單下的缺勤記錄選項,可彈出如圖4.6的缺勤記錄界面。該模塊的編寫需要注意以下幾點:①添加新記錄時需要先確定該員工是否在員工信息中有記錄,在確定該員工的當月記錄是否已經(jīng)添加在缺勤記錄表中。②添加新記錄的同時需要在考勤信息和工資信息中添加相應的記錄。③修改一條記錄時也需要在考勤信息和工資信息中修改相應的記錄。計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第21頁。加班記錄模塊用于實現(xiàn)對員工加班情況的管理,編寫方法及注意事項和缺勤模塊基本一致,通過點擊考勤記錄菜單下的加班記錄選項,便可彈出加班記錄的界面。計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第21頁。圖4.5缺勤信息界面(6)工資信息模塊該模塊用于顯示員工工資信息,并實現(xiàn)姓名查詢、員工編號查詢、工種編號和按月查詢以及數(shù)據(jù)導出的功能,選擇數(shù)據(jù)選擇菜單下的工資信息,便可彈出相應的工資信息界面,其實現(xiàn)方法與考勤信息模塊基本一致。計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第22頁。計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第22頁。5主要技術我的程序是采用VisualC++完成,所用的技術是C++的數(shù)據(jù)庫編程,選用的數(shù)據(jù)庫是MicroSoft的Access2007,整個制作過程用了兩個月,有不少地方做的不好(例如界面不太美觀),需要進一步的完善才行,不足之處請老師見諒。5.1主要控件代碼 關于下拉列表框的使用,向下拉列表框中添加數(shù)據(jù),以月份為例,代碼如下: for(inti=1;i<13;i++) { CStringstrI; strI.Format("%d",i); ((CComboBox*)GetDlgItem(IDC_COMBO_M))->AddString(strI); } 關于列表控件的使用,設置列表控件表頭,以員工信息為例,代碼如下:m_listPerson.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES); m_listPerson.InsertColumn(0,"員工編號",LVCFMT_LEFT,80); m_listPerson.InsertColumn(1,"員工姓名",LVCFMT_LEFT,80); m_listPerson.InsertColumn(2,"性別",LVCFMT_LEFT,60); m_listPerson.InsertColumn(3,"所在部門",LVCFMT_LEFT,80); m_listPerson.InsertColumn(4,"所屬工種",LVCFMT_LEFT,80); m_listPerson.InsertColumn(5,"工種編號",LVCFMT_LEFT,80); 向列表控件中添加數(shù)據(jù)庫信息,以添加員工信息為例: while(!m_pRecPer->adoEOF) { try { m_listPerson.InsertItem(0,_bstr_t(""));計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第23頁。 m_listPerson.SetItemText(0,0,(_bstr_t)m_pRecPer->GetCollect("PersonID")); m_listPerson.SetItemText(0,1,(_bstr_t)m_pRecPer->GetCollect("PersonName") m_listPerson.SetItemText(0,2,(_bstr_t)m_pRecPer->GetCollect("PersonSex")) m_listPerson.SetItemText(0,3,(_bstr_t)m_pRecPer->GetCollect("Dept")); m_listPerson.SetItemText(0,4,(_bstr_t)m_pRecPer->GetCollect("Job")); m_listPerson.SetItemText(0,5,(_bstr_t)m_pRecPer->GetCollect("DeptNO"));計算機系企業(yè)考勤管理系統(tǒng)的設計與實現(xiàn)全文共27頁,當前為第23頁。 m_pRecPer->MoveNext(); } catch(_com_errore) { CStringstrerror; strerror.Format("數(shù)據(jù)庫導出失??!\r\n錯誤信息:%s",e.ErrorMessage); AfxMessageBox(strerror); } }5.2ADO數(shù)據(jù)庫訪問技術盡管應用程序仍可使用VisualC++6.0中的ODBC和RDO,但Microsoft還是推薦將ADO作為新應用程序的數(shù)據(jù)訪問方法。所有這些數(shù)據(jù)訪問方法都是COM接口,可在不同工具中使用,但是,它們之間還是有幾點主要區(qū)別:(1)ADO是訪問OLEDB中所有類型數(shù)據(jù)的對象模型。諸如VisualBasic、Java、VisualC++6.0、VBScript和Jscript的語言都可使用ADO,然后通過其訪問任何OLEDB源中的數(shù)據(jù)。ADO可用來訪問關系數(shù)據(jù),以及E-Mail或電子表格中含有的數(shù)據(jù)。(2)RDO是訪問ODBC中關系數(shù)據(jù)的對象模型。RDO可使Visual

溫馨提示

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

評論

0/150

提交評論