




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 職員培訓(xùn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) i 目目 錄錄 1 引 言.1 1.1 課程設(shè)計(jì)背景及目的.1 1.2 職員管理系統(tǒng)的社會(huì)需求.1 1.3 開(kāi)發(fā)工具及平臺(tái)簡(jiǎn)介.2 2 系統(tǒng)分析.5 2.1 系統(tǒng)可行性分析.5 2.2 系統(tǒng)需求分析.6 2.3 系統(tǒng)設(shè)計(jì)思路.7 3 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn).9 3.1 系統(tǒng)設(shè)計(jì).9 3.2 系統(tǒng)開(kāi)發(fā)環(huán)境配置.17 3.3 詳細(xì)程序設(shè)計(jì).17 4 系統(tǒng)測(cè)試與維護(hù).27 4.1 系統(tǒng)測(cè)試.27 4.2 系統(tǒng)維護(hù).32 5 結(jié)論.33 致 謝.34 參考文獻(xiàn).35 附錄:設(shè)計(jì)源程序清單.36 職員培訓(xùn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) ii 職員培訓(xùn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)職員培訓(xùn)管理系統(tǒng)
2、的設(shè)計(jì)與實(shí)現(xiàn) 學(xué)生姓名:學(xué)生姓名: 指導(dǎo)老師:指導(dǎo)老師: 摘 要 本課程設(shè)計(jì)結(jié)合管理制度,經(jīng)過(guò)實(shí)際需求分析,開(kāi)發(fā)了一個(gè)企業(yè)職員培訓(xùn)管理 系統(tǒng)。系統(tǒng)具有職員信息管理、培訓(xùn)計(jì)劃管理、培訓(xùn)課程管理和系統(tǒng)信息管理等功能。 通過(guò)職員信息管理實(shí)現(xiàn)職員的添加、查詢(xún)、刪除等操作,可查看職員成績(jī)信息、培訓(xùn) 計(jì)劃、需求計(jì)劃;通過(guò)系統(tǒng)信息管理可以修改用戶(hù)密碼,添加培訓(xùn)資源等。系統(tǒng)采用 visual c+作為開(kāi)發(fā)工具、數(shù)據(jù)庫(kù)采用微軟的 access 開(kāi)發(fā),使用 c+語(yǔ)言同時(shí)使用了 mfc 窗口化編程,開(kāi)發(fā)平臺(tái)為 window 2000/xp。系統(tǒng)還采用模塊化程序設(shè)計(jì),便于 系統(tǒng)功能的各種組合和修改,還具備有數(shù)據(jù)庫(kù)維護(hù)
3、功能,及時(shí)根據(jù)用戶(hù)需求進(jìn)行數(shù)據(jù) 的添加、刪除和修改操作。 關(guān)鍵詞 管理信息系統(tǒng);職員培訓(xùn)管理;visual c+;access 職員培訓(xùn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) iii the design and implementation of the staff training management system student name: gui chen advisor:zhou shu-ren abstract: this curriculum design aims at resolve the management problems of staff training. this system
4、 consists of employee information management, training program management, training courses management and systems information management component. information management can be achieved through the realization of the staff to add, query, delete and other operations, it also can look for the staffs
5、 score information, training programs, requirements planning; through the management training program can add, delete information on the training plan; through management training courses can add and delete the relevant course information; through the system of information management to manage syste
6、ms information, such as modify the users password, add information of training resources. the development platform is visual c + + and microsofts access database, use the c+ language to write programs, the completion of data entry, modification, storage, query and other operations, using the mfc win
7、dows programming when develop; use access database tocreate data tables for data storage . keywords: information management system; staff training management; visual c+; access 桂忱 職員培訓(xùn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 1 頁(yè) 共 41 頁(yè) 1 引引 言言 企業(yè)通過(guò)一個(gè)好的職員培訓(xùn)管理系統(tǒng),能使企業(yè)的培訓(xùn)工作系統(tǒng)化、規(guī)范化、自 動(dòng)化、從而提高企業(yè)職員的素質(zhì)和工作能力,使企業(yè)具有強(qiáng)大的競(jìng)爭(zhēng)力。 本課程設(shè)計(jì)主要解決在一個(gè)綜合型
8、企業(yè)中,進(jìn)行職員培訓(xùn)管理的程序設(shè)計(jì)。 企業(yè)職員培訓(xùn)管理系統(tǒng)旨在為企業(yè)管理者提供一個(gè)可以操作的,方便查詢(xún),易于 修改的輔助管理系統(tǒng)。 1.1 課程設(shè)計(jì)背景課程設(shè)計(jì)背景及目的及目的 當(dāng)今社會(huì),計(jì)算機(jī)的應(yīng)用及普及到經(jīng)濟(jì)和社會(huì)生活的各個(gè)領(lǐng)域,原本的舊的管理 方法越來(lái)越不適應(yīng)現(xiàn)在社會(huì)的發(fā)展。為了適應(yīng)現(xiàn)代社會(huì)人們高度強(qiáng)烈的時(shí)間觀(guān)念,職 員培訓(xùn)管理系統(tǒng),是使企業(yè)的職員培訓(xùn)工作系統(tǒng)化、規(guī)范化、自動(dòng)化,從而達(dá)到提高 企業(yè)培訓(xùn)管理效率的目的。 隨著科技的進(jìn)步,社會(huì)已經(jīng)進(jìn)入了信息時(shí)代。企業(yè)對(duì)職員的素質(zhì)要求越來(lái)越高, 而隨著時(shí)代的進(jìn)步、科技的發(fā)展,企業(yè)的職員很少能跟上時(shí)代的步伐,他們需要經(jīng)過(guò) 培訓(xùn)才能更好的工作,但是
9、企業(yè)的職員眾多,素質(zhì)高低不一,需要培訓(xùn)的課程不盡相 同,所以為了便于企業(yè)管理,使企業(yè)的管理更加自動(dòng)化,提高工作效率,節(jié)約管理成 本。因此特選此為題目,其符合學(xué)校畢業(yè)設(shè)計(jì)要求,能夠達(dá)到提高計(jì)算機(jī)應(yīng)用能力的 目的。 傳統(tǒng)的培訓(xùn)方法,培訓(xùn)效果差,不能根據(jù)不同職員的實(shí)際實(shí)際情況,針對(duì)不同職 員實(shí)行不同的培訓(xùn)課程,更難讓職員反映培訓(xùn)效果。一個(gè)高效的職員培訓(xùn)系統(tǒng)已經(jīng)更 成為企業(yè)的必要的軟件系統(tǒng),以提高公司的整體工作效率,從而對(duì)全面提升企業(yè)競(jìng)爭(zhēng) 能力和盈利能力具有重要作用。 該系統(tǒng)簡(jiǎn)單易用,提高企業(yè)領(lǐng)導(dǎo)管理職員培訓(xùn)的效率、為企業(yè)職員培訓(xùn)管理打下 了良好的基礎(chǔ),從而減少管理方面的工作量。因此特選此為題目,提高
10、計(jì)算機(jī)應(yīng)用能 力。 1.2 職員管理系統(tǒng)的社會(huì)需求職員管理系統(tǒng)的社會(huì)需求 近年來(lái),有關(guān)職員培訓(xùn)管理的軟件很多。但大部分是培訓(xùn)中介組織的一項(xiàng)面向企 桂忱 職員培訓(xùn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 2 頁(yè) 共 41 頁(yè) 業(yè)的服務(wù),而且還是一些網(wǎng)絡(luò)版本。比如,在美國(guó)有astd-american society for training and development、the distance and education training council online、tcms hr careers、resource software 、safety software cstring strsql; upda
11、tedata(true); strsql.format(select * from user_pswd where tms_user=%s and tms_pswd=%s,m_username,m_password); m_recordset-open(afx_db_use_default_type,strsql); if(m_recordset-getrecordcount()=0) if(countgetbuffer(1)!=0) messagebox(old passward wrong!); m_formerps.empty(); m_newps.empty(); m_confirmp
12、s.empty(); updatedata(false); elseif(m_newps.compare(m_confirmps)!=0) messagebox(new passward confirm wrong!); m_formerps.empty(); m_newps.empty(); m_confirmps.empty(); updatedata(false); 桂忱 職員培訓(xùn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 26 頁(yè) 共 41 頁(yè) elsestrsql.format(delete from user_pswd where tms_user=%s,user); m_database.exec
13、utesql(strsql); strsql.format(insert into user_pswd values(%s,%s),user,m_newps); m_database.executesql(strsql); messagebox(password modify successful); cdialog:onok(); 桂忱 職員培訓(xùn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 27 頁(yè) 共 41 頁(yè) 4 系統(tǒng)測(cè)試與維護(hù)系統(tǒng)測(cè)試與維護(hù) 4.1 系統(tǒng)測(cè)試系統(tǒng)測(cè)試 一、 添加功能測(cè)試 (一)添加職員基本信息功能 首先打開(kāi)添加職員信息錄入窗口,如圖4.1所示,向窗口內(nèi)添加職員的基本信息, 然后點(diǎn)提交按鈕。
14、 圖 4.1 職員信息錄入窗口 可以看見(jiàn)數(shù)據(jù)成功的添加到了數(shù)據(jù)庫(kù)中,如圖4.2所示: 圖 4.2 成功添加職員信息 (二)添加職員成績(jī)功能 桂忱 職員培訓(xùn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 28 頁(yè) 共 41 頁(yè) 首先選中職員信息管理窗口中的職員成績(jī)單選按鈕,點(diǎn)添加,進(jìn)入添加成績(jī)窗口 界面,然后向內(nèi)添加需要添加的數(shù)據(jù)如圖4.3所示: 圖 4.3 職員成績(jī)錄入窗口 查看職員信息管理界面,點(diǎn)職員張三可以查看到張三的成績(jī)成功的錄入了。結(jié)果如 圖4.4所示: 圖 4.4 成功添加成績(jī) (三)添加職員培訓(xùn)計(jì)劃 桂忱 職員培訓(xùn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 29 頁(yè) 共 41 頁(yè) 首先選中職員信息管理窗口中的職員計(jì)劃單選
15、按鈕,點(diǎn)添加,進(jìn)入添加職員計(jì)劃窗 口界面,然后向內(nèi)添加需要添加的數(shù)據(jù)如圖4.5所示,添加完成后點(diǎn)提交按鈕: 圖 4.5 職員培訓(xùn)計(jì)劃添加界面 查看職員信息管理界面,點(diǎn)職員小明可以看到在職員培訓(xùn)計(jì)劃窗口內(nèi)成功添加了數(shù) 據(jù)如圖4.6所示: 圖 4.6 職員培訓(xùn)計(jì)劃添加成功 (四)添加職員需求 首先選中職員信息管理窗口中的職員需求單選按鈕,點(diǎn)添加,進(jìn)入添加職員需求窗 口界面,然后向內(nèi)添加需要添加的數(shù)據(jù)如圖4.7所示,添加完成后點(diǎn)提交按鈕: 圖 4.7 添加職員需求窗口 桂忱 職員培訓(xùn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 30 頁(yè) 共 41 頁(yè) 查看職員信息管理界面,點(diǎn)職員張三可以看到在職員需求窗口內(nèi)成功添加了數(shù)
16、據(jù)如 圖4.8所示: 圖 4.8 成功添加職員需求 二、 刪除功能測(cè)試 (一)刪除局部信息測(cè)試 進(jìn)入職員信息管理界面,先測(cè)試刪除職員培訓(xùn)計(jì)劃。選擇職員計(jì)劃按鈕,然后選擇 需要?jiǎng)h除的信息后點(diǎn)刪除按鈕,如圖4.9所示: 圖 4.9 刪除職員培訓(xùn)計(jì)劃 刪除后可以發(fā)現(xiàn)除了職員的培訓(xùn)計(jì)劃被刪除外,別的信息都不受影響。如圖4.10所 示: 圖 4.10 成功刪除職員培訓(xùn)計(jì)劃 桂忱 職員培訓(xùn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 31 頁(yè) 共 41 頁(yè) (二)刪除全局?jǐn)?shù)據(jù)測(cè)試 刪除職員基本信息,則對(duì)應(yīng)的職員成績(jī)信息,培訓(xùn)計(jì)劃信息,需求信息都要被刪除, 刪除職員張三的信息如圖4.11所示: 圖 4.11 刪除職員基本信息
17、測(cè)試結(jié)果只能在數(shù)據(jù)庫(kù)中才能看出來(lái)有沒(méi)有真正的刪除:通過(guò)圖4.12所示可以看見(jiàn) 成績(jī)表中的張三的數(shù)據(jù)已經(jīng)被刪除了,測(cè)試成功。 圖 4.12 職員成績(jī)表 三、 查詢(xún)功能測(cè)試 在職員管理界面,點(diǎn)職員基本信息單選按鈕,輸入要查詢(xún)的信息如圖4.13所示,點(diǎn) 擊查詢(xún)按鈕: 桂忱 職員培訓(xùn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 32 頁(yè) 共 41 頁(yè) 圖 4.13 查詢(xún)信息 查詢(xún)結(jié)果如圖4.14所示,測(cè)試成功: 圖 4.14 查詢(xún)結(jié)果 4.2 系統(tǒng)維護(hù)系統(tǒng)維護(hù) 系統(tǒng)測(cè)試完成后,職員培訓(xùn)管理系統(tǒng)就可以投入運(yùn)行了。但是隨著用戶(hù)的使用、 運(yùn)行時(shí)間的增加等客觀(guān)因素,難免會(huì)出現(xiàn)一些錯(cuò)誤;并且隨著科技的開(kāi)發(fā)、社會(huì)的進(jìn) 步,這個(gè)系統(tǒng)必
18、定會(huì)在某些方面顯示出不足。所以就需要管理員對(duì)其進(jìn)行定期的系統(tǒng) 維護(hù)和軟件升級(jí),增加新功能以適應(yīng)社會(huì)的發(fā)展,滿(mǎn)足培訓(xùn)的需要。 桂忱 職員培訓(xùn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 33 頁(yè) 共 41 頁(yè) 5 結(jié)論結(jié)論 本設(shè)計(jì)針對(duì)企業(yè)對(duì)職員的素質(zhì)要求越來(lái)越高,為了適應(yīng)企業(yè)對(duì)職員的需求,采用 功能強(qiáng)大的 visual c+6.0 開(kāi)發(fā)平臺(tái),使用 access 數(shù)據(jù)庫(kù),設(shè)計(jì)了職員培訓(xùn)管理系統(tǒng)。 本文在開(kāi)發(fā)中的任務(wù)包括以下幾個(gè)方面: 1確定課題研究方向 確定課題研究的方向,查閱相關(guān)文獻(xiàn)資料,了解職員培訓(xùn)的研究思路。確定設(shè)計(jì) 該系統(tǒng)的需求,為系統(tǒng)功能制定相應(yīng)的計(jì)劃,設(shè)計(jì)出大概的整體框架。 2數(shù)據(jù)庫(kù)關(guān)系及功能分析 針對(duì)企
19、業(yè)對(duì)職員培訓(xùn)的實(shí)際要求,在明確具體的需求之后,完成數(shù)據(jù)庫(kù)各個(gè)表之 間的關(guān)系的分析、數(shù)據(jù)庫(kù)各個(gè)表的具體實(shí)現(xiàn)以及數(shù)據(jù)庫(kù)詳細(xì)的功能分析,為系統(tǒng)功能 具體的實(shí)現(xiàn)做好基礎(chǔ)。 3功能實(shí)現(xiàn) 完成各個(gè)表以后,將各個(gè)表之間的聯(lián)系轉(zhuǎn)化為功能之間的聯(lián)系,同時(shí)為各個(gè)功能 劃分模塊,逐步完成模塊代碼的具體實(shí)現(xiàn),最后將所有的代碼整合到一起形成一個(gè)初 步的職員培訓(xùn)系統(tǒng)。 4代碼的測(cè)試 完成代碼的實(shí)現(xiàn)之后,進(jìn)行系統(tǒng)的測(cè)試,將軟件工程黑盒測(cè)試的技術(shù)運(yùn)用到該系 統(tǒng)當(dāng)中,在測(cè)試的過(guò)程中繼續(xù)改進(jìn)系統(tǒng)完備系統(tǒng)的功能 桂忱 職員培訓(xùn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 34 頁(yè) 共 41 頁(yè) 致致 謝謝 經(jīng)過(guò)兩個(gè)星期的緊張?jiān)O(shè)計(jì)和制作,我終于完成了職
20、員培訓(xùn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。 系統(tǒng)編寫(xiě)過(guò)程中困難重重,從資料搜集到系統(tǒng)的整體設(shè)計(jì),再到各個(gè)模塊的詳細(xì)設(shè)計(jì), 都不斷接觸到新的知識(shí)。為了更好的完成課程設(shè)計(jì),查閱了大量資料與實(shí)例。并將學(xué) 習(xí)到的新知識(shí)馬上應(yīng)用到系統(tǒng)編寫(xiě)中。在此次課程設(shè)計(jì)中,在周書(shū)仁老師的悉心指導(dǎo) 和嚴(yán)格要求下完成,從系統(tǒng)設(shè)計(jì)、編寫(xiě)程序、調(diào)試程序到書(shū)寫(xiě)課程論文,老師和同學(xué) 都提供了很多幫助。 通過(guò)此次課程設(shè)計(jì),很好的實(shí)踐了所學(xué)的管理信息系統(tǒng)及案例課程,同時(shí)鍛 煉了自己的自學(xué)能力,能很快的將新知識(shí)補(bǔ)充進(jìn)自己的知識(shí)庫(kù),并馬上應(yīng)用到實(shí)際系 統(tǒng)設(shè)計(jì)之中。 最后,感謝宿舍里為了課程設(shè)計(jì)一起奮斗的姐妹,感謝計(jì)算機(jī)系的同學(xué)為我的模 塊設(shè)計(jì)和論文寫(xiě)
21、作所提的意見(jiàn),感謝老師指導(dǎo)我調(diào)試程序消除錯(cuò)誤,感謝長(zhǎng)沙理工大 學(xué)機(jī)房所提供的條件,謝謝同組以及其他組同學(xué)的相互幫助,有了這些,我才能很好 的順利的完成我的這次課程設(shè)計(jì)。 桂忱 職員培訓(xùn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 35 頁(yè) 共 41 頁(yè) 參考文獻(xiàn) 1 段興visual c+實(shí)用程序 100 例m北京:人民郵電出版社,2001:47-58 2 程慧霞用 c+建造專(zhuān)家系統(tǒng)m北京:電子工業(yè)出版社,2001:20-150. 3 門(mén)檻創(chuàng)作室visual c+6.0 教程m北京:電子工業(yè)出版社,1999:56-77. 4 官章全,韓云君visual c+6.0 高級(jí)編程范例m北京:電子工業(yè)出版社, 2001:
22、65-88 5 求實(shí)科技visual c+ 6.0 數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)與工程實(shí)踐m北京:人民郵電出版社, 2004:10-40 6 鄭阿奇,丁有和. visual c+教程m. 北京: 機(jī)械工業(yè)出版社,2007 7 鄭小玲,王學(xué)軍,王立國(guó) access 項(xiàng)目開(kāi)發(fā)實(shí)用案例m北京:科學(xué)出版社, 2006 8 黃明,梁旭,周紹斌 visual c+信息系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)實(shí)例m北京:機(jī)械工業(yè) 出版社,2005 9 求是科技visual c+ 6.0 信息管理系統(tǒng)開(kāi)發(fā)m北京:人民郵電出版社,2006 10 汪小龍visual c+與 windows 編程學(xué)習(xí)參考m 南京:南京大學(xué)出版社, 2005 11 韓存兵
23、visual c+數(shù)據(jù)庫(kù)編程實(shí)戰(zhàn)m北京:科學(xué)出版社,2004 12 薛曉萍,任偉,胡潔企業(yè)職員培訓(xùn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)j維普期刊, 2009,issn 1009-3044 13 邵碧華,王飛. mis 軟件設(shè)計(jì)的新思路j . 華南金融電腦,2002,(07). 12 csdn 程序員網(wǎng)站,http:/ 桂忱 職員培訓(xùn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 36 頁(yè) 共 41 頁(yè) 附錄:設(shè)計(jì)源程序清單 / 程序包名稱(chēng):職員培訓(xùn)系統(tǒng) / 程序作者:桂忱 / 最后修改日期:2010-11-23 職員信息管理模塊對(duì)話(huà)框初始化函數(shù),功能是初始化 list control 控件的列名,然 后顯示數(shù)據(jù)。代碼如下: boo
24、l cdialog_personnel:oninitdialog() cdialog:oninitdialog();/確定列名 select=-1; / todo: add extra initialization here m_basic.insertcolumn(0,職員號(hào)); m_basic.insertcolumn(1,職員姓名); m_basic.insertcolumn(2,所在部門(mén)號(hào)); m_basic.insertcolumn(3,學(xué)歷); m_basic.insertcolumn(4,性別); m_basic.insertcolumn(5,生日); m_basic.inser
25、tcolumn(6,籍貫); m_basic.insertcolumn(7,國(guó)籍); m_basic.insertcolumn(8,民族); m_basic.insertcolumn(9,身份證號(hào)); m_basic.insertcolumn(10,婚姻狀況); m_basic.insertcolumn(11,健康狀況); m_basic.insertcolumn(12,參加工作時(shí)間); m_basic.insertcolumn(13,職員狀態(tài)); m_basic.insertcolumn(14,狀態(tài)時(shí)間); m_basic.insertcolumn(15,家庭住址); m_basic.ins
26、ertcolumn(16,聯(lián)系電話(huà)); m_basic.insertcolumn(17,email 地址); 桂忱 職員培訓(xùn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 37 頁(yè) 共 41 頁(yè) m_basic.insertcolumn(18,工作崗位代號(hào)); rect rectbasic; /取得 list control 對(duì)象的寬并進(jìn)行分配 m_basic.getwindowrect( int widbasic = rectbasic.right - rectbasic.left; m_basic.setcolumnwidth(0,widbasic/8); m_basic.setcolumnwidth(1,wi
27、dbasic/8); m_basic.setcolumnwidth(18,widbasic/8); /屬性設(shè)置(選中一個(gè)位置,則該行都高亮) m_basic.setextendedstyle(lvs_ex_fullrowselect); /下面是對(duì)其他三個(gè)對(duì)象的初始化 m_score.insertcolumn(0,職員號(hào)); m_score.insertcolumn(1,課程號(hào)); m_score.insertcolumn(2,上課時(shí)間); m_score.insertcolumn(3,上課地點(diǎn)); m_score.insertcolumn(4,教師號(hào)); m_score.insertcolu
28、mn(5,成績(jī) 1); m_score.insertcolumn(6,成績(jī) 2); m_score.insertcolumn(7,教師評(píng)語(yǔ)); m_score.insertcolumn(8,通過(guò)與否); rect rectscore; m_score.getwindowrect( int widscore= rectscore.right - rectscore.left; m_need.insertcolumn(0,課程號(hào)); m_need.insertcolumn(1,課程需要者號(hào)); rect rectneed; m_need.getwindowrect( int widneed= re
29、ctneed.right - rectneed.left; 桂忱 職員培訓(xùn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 38 頁(yè) 共 41 頁(yè) m_need.setcolumnwidth(0,widneed/2); m_need.setcolumnwidth(1,widneed/2); m_need.setextendedstyle(lvs_ex_fullrowselect); m_plan.insertcolumn(0,職員號(hào)); m_plan.insertcolumn(1,課程號(hào)); m_plan.insertcolumn(2,課程開(kāi)始時(shí)間); m_plan.insertcolumn(3,課程結(jié)束時(shí)間); r
30、ect rectplan; m_plan.getwindowrect( int widplan= rectplan.right - rectplan.left; m_plan.setcolumnwidth(0,widplan/4); m_plan.setcolumnwidth(1,widplan/4); m_plan.setcolumnwidth(2,widplan/4); m_plan.setcolumnwidth(3,widplan/4); m_plan.setextendedstyle(lvs_ex_fullrowselect); p_query.format(select * from
31、 personnel); refreshdata(); return true; / return true unless you set the focus to a control / exception: ocx property pages should return false 職員信息管理模塊中更新函數(shù) refreshdata(),這個(gè)函數(shù)隨時(shí)被調(diào)用來(lái)顯示數(shù)據(jù)。 void cdialog_personnel:refreshdata() /首先確保數(shù)據(jù)庫(kù)打開(kāi) if(!m_database.isopen() m_database.open(_t(train); /對(duì) m_basic 控
32、件內(nèi)容的更新 m_basic.deleteallitems(); 桂忱 職員培訓(xùn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 39 頁(yè) 共 41 頁(yè) /創(chuàng)建記錄集 cpersonset m_basicset( cstring strsql; m_basicset.open(afx_db_use_default_type,p_query); cdbvariant varvalue; if(m_basicset.getrecordcount()!=0) m_basicset.movefirst(); char buf20; int i=0; while(!m_basicset.iseof() int temp=0;
33、m_basicset.getfieldvalue(temp,varvalue); sprintf(buf,%d,varvalue.m_lval); m_basic.insertitem(i,buf); m_basicset.getfieldvalue(1,varvalue); m_basic.setitemtext(i,1,varvalue.m_pstring-getbuffer(1); m_basicset.getfieldvalue(18,varvalue); sprintf(buf,%d,varvalue.m_chval); m_basic.setitemtext(i,18,buf);
34、m_basicset.movenext(); i+; m_score.deleteallitems(); cscoreset m_scoreset( strsql.format(select * from score where emp_no=%d,person_id); m_scoreset.open(afx_db_use_default_type,strsql); if(m_scoreset.getrecordcount()!=0) m_scoreset.movefirst(); i=0; while(!m_needset.iseof() int temp=0; 桂忱 職員培訓(xùn)管理系統(tǒng)的設(shè)
35、計(jì)與實(shí)現(xiàn) 第 40 頁(yè) 共 41 頁(yè) m_needset.getfieldvalue(temp,varvalue); sprintf(buf,%d,varvalue.m_ival); m_need.insertitem(i,buf); m_needset.getfieldvalue(1,varvalue); sprintf(buf,%d,varvalue.m_lval); m_need.setitemtext(i,1,buf); m_needset.movenext(); i+; m_plan.deleteallitems(); cpersonplanset m_planset( strsql
36、.format(select*frompersonnel_planwhere emp_no=%d,person_id); m_planset.open(afx_db_use_default_type,strsql); if(m_planset.getrecordcount()!=0) m_planset.movefirst(); i=0; while(!m_planset.iseof() int temp=0; m_planset.getfieldvalue(temp,varvalue); sprintf(buf,%d,varvalue.m_lval); m_plan.insertitem(i
37、,buf); m_planset.getfieldvalue(1,varvalue); sprintf(buf,%d,varvalue.m_lval); m_plan.setitemtext(i,1,buf); m_planset.getfieldvalue(2,varvalue); sprintf(buf,%d-%d-%d,varvalue.m_pdate-year,varvalue.m_pdate- month,varvalue.m_pdate-day); m_plan.setitemtext(i,2,buf); m_planset.getfieldvalue(3,varvalue); s
38、printf(buf,%d-%d-%d,varvalue.m_pdate-year,varvalue.m_pdate- month,varvalue.m_pdate-day); m_plan.setitemtext(i,3,buf); m_planset.movenext(); i+; 桂忱 職員培訓(xùn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 41 頁(yè) 共 41 頁(yè) 刪除和添加記錄都需要預(yù)先選定操作的數(shù)據(jù)表,如何獲取用戶(hù)選擇的內(nèi)容,實(shí)現(xiàn)這 個(gè)功能的是一系列 radiobuton 的單擊函數(shù)和再刪除和添加之前對(duì)信息的判斷,每單擊 一次 radiobuton,其他 radiobuton 上的選擇便被去除(實(shí)現(xiàn)單選功
39、能) ,函數(shù)代碼如 下: void cdialog_personnel:onradio1() / todo: add your control notification handler code here cdialog:checkradiobutton(idc_radio1,idc_radio4,idc_radio1); void cdialog_personnel:onradio2() / todo: add your control notification handler code here cdialog:checkradiobutton(idc_radio1,idc_radio4,
40、idc_radio2); void cdialog_personnel:onradio3() / todo: add your control notification handler code here cdialog:checkradiobutton(idc_radio1,idc_radio4,idc_radio3); 為了明確是哪條職員基本信息本選中,程序利用了 clistctrl 類(lèi)的單擊事件,并把選 中的記錄設(shè)為藍(lán)色,單擊事件函數(shù)如下: void cdialog_personnel:onclicklist1(nmhdr* pnmhdr, lresult* presult) / tod
41、o: add your control notification handler code here int i=m_basic.getselectionmark(); cstring strsql; if(i=-1) 桂忱 職員培訓(xùn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 42 頁(yè) 共 41 頁(yè) messagebox(please choose a record first!); else person_id=atoi(m_basic.getitemtext(i,0); m_basic.sethotitem(i); refreshdata(); /*presult = 0; 職員信息管理窗口中“刪除”按鈕的
42、單擊事件調(diào)用 onbuttondel()函數(shù),用于刪除 所選定數(shù)據(jù)表的內(nèi)容,如果用戶(hù)將職員基本數(shù)據(jù)表中的一條記錄刪除,那么程序會(huì)自 動(dòng)刪除職員在成績(jī)表、計(jì)劃表和需求表的記錄,程序代碼如下: void cdialog_personnel:onbuttondel() / todo: add your control notification handler code here int choice=cdialog:getcheckedradiobutton(idc_radio1,idc_radio4); if(choice=idc_radio1) int i=m_basic.gethotitem(
43、); cstring strsql; if(i=-1) messagebox(please choose a record first!); else int keyid=atoi(m_basic.getitemtext(i,0); strsql.format(delete from personnel where emp_no=%d,keyid); m_database.executesql(strsql); strsql.format(delete from personnel_plan where emp_no=%d,keyid); 桂忱 職員培訓(xùn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 43 頁(yè) 共
44、41 頁(yè) m_database.executesql(strsql); strsql.format(delete from score where emp_no=%d,keyid); m_database.executesql(strsql); strsql.format(delete from course_need where course_need=%d,keyid); m_database.executesql(strsql); m_database.close(); refreshdata(); else if(choice=idc_radio2) int i=m_plan.gets
45、electionmark(); cstring strsql; if(i=-1) messagebox(please choose a record first!); else int keyid=atoi(m_plan.getitemtext(i,1); strsql.format(delete from personnel_plan where course_id=%d,keyid); m_database.executesql(strsql); m_database.close(); refreshdata(); else if(choice=idc_radio3) int i=m_ne
46、ed.getselectionmark(); cstring strsql; 桂忱 職員培訓(xùn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 44 頁(yè) 共 41 頁(yè) if(i=-1) messagebox(please choose a record first!); else int keyid=atoi(m_need.getitemtext(i,0); strsql.format(delete from course_need where course_id=%d,keyid); m_database.executesql(strsql); m_database.close(); refreshdata(); e
47、lse if(choice=idc_radio4) int i=m_score.getselectionmark(); cstring strsql; if(i=-1) messagebox(please choose a record first!); else int keyid=atoi(m_score.getitemtext(i,1); strsql.format(delete from score where course_id=%d,keyid); m_database.executesql(strsql); m_database.close(); refreshdata(); e
48、lse messagebox(please choose a class first!); 桂忱 職員培訓(xùn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 45 頁(yè) 共 41 頁(yè) 培訓(xùn)課程管理窗口的初始化函數(shù)和更新顯示函數(shù)代碼: bool cdialog_traincourse:oninitdialog() cdialog:oninitdialog(); / todo: add extra initialization here m_content.insertcolumn(0,課程號(hào)); m_content.insertcolumn(1,課程類(lèi)別); m_content.insertcolumn(2,課程中文名稱(chēng))
49、; m_content.insertcolumn(3,課程英文名稱(chēng)); m_content.insertcolumn(4,課程描述); m_content.insertcolumn(5,課程學(xué)時(shí)); m_content.insertcolumn(6,教材); m_content.insertcolumn(7,等效課程); m_content.insertcolumn(8,預(yù)修課程); m_content.insertcolumn(9,初訓(xùn)/復(fù)訓(xùn)標(biāo)志); m_content.insertcolumn(10,開(kāi)課部門(mén)); rect rect; m_content.getwindowrect( in
50、t wid = rect.right - rect.left; m_content.setcolumnwidth(0,wid/11); m_content.setcolumnwidth(1,wid/11); m_content.setcolumnwidth(10,wid/11); m_content.setextendedstyle(lvs_ex_fullrowselect); refreshdata(); return true; / return true unless you set the focus to a control 桂忱 職員培訓(xùn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 46 頁(yè) 共 41
51、 頁(yè) / exception: ocx property pages should return false void cdialog_traincourse:refreshdata() if(!m_database.isopen() m_database.open(_t(train); m_content.deleteallitems(); ccourseset m_recordset( cstring strsql; strsql.format(select * from course); m_recordset.open(afx_db_use_default_type,strsql);
52、cdbvariant varvalue; if(m_recordset.getrecordcount()!=0) m_recordset.movefirst(); char buf20; int i=0; while(!m_recordset.iseof() int temp=0; m_recordset.getfieldvalue(temp,varvalue); sprintf(buf,%d,varvalue.m_ival); m_content.insertitem(i,buf); m_recordset.getfieldvalue(1,varvalue); m_content.setit
53、emtext(i,1,varvalue.m_pstring-getbuffer(1); m_recordset.getfieldvalue(10,varvalue); sprintf(buf,%d,varvalue.m_ival); m_content.setitemtext(i,10,buf); m_recordset.movenext(); i+; 桂忱 職員培訓(xùn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 47 頁(yè) 共 41 頁(yè) 添加和刪除函數(shù): void cdialog_traincourse:onbuttondel() / todo: add your control notification hand
54、ler code here int i=m_content.getselectionmark(); cstring strsql; if(i=-1) messagebox(please choose a record first!); else int keyid=atoi(m_content.getitemtext(i,0); strsql.format(delete from course where course_id=%d,keyid); m_database.executesql(strsql); strsql.format(delete from course_evaluation
55、 where course_id=%d,keyid); m_database.executesql(strsql); m_database.close(); refreshdata(); 培訓(xùn)教材管理模塊的更新數(shù)據(jù)顯示、list control 的單擊函數(shù)和刪除函數(shù)代碼: void cdialog_book:refreshdata() if(!m_database.isopen() m_database.open(_t(train); m_content1.deleteallitems(); 桂忱 職員培訓(xùn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 48 頁(yè) 共 41 頁(yè) m_content2.deleteal
56、litems(); cbookset m_recordset1( ctrainplanset m_recordset2( cstring strsql; strsql.format(select * from book); m_recordset1.open(afx_db_use_default_type,strsql); cdbvariant varvalue; if(m_recordset1.getrecordcount()!=0) m_recordset1.movefirst(); char buf20; int i=0; /刪除選定記錄 void cdialog_book:onbutt
57、ondel() / todo: add your control notification handler code here int i=m_content1.gethotitem(); cstring strsql; if(i=-1) messagebox(please choose a record first!); else int keyid=atoi(m_content1.getitemtext(i,0); strsql.format(delete from book where book_id=%d,keyid); m_database.executesql(strsql); m
58、_database.close(); refreshdata(); 培訓(xùn)計(jì)劃管理模塊函數(shù)代碼: 桂忱 職員培訓(xùn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 49 頁(yè) 共 41 頁(yè) void cdialog_plan:onbuttonadd() / todo: add your control notification handler code here ctrainplaninfo m_trainplaninfo; m_database.close(); m_trainplaninfo.m_database.open(_t(train); m_trainplaninfo.domodal(); refreshdat
59、a(); void cdialog_plan:refreshdata() if(!m_database.isopen() m_database.open(_t(train); m_content.deleteallitems(); ctrainplanset m_recordset( cstring strsql; strsql.format(select * from course_available); m_recordset.open(afx_db_use_default_type,strsql); cdbvariant varvalue; if(m_recordset.getrecor
60、dcount()!=0) m_recordset.movefirst(); char buf20; int i=0; bool cdialog_plan:oninitdialog() cdialog:oninitdialog(); / todo: add extra initialization here m_content.insertcolumn(0,課程號(hào)); m_content.insertcolumn(1,課程開(kāi)始時(shí)間); 桂忱 職員培訓(xùn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 50 頁(yè) 共 41 頁(yè) m_content.insertcolumn(2,課程結(jié)束時(shí)間); m_content.inser
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國(guó)細(xì)水霧滅火設(shè)備行業(yè)十三五規(guī)劃及投資戰(zhàn)略研究報(bào)告
- 2025-2030年中國(guó)硬度計(jì)市場(chǎng)競(jìng)爭(zhēng)格局及投資戰(zhàn)略研究報(bào)告
- 2025-2030年中國(guó)男士護(hù)膚品行業(yè)競(jìng)爭(zhēng)狀況及發(fā)展趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)電熱線(xiàn)市場(chǎng)運(yùn)行狀況及前景趨勢(shì)分析報(bào)告
- 上海工程技術(shù)大學(xué)《預(yù)防口腔醫(yī)學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 沈陽(yáng)藥科大學(xué)《工業(yè)網(wǎng)絡(luò)與組態(tài)技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 中南大學(xué)《電動(dòng)汽車(chē)原理與設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 沈陽(yáng)航空航天大學(xué)北方科技學(xué)院《初中道德與法治課程標(biāo)準(zhǔn)與教材》2023-2024學(xué)年第二學(xué)期期末試卷
- 遼寧中醫(yī)藥大學(xué)杏林學(xué)院《電工儀表與測(cè)量》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣西金融職業(yè)技術(shù)學(xué)院《化工熱力學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 四川省瀘州市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)
- 《鄒忌諷齊王納諫》課件(共45張)
- 機(jī)械制圖教學(xué)課件(全套)
- 熱能與動(dòng)力工程測(cè)試技術(shù)- 液位測(cè)量
- 化學(xué)纖維精品課件
- 中式面點(diǎn)師初級(jí)(五級(jí))教學(xué)計(jì)劃、大綱
- QC成果構(gòu)造柱澆筑新技術(shù)的研發(fā)創(chuàng)新(附圖)
- 2020 ACLS-PC-SA課前自我測(cè)試試題及答案
- BIM技術(shù)應(yīng)用管理辦法
- 信息論與編碼第4章信息率失真函數(shù)
- 空間幾何向量法之點(diǎn)到平面的距離
評(píng)論
0/150
提交評(píng)論