2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩53頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  學校代碼:__________</p><p><b>  畢業(yè)論文(設計)</b></p><p>  BACHELOR DISSERTATION</p><p>  論文題目:基于VC教學信息管理系統(tǒng)的設計與實現(xiàn)</p><p>  學位類別:______________ 本科_________

2、_______________________</p><p>  學科專業(yè):________ 通信工程____________________________</p><p>  完成時間:_________ __2012-5-4__________________________</p><p>  基于VC教學信息管理系統(tǒng)的設計與實現(xiàn)</p&

3、gt;<p><b>  中 文 摘 要</b></p><p>  隨著信息技術在管理上越來越深入而廣泛的應用,管理心細系統(tǒng)的實施在技術上已逐步成熟。管理信息系統(tǒng)是一個不斷發(fā)展的新型學科,任何一個單位要生存要發(fā)展,要高效率地把內(nèi)部活動有機地組織起來,就必須建立與自身特點相適應的管理信息系統(tǒng)。</p><p>  學生信息管理系統(tǒng)是一個對學生隨著信息技術

4、在管理上越來越深入而廣泛的應用,管理信息系統(tǒng)的實施在技術上已逐步成熟。管理信息系統(tǒng)是一個不斷發(fā)展的新型學科,任何一個單位要生存要發(fā)展,要高效率地把內(nèi)部活動有機地組織起來,就必須建立與自身特點相適應的管理信息系統(tǒng)。這個學生信息管理系統(tǒng)用Visual C++來設計界面,采用面向?qū)ο蟮恼Z言編程,實現(xiàn)對學生信息的基本管理,包括學生信息,班級信息,課程信息,成績信息的添加,修改和查詢以及密碼等功能。該系統(tǒng)充分考慮用戶的操作簡便性,實現(xiàn)快捷操作如何

5、調(diào)程序也非常重要,通過這個程序可以學習到以前調(diào)試短程序沒有的經(jīng)驗。</p><p>  關鍵詞:信息管理系統(tǒng);學生管理;Visual C + + 6.0 應用平臺;Access;ADO</p><p>  Based on the VC teaching information management system</p><p>  design and Imple

6、mentation</p><p><b>  ABSTRACT</b></p><p>  With more and more widespread and profound application of information technology in management, the implement of management information sy

7、stem has become mature in technology step by step. Managing information system is a new subject. Enterprise needs existence and development, so enterprise activities should be organized efficiently and organically, which

8、 means tightening up the enterprise management and strengthening effective management of any resource (staff, finance, property, etc.) interna</p><p>  Student Information Management System is one of the stu

9、dents with information technology in the management of increasingly deep and broad applications, management information system has been gradually implemented in the technical maturity. Management Information System is a

10、continuous development of new disciplines, any one unit to survive is to develop and efficient activities of the internal organization of organic, it must establish its own characteristics in line with the management of

11、infor</p><p>  Keywords:Management information system;student management; Visual C + + 6.0 application; Access;ADO</p><p><b>  目 錄</b></p><p><b>  第一章 緒論1</b&

12、gt;</p><p>  1.1 學生信息管理系統(tǒng)的國內(nèi)外研究現(xiàn)狀2</p><p>  1.1.1國內(nèi)研究現(xiàn)狀2</p><p>  1.1.2國外研究現(xiàn)狀3</p><p>  1.2 學生信息管理系統(tǒng)的發(fā)展動態(tài)3</p><p>  1.2.1應用方面的發(fā)展動態(tài)3</p><p&g

13、t;  1.2.2技術方面的發(fā)展動態(tài)3</p><p>  第二章 開發(fā)環(huán)境5</p><p>  2.1 VC++概述5</p><p>  2.2 Access的簡介6</p><p>  2.3 Visual C++進行數(shù)據(jù)庫開發(fā)的優(yōu)勢7</p><p>  2.3.1 簡單性7</p>

14、<p>  2.3.2 靈活性7</p><p>  2.3.3 訪問速度快7</p><p>  2.3.4 可擴展性8</p><p>  2.3.5 訪問不同種類數(shù)據(jù)源8</p><p>  2.4 Visual C++提供的數(shù)據(jù)庫訪問技術8</p><p>  2.4.1 ODBC8&l

15、t;/p><p>  2.4.2 MFC ODBC9</p><p>  2.4.3 DAO9</p><p>  2.4.4 OLE DB9</p><p>  2.4.5 ADO9</p><p>  第三章 系統(tǒng)分析10</p><p>  3.1需求分析10</p>

16、<p>  3.2功能分析10</p><p>  第四章 系統(tǒng)設計12</p><p>  4.1系統(tǒng)模塊設計12</p><p>  4.1.1學生基本信息管理模塊12</p><p>  4.1.2課程信息管理模塊12</p><p>  4.1.3班級信息管理模塊12</p>

17、;<p>  4.1.4成績信息管理模塊12</p><p>  4.2系統(tǒng)總功能模塊圖13</p><p>  4.3系統(tǒng)結(jié)構設計14</p><p>  4.4系統(tǒng)數(shù)據(jù)庫設計14</p><p>  4.4.1 學生基本信息表設計StudentInfo14</p><p>  4.4.2 學

18、生成績信息表設計Scores15</p><p>  4.4.3 課程信息表設計Coures15</p><p>  4.4.4 系統(tǒng)用戶表設計Users16</p><p>  第五章 系統(tǒng)實現(xiàn)17</p><p>  5.1 添加ADO連接類CADOConn17</p><p>  5.2系統(tǒng)登錄模塊設計

19、19</p><p>  5.2.1界面設計19</p><p>  5.2.2設計思路20</p><p>  5.2.3核心代碼20</p><p>  5.3 主窗體設計23</p><p>  5.3.1界面設計23</p><p>  5.3. 設計思路23</p&

20、gt;<p>  5.3.3核心代碼24</p><p>  5.4學生基本信息管理模塊設計25</p><p>  5.4.1界面設計25</p><p>  5.4.2設計思路26</p><p>  5.4.3核心代碼26</p><p>  5.5課程信息管理模塊設計30</p&

21、gt;<p>  5.5.1界面設計30</p><p>  5.5.2設計思路31</p><p>  5.5.3核心代碼31</p><p>  5.6成績信息管理模塊設計34</p><p>  5.6.1界面設計34</p><p>  5.6.2設計思路35</p>&

22、lt;p>  5.6.3核心代碼36</p><p>  5.7系統(tǒng)用戶管理錄模塊設計41</p><p>  5.7.1界面設計41</p><p>  5.7.2設計思路41</p><p>  5.7.3核心代碼42</p><p><b>  第六章 結(jié)論47</b>&l

23、t;/p><p><b>  參考文獻48</b></p><p><b>  致謝49</b></p><p><b>  第一章 緒論</b></p><p>  隨著計算機技術的飛速發(fā)展和網(wǎng)絡時代的到來,我們已經(jīng)進入了信息化的時代,有人也稱之為數(shù)字化的時代。在這個數(shù)字化時

24、代里,各個高校在各方面的信息查詢工作都受到了極大的挑戰(zhàn)。隨著各個高校的教育規(guī)模不斷的發(fā)展擴大,學生人數(shù)急劇的增加,有關學生的各種信息量也成倍增長。也帶來了各個高校教育發(fā)展過程中的一個重要的問題,就是學生信息的管理問題。面對龐大的信息量就需要有一個學生信息管理系統(tǒng)來提高學生信息管理工作的效率,做到信息的規(guī)范管理、科學統(tǒng)計和快速查詢,以減少管理工作方面的工作量。</p><p>  學生信息管理系統(tǒng)是一個人機系統(tǒng),以

25、計算機為基礎的,但這并不意味著一切都是自動化的。人機系統(tǒng)的概念說明有些任務最好由人完成,而另一些任務由機器代替。因此,需要很好的分析把什么工作交給人做比較合適,什么工作交給機器比較合適,充分發(fā)揮人和機器的特長,組成一個和諧、有效的系統(tǒng)。</p><p>  近年來,越來越多的用戶認識到快速管理信息的重要性,紛紛開始選擇適合自己的信息管理系統(tǒng)。學生信息管理系統(tǒng)就是根據(jù)這些因素來設計和開發(fā)的。</p>

26、<p>  隨著各個學校校園網(wǎng)的建設和Internet技術的引進,基于校園網(wǎng)和Internet的系統(tǒng)開發(fā)也蓬勃發(fā)展。學生信息查詢是各個學校教學的一項重要工作,現(xiàn)代化的學生信息需要現(xiàn)代化的信息查詢系統(tǒng)支持。從20世紀90年代開始,為適應新世紀人才培養(yǎng)的目標,國內(nèi)高校教育體制進行了大規(guī)模的改革。</p><p>  1.推進高校的信息化建設</p><p>  信息化是全球化的趨勢和

27、潮流,是國家社會經(jīng)濟發(fā)展的必然選擇,信息化水平的高低已成為一個國家綜合國力與發(fā)展?jié)摿Φ闹匾饬恐笜?,積極推進國家信息化又是我國促進經(jīng)濟社會發(fā)展的重要舉措,高校作為促進經(jīng)濟社會發(fā)展的重要領地,他的信息化水平必將對國家信息化建設產(chǎn)生深遠的影響,必將對國家教育信息化建設提供借鑒,信息化不僅影響高校的教學與科研活動,也將給傳統(tǒng)教學、科研活動帶來巨大的變化,同時也將給學?,F(xiàn)行的體系與機制提出挑戰(zhàn),推動他們的變革。高校的學生信息查詢系統(tǒng)的建設就是高

28、校數(shù)字化校園建設的重要組成部分。</p><p>  2.建設高校學生信息查詢平臺</p><p>  校園網(wǎng)的迅猛發(fā)展和Internet技術的引進,還有學生人數(shù)的不斷上升,為建立學生信息查詢系統(tǒng)提供了必要的條件,國內(nèi)許多高校都根據(jù)學校的實際學生信息的情況和特點開發(fā)了適于自己學校的學生信息查詢系統(tǒng)。學生信息查詢系統(tǒng)的開發(fā)便于遠程查詢學生信息,使學校和用人單位及時了解學生信息,為實現(xiàn)學生信息

29、查詢現(xiàn)代化和信息化具有重要的意義。</p><p>  1.1 學生信息管理系統(tǒng)的國內(nèi)外研究現(xiàn)狀</p><p>  1.1.1國內(nèi)研究現(xiàn)狀</p><p>  隨著我國高等教育的發(fā)展,在信息化和數(shù)字化的背景下,國內(nèi)高校迫切需要提高教育工作的質(zhì)量與效率,數(shù)字化校園將成為一種必然的趨勢,并逐步走向成熟。</p><p>  教學信息管理工作是高

30、校信息管理工作的重要組成部分,許多高校都針對自己學校的規(guī)模和特點開發(fā)出了教學信息管理系統(tǒng),將管理人員從繁雜的日常事務性工作中解脫出來,提高了工作效率,實現(xiàn)了信息共享。國內(nèi)一些高校及軟件公司也紛紛看好這一有著廣闊市場前景的軟件開發(fā),但是從現(xiàn)有高校的教學信息管理系統(tǒng)來看還存在很多的問題,主要是:</p><p>  (1)功能單一。一個系統(tǒng)只為了解決一個具體的問題而開發(fā)的。各個相關系統(tǒng)間沒有緊密、有效的聯(lián)系,影響了信

31、息的重用和共享。</p><p>  (2)系統(tǒng)孤立。許多系統(tǒng)還處于單機應用狀態(tài),即僅限于負責此項業(yè)務的管理人員使用,沒有很好實現(xiàn)縱向及橫向的管理工作的緊密聯(lián)系,而且交互性差,造成信息重復采集、重復統(tǒng)計。同時,系統(tǒng)之間的孤立也會在查詢信息時查找不完全,不能提供充分的信息。</p><p>  (3)在軟件的使用上,大多數(shù)只是停留在日常辦公的角度,缺乏綜合分析能力。另外,教學信息管理系統(tǒng)還存

32、在可擴充性和靈活性差,缺乏強有力后續(xù)技術支持,無法不斷完善系統(tǒng),適應學校的發(fā)展需要,致使這些軟件運行了一段時間后中途廢棄或擱置,造成很大的浪費。</p><p>  1.1.2國外研究現(xiàn)狀</p><p>  隨著國外經(jīng)濟的持續(xù)發(fā)展,高校辦學規(guī)模的擴大,學生的數(shù)量也成倍增長,學生信息管理模式也發(fā)生了變革,并隨著計算機科學技術的不斷發(fā)展,使得信息管理系統(tǒng)在各個領域發(fā)揮著越來越重要的作用。&l

33、t;/p><p>  國外的大中型軟件公司有很多也曾做過很多高校的學生的信息管理系統(tǒng),開發(fā)技術也比國內(nèi)的成熟,在開發(fā)過程中遵循了可擴展性和包容性,使得系統(tǒng)能接納已有的數(shù)據(jù)結(jié)構,在今后擴展時有效地保護已有的資源,在需要變化時,能方便地調(diào)整結(jié)構,易于擴充功能,升級方便,即滿足當前的業(yè)務需求,又為今后的擴展留有很大的空間。而在信息標準化和規(guī)范化的基礎上,對信息進行合理的布局,使得相關人員可以按照各自的權限進行信息查詢和維護

34、。</p><p>  1.2 學生信息管理系統(tǒng)的發(fā)展動態(tài)</p><p>  1.2.1應用方面的發(fā)展動態(tài)</p><p>  從應用的發(fā)展來看,信息化的發(fā)展給各個社會組織帶來了查詢信息的變革。高校作為社會組織的一部分,其查詢模式必然深受信息化的影響,高校教學信息管理系統(tǒng)必將隨著計算機技術的發(fā)展迅速普及和提高。主要體現(xiàn)在:</p><p>

35、  (1)單機查詢向網(wǎng)絡化查詢發(fā)展</p><p>  學生信息查詢工作涉及到學校內(nèi)部的諸多部門,在學校內(nèi)部實現(xiàn)數(shù)據(jù)交互與共享,形成全面綜合的管理已經(jīng)是高校信息化管理的研究熱點和重點。</p><p>  (2)輔助管理向輔助決策發(fā)展</p><p>  隨著查詢要求和查詢信息系統(tǒng)水平的不斷提高,信息管理系統(tǒng)從輔助管理向輔助決策發(fā)展是必然趨勢。如何利用信息管理系統(tǒng)查

36、看各個學生的信息,采用數(shù)據(jù)挖掘技術,找出有價值的信息,并根據(jù)此信息進行分析、比較、選擇等,獲得最有用的信息。</p><p>  1.2.2技術方面的發(fā)展動態(tài)</p><p>  從技術的發(fā)展來看,高校教學信息管理系統(tǒng)的開發(fā)技術已經(jīng)日益成熟。計算機和網(wǎng)絡技術的不斷發(fā)展為學校的信息化建設提供了得天獨厚的技術條件;各個局域網(wǎng)、城域網(wǎng)的建成和完善為實現(xiàn)信息管理的網(wǎng)絡化提供了硬件設施保障;先進的軟

37、件系統(tǒng)開發(fā)工具、好的圖形用戶界面操作系統(tǒng)的推廣,高效漢字處理技術的不斷改進,都為高校教學信息管理系統(tǒng)的開發(fā)、應用提供了強有力的支持。</p><p><b>  第二章 開發(fā)環(huán)境</b></p><p>  2.1 VC++概述</p><p>  VC++是微軟公司開發(fā)的一個IDE(集成開發(fā)環(huán)境),換句話說,就是使用C++的一個開發(fā)平臺。&l

38、t;/p><p>  VC++是Windows平臺上的C++編程環(huán)境,學習VC要了解很Windows平臺的特性并且還要掌握MFC、ATL、COM等的知識,難度比較大。Windows下編程需要了解Windows的消息機制以及回調(diào)(callback)函數(shù)的原理; MFC是Win32API的包裝類,需要理解文檔視圖類的結(jié)構,窗口類的結(jié)構,消息流向等等;COM是代碼共享的二進制標準,需要掌握其基本原理等等。<

39、/p><p>  VC++應用程序的開發(fā)主要有兩種模式,一種是WIN API方式,另一種則是MFC方式,傳統(tǒng)的WIN API開發(fā)方式比較繁瑣,而MFC則是對WIN API再次封裝,所以MFC相對于WIN API開發(fā)更具備效率優(yōu)勢。</p><p>  Visual C++它大概可以分成三個主要的部分:</p><p>  1、Developer Studio。這是一個集

40、成開發(fā)環(huán)境,我們?nèi)粘9ぷ鞯?9%都是在它上面完成的,再加上它的標題赫然寫著“Microsoft Visual C++”,所以很多人理所當然的認為,那就是Visual C++了。其實不然,雖然Developer Studio提供了一個很好的編輯器和很多Wizard,但實際上它沒有任何編譯和鏈接程序的功能,真正完成這些工作的幕后英雄后面會介紹。我們也知道,Developer Studio并不是專門用于VC的,它也同樣用于VB,VJ,VID等

41、Visual Studio家族的其他同胞兄弟。所以不要把Developer Studio當成Visual C++, 它充其量只是Visual C++的一個殼子而已。這一點請切記!</p><p>  2、MFC。從理論上來講,MFC也不是專用于Visual C++,Borland C++,C++Builder和Symantec C++同樣可以處理MFC。同時,用Visual C++編寫代碼也并不意味著一定要用MF

42、C,只要愿意,用Visual C++來編寫SDK程序,或者使用STL,ATL,一樣沒有限制。不過,Visual C++本來就是為MFC打造的,Visual C++中的許多特征和語言擴展也是為MFC而設計的,所以用Visual C++而不用MFC就等于拋棄了Visual C++中很大的一部分功能。但是,Visual C++也不等于MFC。</p><p>  3、Platform SDK。這才是Visual C++

43、和整個Visual Studio的精華和靈魂,雖然我們很少能直接接觸到它。大致說來,Platform SDK是以Microsoft C/C++編譯器為核心(不是Visual C++,看清楚了),配合MASM,輔以其他一些工具和文檔資料。上面說到Developer Studio沒有編譯程序的功能,那么這項工作是由誰來完成的呢?是CL,是NMAKE,和其他許許多多命令行程序,這些我們看不到的程序才是構成Visual Studio的基石。&l

44、t;/p><p>  2.2 Access的簡介</p><p>  Microsoft Access 2010是一種關系型數(shù)據(jù)庫管理系統(tǒng) (RDBMS)。</p><p>  Access數(shù)據(jù)庫是Microsoft Office 2010套件的Professional版和Developer版的一個組件,不需要單獨安裝。 </p><p>  與

45、其他關系型數(shù)據(jù)庫一樣,MS Access充當“后端”,它的任務是存儲數(shù)據(jù)。除此之外,通過使用MS Access,用戶還可以創(chuàng)建“前端”或一種對用戶友好的、頗受歡迎的數(shù)據(jù)訪問方式。</p><p>  與SQL Server數(shù)據(jù)庫進行比較,Access數(shù)據(jù)庫具有以下的特點:</p><p>  1、功能比較單一,不提供數(shù)據(jù)發(fā)布、分布式事務處理等操作,因此比Access數(shù)據(jù)庫需要的內(nèi)存和磁盤資

46、源要少;</p><p>  2、Access數(shù)據(jù)庫一般用于桌面應用程序,不適用于大型的企業(yè)級應用; </p><p>  Access數(shù)據(jù)庫由七個對象組成:表、查詢、窗體、報表、頁、宏以及模塊。</p><p>  —數(shù)據(jù)庫中的數(shù)據(jù)主要存儲在“表”中;</p><p>  —“查詢”幫助用戶檢索基于某些條件的特定數(shù)據(jù);</p>

47、<p>  —“窗體”幫助用戶創(chuàng)建用于輸入、修改和操縱數(shù)據(jù)的用戶界面;</p><p>  —“報表”以某種格式顯示一個或多個表中的數(shù)據(jù),數(shù)據(jù)可以直接從表中提取,也可以是字段經(jīng)過某些計算的結(jié)果,報表還提供良好的打印效果;</p><p>  —“宏”和“模塊”有用來計算、在應用程序中導航以及打印報表等操作;</p><p>  —“頁”有提供給瀏覽器忠訵

48、eb頁的形式查看數(shù)據(jù)庫中的數(shù)據(jù)。</p><p>  與SQL Server數(shù)據(jù)庫一樣,MS Access中的數(shù)據(jù)庫可以有一個或多個相關的表。</p><p>  2.3 Visual C++進行數(shù)據(jù)庫開發(fā)的優(yōu)勢</p><p>  Visual C++提供了多種多樣的數(shù)據(jù)庫訪問技術——ODBC API、MFC ODBC、DAO、OLE DB、ADO等。這些技術各有

49、自己的特點,它們提供了簡單、靈活、訪問速度快、可擴展性好的開發(fā)技術。</p><p>  2.3.1 簡單性 </p><p>  Visual C++中提供了MFC類庫、ATL模板類以及AppWizard、ClassWizard等一系列的Wizard工具用于幫助用戶快速的建立自己的應用程序,大大簡化了應用程序的設計。使用這些技術,可以使開發(fā)者編寫很少的代碼或不需編寫代碼就可以開發(fā)一個數(shù)據(jù)

50、庫應用程序。</p><p>  2.3.2 靈活性 </p><p>  Visual C++提供的開發(fā)環(huán)境可以使開發(fā)者根據(jù)自己的需要設計應用程序的界面和功能,而且,Visual C++提供了豐富的類庫和方法,可以使開發(fā)者根據(jù)自己的應用特點進行選擇。</p><p>  2.3.3 訪問速度快 </p><p>  為了解決ODBC開發(fā)的數(shù)

51、據(jù)庫應用程序訪問數(shù)據(jù)庫的速度慢的問題,Visual C++提供了新的訪問技術——OLE DB和ADO,OLE DB和ADO都是基于COM接口的技術,使用這種技術可以直接對數(shù)據(jù)庫的驅(qū)動程序進行訪問,這大大提供了訪問速度。</p><p>  2.3.4 可擴展性 </p><p>  Visual C++提供了OLE技術和ActiveX技術,這種技術可以增強應用程序的能力。使用OLE技術和A

52、ctiveX技術可以使開發(fā)者利用Visual C++中提供的各種組件、控件以及第三方開發(fā)者提供的組件來創(chuàng)建自己的程序,從而實現(xiàn)應用程序的組件化。使用這種技術可以使應用程序具有良好的可擴展性。</p><p>  2.3.5 訪問不同種類數(shù)據(jù)源 </p><p>  傳統(tǒng)的ODBC技術只能訪問關系型數(shù)據(jù)庫,在Visual C++中,提供了OLE DB訪問技術,不僅可以訪問關系型數(shù)據(jù)庫,還可以

53、訪問非關系型數(shù)據(jù)庫。</p><p>  2.4 Visual C++提供的數(shù)據(jù)庫訪問技術</p><p>  Visual C++提供了多種訪問數(shù)據(jù)庫的技術,如下所示:</p><p>  ODBC(Open DataBase Connectivity) </p><p>  MFC ODBC(Microsoft Foundation Cl

54、asses ODBC) </p><p>  DAO (Data Access Object) </p><p>  OLE DB(Object Link and Embedding DataBase) </p><p>  ADO(ActiveX Data Object) </p><p>  2.4.1 ODBC </p>

55、<p>  ODBC是客戶應用程序訪問關系數(shù)據(jù)庫時提供的一個統(tǒng)一的接口,對于不同的數(shù)據(jù)庫,ODBC提供了一套統(tǒng)一的API,使應用程序可以應用所提供的API來訪問任何提供了ODBC驅(qū)動程序的數(shù)據(jù)庫。而且,ODBC已經(jīng)成為一種標準,所以,目前所有的關系數(shù)據(jù)庫都提供了ODBC驅(qū)動程序,這使ODBC的應用非常廣泛,基本上可用于所有的關系數(shù)據(jù)庫。</p><p>  但由于ODBC只能用于關系數(shù)據(jù)庫,使得利用OD

56、BC很難訪問對象數(shù)據(jù)庫及其它非關系數(shù)據(jù)庫。</p><p>  由于ODBC是一種底層的訪問技術,因些,ODBC API可以使客戶應用程序能夠從底層設置和控制數(shù)據(jù)庫,完成一些高層數(shù)據(jù)庫技術無法完成的功能。</p><p>  2.4.2 MFC ODBC </p><p>  由于直接使用ODBC API編寫應用程序要編制大量代碼,在Visual C++中提供了M

57、FC ODBC類,封裝了ODBC API,這使得利用MFC來創(chuàng)建ODBC的應用程序非常簡便。</p><p>  2.4.3 DAO </p><p>  DAO提供了一種通過程序代碼創(chuàng)建和操縱數(shù)據(jù)庫的機制。多個DAO構成一個體系結(jié)構,在這個結(jié)構中,各個DAO對象協(xié)同工作。MFC DAO是微軟提供的用于訪問Microsoft Jet數(shù)據(jù)庫文件(*.mdb)的強有力的數(shù)據(jù)庫開發(fā)工具,它通過D

58、AO的封裝,向程序員提供了DAO豐富的操作數(shù)據(jù)庫手段。</p><p>  2.4.4 OLE DB </p><p>  OLE DB是Visual C++開發(fā)數(shù)據(jù)庫應用中提供的新技術,它基于COM接口。因此,OLE DB對所有的文件系統(tǒng)包括關系數(shù)據(jù)庫和非關系數(shù)據(jù)庫都提供了統(tǒng)一的接口。這些特性使得OLE DB技術比傳統(tǒng)的數(shù)據(jù)庫訪問技術更加優(yōu)越。與ODBC技術相似,OLE DB屬于數(shù)據(jù)庫訪

59、問技術中的底層接口。直接使用OLE DB來設計數(shù)據(jù)庫應用程序需要大量的代碼。在VC中提供了ATL模板,用于設計OLE DB數(shù)據(jù)應用程序和數(shù)據(jù)提供程序。</p><p>  2.4.5 ADO </p><p>  ADO技術是基于OLE DB的訪問接口,它繼承了OLE DB技術的優(yōu)點,并且,ADO對OLE DB的接口作了封裝,定義了ADO對象,使程序開發(fā)得到簡化,ADO技術屬于數(shù)據(jù)庫訪問的

60、高層接口?!?lt;/p><p><b>  第三章 系統(tǒng)分析</b></p><p><b>  3.1需求分析</b></p><p>  學生信息管理系統(tǒng)是針對學校人事處的大量業(yè)務處理工作而開發(fā)的管理軟件,主要用于學校學生信息管理,總體任務是實現(xiàn)學生信息關系的系統(tǒng)化、科學化、規(guī)范化和自動化,其主要任務是用計算機對學生各種

61、信息進行日常管理,如查詢、修改、增加、刪除,另外還考慮到學生選課,針對這些要求設計了學生信息管理系統(tǒng)。推行學校信息管理系統(tǒng)的應用是進一步推進學生學籍管理規(guī)范化、電子化、控制輟學和提高義務教育水平的重要舉措。</p><p>  學生信息是高等學校非常重要的一項數(shù)據(jù)資源,是一個教育單位不可缺少一部分。特別是近幾年來,國家政策的調(diào)整,我國高等院校大規(guī)模的擴招,給高等院校的教學管理、學生管理、后勤管理等方面都帶來不少的

62、沖擊。其包含的數(shù)據(jù)量大,涉及的人員面廣,而且需要及時更新,故較為復雜,難以單純地依*人工管理,而且傳統(tǒng)的人工管理方式既不易于規(guī)范化,管理效率也不高,目前我國各類高等院校中還有相當一部分學生檔案管理還停留在紙介質(zhì)的基礎上,尤其是中、小學對學生檔案的管理更是落后,這樣的管理機制已經(jīng)不能適應時代發(fā)展的要求,其管理方法將浪費許多人力和物力。隨著科學技術的不斷提高,計算機科學與技術日漸成熟,計算機應用的普及已進入人類社會生活的各個領域,并發(fā)揮著越

63、來越重要的作用。這種傳統(tǒng)的手工管理模式必然被以計算機為物質(zhì)基礎的信息管理方法所取代。作為計算機應用的一部分,使用計算機對學生檔案進行管理,有著手工管理所無法比擬的優(yōu)點,如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高學生檔案管理的效率,也是學校向科學化、正規(guī)化管理發(fā)展的必要條件,更是各個高等院校與世界接軌的重要條件。</p><p><b>  3.2功能分

64、析</b></p><p>  權限功能:系統(tǒng)可分為普通用戶,管理員。普通用戶只是查詢不能修改,管理員用戶還能修改、刪除、添加所有信息。系統(tǒng)根據(jù)登錄用戶的權限進行相應的操作。</p><p>  錄入功能:為管理員用戶提供相應的錄入功能。</p><p>  查詢功能:為所有用戶提供查詢的功能,可查詢允許范圍內(nèi)的所有信息。</p><

65、p>  維護功能:為管理員用戶提供查詢及相應的修改,刪除、添加功能。</p><p>  退出功能:結(jié)束并關閉系統(tǒng)。</p><p><b>  第四章 系統(tǒng)設計</b></p><p><b>  4.1系統(tǒng)模塊設計</b></p><p>  4.1.1學生基本信息管理模塊</p&g

66、t;<p> ?。?)添加學生基本信息,學生信息包括學號、姓名、性別、生日、專業(yè)、班級、家庭住址、備注等。</p><p><b> ?。?)修改</b></p><p><b> ?。?)刪除</b></p><p><b>  (4)查詢</b></p><p&g

67、t; ?。?)導入:要求從EXCEL表中導入一個班的數(shù)據(jù)。</p><p>  4.1.2課程信息管理模塊</p><p>  (1)課程信息的添加</p><p> ?。?)課程信息的修改</p><p> ?。?)課程信息的刪除</p><p><b> ?。?)查詢</b></p>

68、;<p>  4.1.3班級信息管理模塊</p><p><b>  不做要求</b></p><p>  4.1.4成績信息管理模塊</p><p>  (1)添加、修改、刪除一條學生成績記錄:根據(jù)相應的學年、學期、課程、班級、學生學號、學生姓名、平時成績、考試成績、備注9項內(nèi)容,選擇“添加”按鈕加入一個新數(shù)據(jù)。選中一條記錄后,

69、也可以“修改”某個學生的成績。選中一條記錄后,還可以“刪除”一個記錄。</p><p>  (2)查詢:可以根據(jù)學年、學期、課程、班級(這些字段值是固定設置的,為簡單起間不從數(shù)據(jù)庫里提取)進行查詢并顯示在列表視圖里。</p><p> ?。?)導入:將預先準備好的某個學年、學期、課程、班級的學生成績數(shù)據(jù)一定要和數(shù)據(jù)庫中表Scores表格式完全一致,給定的Scores有10個字段)EXECL

70、文件導入進來,并在列表視圖里顯示出來。</p><p> ?。?)導出:根據(jù)某個學年、學期、課程、班級選擇之后的數(shù)據(jù)顯示在列表視圖里,可以選擇導出,將顯示的數(shù)據(jù)導出到EXCEL文件中。</p><p> ?。?)預覽和打印:可將列表視圖里顯示的某個班的數(shù)據(jù)打印出來</p><p>  4.2系統(tǒng)總功能模塊圖</p><p><b>

71、  系統(tǒng)功能圖如下:</b></p><p><b>  圖1 系統(tǒng)功能圖</b></p><p>  系統(tǒng)功能流程圖如下:</p><p>  圖2 系統(tǒng)功能流程圖</p><p><b>  4.3系統(tǒng)結(jié)構設計</b></p><p>  MFC提供3種應用程

72、序類型:單文檔、多重文檔和基本對話框。本系統(tǒng)采用基于對話框的應用程序框架,由一個主對話框和幾個模態(tài)子對話框組成。主對話框為系統(tǒng)主窗體對話框;模態(tài)子對話框分別是系統(tǒng)的幾個功能模塊的窗口界面,其中有系統(tǒng)登錄模塊對話框、學生基本信息管理模塊對話框、課程信息管理模塊對話框、系統(tǒng)用戶管理模塊對話框和成績信息管理模塊對話框。另外,還有查詢條件對話框和打印預覽對話框等。</p><p>  4.4系統(tǒng)數(shù)據(jù)庫設計</p&g

73、t;<p>  根據(jù)系統(tǒng)分析可以列出以下數(shù)據(jù)項和數(shù)據(jù)結(jié)構。</p><p> ?。?)學生基本信息,包括學號、姓名、性別、生日、專業(yè)、班級、家庭住址、備注(獎勵和處分等)。</p><p> ?。?)學生成績表,包括學號、課程代號、學年、學期、平時成績、期末成績、總評成績、備注(缺考/補考/緩考)。</p><p> ?。?)課程信息表,包括課程代號、

74、課程名、學時、學分、課程性質(zhì)(必修/限選/校選)。</p><p>  (4)系統(tǒng)用戶信息,包括用戶名、密碼、用戶類型(教師/學生/系統(tǒng)管理員)。</p><p>  根據(jù)系統(tǒng)分析,本系統(tǒng)數(shù)據(jù)庫名稱為StudentDB,包含4個表:學生基本信息表、學生成績表、課程信息表和系統(tǒng)用戶表。</p><p>  4.4.1 學生基本信息表設計StudentInfo</

75、p><p>  表1 StudentInfo</p><p>  4.4.2 學生成績信息表設計Scores</p><p><b>  表2 Scores</b></p><p>  4.4.3 課程信息表設計Coures</p><p><b>  表3 Coures</b>

76、</p><p>  4.4.4 系統(tǒng)用戶表設計Users</p><p><b>  表4 Users</b></p><p><b>  第五章 系統(tǒng)實現(xiàn)</b></p><p>  本系統(tǒng)采用基于對話框的應用程序框架,由一個主對話框和幾個模態(tài)子對話框組成,項目名為StudentMIS。本系統(tǒng)采

77、用ADO技術訪問數(shù)據(jù)庫。</p><p>  5.1 添加ADO連接類CADOConn</p><p>  為了適用ADO,首先要引入ADO的庫文件,在頭文件stdafx.h中加入以下代碼,導入msado15.dll動態(tài)鏈接庫。</p><p>  #import "c:\program files\common files\system\ado\msad

78、o15.dll" no_namespacerename("EOF", "adoEOF") rename("BOF", "adoBOF")</p><p>  ADO連接類CADOConn的主要代碼如下:</p><p>  #include "stdafx.h"</p&g

79、t;<p>  #include "StudentMIS.h"</p><p>  #include "ADOConn.h"</p><p>  #ifdef _DEBUG</p><p>  #undef THIS_FILE</p><p>  static char THIS_FILE

80、[]=__FILE__;</p><p>  #define new DEBUG_NEW</p><p><b>  #endif</b></p><p>  //////////////////////////////////////////////////////////////////////</p><p>  

81、// Construction/Destruction</p><p>  //////////////////////////////////////////////////////////////////////</p><p>  CADOConn::CADOConn(){}</p><p>  CADOConn::~CADOConn(){}</p>

82、;<p>  void CADOConn::OnInitADOConn()</p><p><b>  {</b></p><p>  ::CoInitialize(NULL); // 初始化COM環(huán)境</p><p><b>  try</b></p><p><b>

83、  {</b></p><p>  m_pConnection.CreateInstance("ADODB.Connection"); // 創(chuàng)建Connection對象</p><p>  // 設置連接字符串</p><p>  _bstr_t strConnect="Provider=Microsoft.Jet.OL

84、EDB.4.0;Data Source=StudentDB.mdb";</p><p>  m_pConnection->Open(strConnect,"","",adModeUnknown); // 打開數(shù)據(jù)庫</p><p><b>  }</b></p><p>  catch

85、(_com_error e)</p><p><b>  {</b></p><p>  AfxMessageBox("數(shù)據(jù)庫連接失敗,確認數(shù)據(jù)庫路徑是否正確!"); </p><p><b>  }</b></p><p><b>  }</b><

86、/p><p>  BOOL CADOConn::ExecuteSQL(_bstr_t bstrSQL)</p><p><b>  {</b></p><p><b>  try</b></p><p><b>  {</b></p><p>  if (

87、m_pConnection == NULL )</p><p>  OnInitADOConn();</p><p>  m_pConnection->Execute(bstrSQL,NULL,adCmdText); // 執(zhí)行SQL語句</p><p>  return true;</p><p><b>  }</

88、b></p><p>  catch(_com_error e)</p><p><b>  {</b></p><p>  AfxMessageBox("不能打開記錄集!"); </p><p>  return false;</p><p><b>  }&

89、lt;/b></p><p><b>  }</b></p><p>  void CADOConn::ExitConnect()</p><p><b>  {</b></p><p>  //關閉記錄集和連接</p><p>  if ( m_pRecordset

90、!= NULL )</p><p>  m_pRecordset->Close();</p><p>  m_pConnection->Close();</p><p><b>  //釋放環(huán)境</b></p><p>  ::CoUninitialize();</p><p><

91、;b>  }</b></p><p>  _RecordsetPtr& CADOConn::GetRecordset(_bstr_t bstrSQL)</p><p><b>  {</b></p><p><b>  try</b></p><p><b>  

92、{</b></p><p>  if ( m_pConnection == NULL )</p><p>  OnInitADOConn();</p><p>  m_pRecordset.CreateInstance(__uuidof(Recordset)); // 創(chuàng)建Recordset對象 </p><p><b&g

93、t;  // 打開記錄集</b></p><p>  m_pRecordset->Open(bstrSQL, m_pConnection.GetInterfacePtr(), adOpenDynamic,adLockOptimistic,adCmdText);</p><p><b>  }</b></p><p>  cat

94、ch(_com_error e)</p><p><b>  {</b></p><p>  AfxMessageBox("不能打開記錄集!"); </p><p><b>  }</b></p><p>  return m_pRecordset;</p>&l

95、t;p><b>  }</b></p><p>  5.2系統(tǒng)登錄模塊設計</p><p>  系統(tǒng)登陸主要用于對用戶進行安全性檢查,以防止非法用戶進入系統(tǒng)。另外,使用的用戶有多種類型,不同的用戶具有不同的操作權限。</p><p>  系統(tǒng)運行時首先出現(xiàn)登錄窗口,要求用戶輸入用戶名和密碼,單擊“登陸”按鈕時對用戶的身份進行驗證。<

96、/p><p><b>  5.2.1界面設計</b></p><p>  系統(tǒng)登錄模塊界面主要實現(xiàn)系統(tǒng)用戶進入系統(tǒng)功能。用戶輸入用戶名和密碼,單擊“登陸”按鈕,就會實現(xiàn)進入系統(tǒng)主窗體的功能。</p><p>  系統(tǒng)登錄窗口如圖4所示。</p><p><b>  圖4 系統(tǒng)登錄窗口</b></p

97、><p><b>  5.2.2設計思路</b></p><p>  利用用戶登錄成功能實現(xiàn)對用戶操作權限的限制。用戶必須輸入正確用戶名和與該用戶名相對應的正確密碼才能進入下一界面,如果用戶的密碼輸入錯誤,應用程序會提示錯誤信息。</p><p><b>  5.2.3核心代碼</b></p><p>

98、  #include "stdafx.h"</p><p>  #include "StudentMIS.h"</p><p>  #include "LoginDlg.h"</p><p>  #include "ADOConn.h"</p><p>  #if

99、def _DEBUG</p><p>  #define new DEBUG_NEW</p><p>  #undef THIS_FILE</p><p>  static char THIS_FILE[] = __FILE__;</p><p><b>  #endif</b></p><p>

100、  /////////////////////////////////////////////////////////////////////////////</p><p>  // CLoginDlg dialog</p><p>  extern int UserType; // 用戶類型 0--學生,1--教師,2--系統(tǒng)管理員</p><p>

101、;  extern CString UserName; // 用戶名</p><p>  CLoginDlg::CLoginDlg(CWnd* pParent /*=NULL*/)</p><p>  : CDialog(CLoginDlg::IDD, pParent)</p><p><b>  {</b></p><

102、;p>  //{{AFX_DATA_INIT(CLoginDlg)</p><p>  m_strUserName = _T("");</p><p>  m_strUserPsw = _T("");</p><p>  //}}AFX_DATA_INIT</p><p><b>  }

103、</b></p><p>  void CLoginDlg::DoDataExchange(CDataExchange* pDX)</p><p><b>  {</b></p><p>  CDialog::DoDataExchange(pDX);</p><p>  //{{AFX_DATA_MAP(CL

104、oginDlg)</p><p>  DDX_Text(pDX, IDC_EDIT_USERNAME, m_strUserName);</p><p>  DDX_Text(pDX, IDC_EDIT_USERPSW, m_strUserPsw);</p><p>  //}}AFX_DATA_MAP</p><p><b>  }

105、</b></p><p>  BEGIN_MESSAGE_MAP(CLoginDlg, CDialog)</p><p>  //{{AFX_MSG_MAP(CLoginDlg)</p><p>  ON_WM_PAINT()</p><p>  //}}AFX_MSG_MAP</p><p>  END_

106、MESSAGE_MAP()</p><p>  /////////////////////////////////////////////////////////////////////////////</p><p>  // CLoginDlg message handlers</p><p>  void CLoginDlg::OnOK() </p>

107、;<p><b>  {</b></p><p>  // TODO: Add extra validation here</p><p>  UpdateData(true);</p><p>  if ( m_strUserName == "" )</p><p><b>

108、  {</b></p><p>  MessageBox("請輸入用戶名");</p><p><b>  return;</b></p><p><b>  }</b></p><p>  if ( m_strUserPsw == "" )<

109、;/p><p><b>  {</b></p><p>  MessageBox("請輸入密碼");</p><p><b>  return;</b></p><p><b>  }</b></p><p>  CADOConn m_A

110、DOConn;</p><p>  m_ADOConn.OnInitADOConn();</p><p>  _bstr_t strSQL = "select * from Users where UserName='"+m_strUserName+"'and UserPsw='"+m_strUserPsw+"

111、9;";</p><p>  _RecordsetPtr LoginSet;</p><p>  LoginSet=m_ADOConn.GetRecordset(strSQL);</p><p>  if ( LoginSet->adoEOF )</p><p><b>  {</b></p>

112、<p>  MessageBox("用戶名或密碼錯誤,請注意大小寫!","登錄失敗"); </p><p><b>  return;</b></p><p><b>  }</b></p><p>  _variant_t theValue;</p>&

113、lt;p>  theValue=LoginSet->GetCollect("UserName"); //獲取用戶名</p><p>  if ( theValue.vt != VT_NULL )</p><p>  UserName = (char*)_bstr_t(theValue);</p><p>  theValue=Logi

114、nSet->GetCollect("UserType"); //獲取用戶類型</p><p>  if ( theValue.vt != VT_NULL )</p><p>  UserType = theValue.iVal;</p><p>  m_ADOConn.ExitConnect();</p><p>

115、  EndDialog(IDOK); // 登錄成功,結(jié)束對話框,返回IDOK</p><p><b>  }</b></p><p>  void CLoginDlg::OnPaint() </p><p><b>  {</b></p><p>  CPaintDC dc(this); //

116、device context for painting</p><p>  // TODO: Add your message handler code here</p><p><b>  // 創(chuàng)建新字體</b></p><p>  CFont NewFont; </p><p>  NewFont.CreateF

117、ont(30,0,0,0,700,TRUE,FALSE,0,ANSI_CHARSET,</p><p>  OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,</p><p>  DEFAULT_PITCH | FF_SWISS,"楷體");</p><p>  dc.SetBkMode

118、(TRANSPARENT); // 設置背景模式</p><p>  CFont *pOldFont=dc.SelectObject(&NewFont); </p><p>  dc.SetTextColor(RGB(0,0,255)); // 設置文本顏色為藍色</p><p>  dc.TextOut(60,20,"學生信息管理系統(tǒng)&q

119、uot;);</p><p>  dc.SelectObject(pOldFont);</p><p>  // Do not call CDialog::OnPaint() for painting messages</p><p><b>  }</b></p><p><b>  5.3 主窗體設計<

120、;/b></p><p>  主窗體主要用于對系統(tǒng)各個模塊進行調(diào)用,使菜單調(diào)用每個模塊。</p><p><b>  5.3.1界面設計</b></p><p>  學生管理信息系統(tǒng)主界面主要實現(xiàn)學生基本信息管理、課程信息管理、學生成績管理和系統(tǒng)用戶等功能。選擇該界面中不同的功能按鈕,就會進入實現(xiàn)不同功能的窗體。下圖是學生管理信息系統(tǒng)主界

121、面窗體。</p><p><b>  圖3 主窗體圖</b></p><p><b>  5.3. 設計思路</b></p><p>  (1)添加一個菜單資源IDR_MENU_MAIN,菜單屬性設置如下表。在對話框?qū)傩源翱谥袨閷υ捒蜿P聯(lián)菜單。</p><p><b>  表5 菜單屬性設

溫馨提示

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

最新文檔

評論

0/150

提交評論