版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
畢業(yè)設(shè)計(論文) 1第一章相關(guān)技術(shù)介紹 31.1客戶機/服務(wù)器 31.2面向?qū)ο缶幊?OOP) 3 3第二章系統(tǒng)分析及工具選擇 52.1系統(tǒng)及需求分析 2.1.1系統(tǒng)需求 52.1.2可行性分析 52.2數(shù)據(jù)庫選擇 8第三章系統(tǒng)概述 93.1總體設(shè)計 9 93.3系統(tǒng)的功能簡介 3.3.1項目規(guī)劃 3.3.2功能描述 3.4數(shù)據(jù)庫設(shè)計 第四章系統(tǒng)功能模塊設(shè)計及實現(xiàn) 4.1登錄模塊 4.2系統(tǒng)主界面 4.3課程管理 4.5班級課表 4.6考試成績管理 4.7學(xué)生成績查詢 4.8班級成績分析 4.9用戶管理 2隨著絡(luò)時代的到來,作為網(wǎng)絡(luò)的必要組成部分,PC機越來越為人們所應(yīng)用,以完成各種各樣的工作,這不僅提高了工作效率和使用計算機的水平,也作為我們整個社會生產(chǎn)提高的一個具體表現(xiàn),在越來越多的人使用計算機來進行管理的同時,作為當(dāng)前熱門專業(yè)和科技前沿信息學(xué)院則更應(yīng)充分發(fā)揮自身的優(yōu)勢,將各項工作都提高到一個更高的水平,因此,使用計算機程序和軟件來不定管理學(xué)生成績是必然而又必要的工作。目前,此項工作一直實行人工管理,由專人進行手工填寫,修改,統(tǒng)計和查找學(xué)生成績;又由于每個學(xué)生都非常重視自己的學(xué)習(xí)成績,并且在成績管理的過程中,從學(xué)生,任課教師到教務(wù)部門,此項工作又具有涉及面廣,人數(shù)眾多的特點,從而也就決定了工作人員在為學(xué)生提供服務(wù),幫助和完成學(xué)校各項關(guān)于成績管理工作的同時,人為誤差和低效率的工作速度也在所難免,特別是為響應(yīng)國家政策和滿足社會需要,學(xué)院近幾年實行擴在招生的政策以來,學(xué)生人數(shù)大幅度增多,同時,為更好地指導(dǎo)和教育學(xué)生的生活和學(xué)習(xí),采用從選專業(yè)和變動班級的方法,這就使得人工的學(xué)生成績管理工作變得更加繁重和難以滿足學(xué)生的要求。使用計算機軟件對學(xué)生的成績管理不僅能夠克服手工管理的缺點和弊病,大大提高了工作效率,節(jié)省了大量的人力,物力,使我們的學(xué)院的管理水平走上一個新的臺階,也給了我們這批計算機專業(yè)畢業(yè)生一個很好的實踐鍛煉機會,從而使我們在工作崗位中具有更高的專業(yè)素質(zhì)和能力,同時,也進一步顯示和證實了信息學(xué)院的計算機應(yīng)用水平和普及程度。當(dāng)代社會是一個數(shù)字化的社會,數(shù)字化的實現(xiàn)需要依賴一定的手段,于此系統(tǒng)相關(guān)的領(lǐng)域有Windows2000(WindowsNt后繼操作系統(tǒng))局域網(wǎng),Client/Server工作模式,VisualBasic6.0,Access關(guān)系型數(shù)據(jù)庫等;此系統(tǒng)在二維數(shù)據(jù)庫的理論基礎(chǔ)上,應(yīng)用VisualBasic6.0數(shù)據(jù)庫管理系統(tǒng),使用規(guī)范的程序設(shè)計方法,運用實際數(shù)據(jù)驗證,逐步分析的調(diào)試手段,并達到了預(yù)期的結(jié)果。3第一章相關(guān)技術(shù)介紹客戶機/服務(wù)器模式簡稱C/S模式,局域網(wǎng)上三種工作模式(對等模式,文件服務(wù)器模式,客戶機/服務(wù)器模式)中的一種,并不是一種特定的硬件產(chǎn)品或服務(wù)器技術(shù),它是一種體系結(jié)構(gòu)。Server是一個向請求進程提供服務(wù)的邏輯進程,它可以是一種進程,也可以是有多個分布進程所組成。向一個Server請求服務(wù)的進程稱為該服務(wù)的Client,通信事物是由Server應(yīng)按請求進程的要求執(zhí)行服務(wù)并返回結(jié)果。Client和Server之間的通信可以涉及到許多機制如:局域網(wǎng),廣域網(wǎng)及操作系統(tǒng)中任務(wù)間的通一機器上。此外,一個Server可以同時又是另一個Server的Client,并向它請求服務(wù)。通常,若一臺機器的主要任務(wù)是支持一個特定的Server進程,那么這個具體的機器(硬件)就常稱為服務(wù)器 (Server)。Server既可指Server進程(軟件),也可以指一個具體的機器(硬件),對Client也是如Client/Server模式將處理功能分為兩部分,一部分(前端)由Client處理,另一部分(后端)樣有利于全面發(fā)揮各自的計算能力,可以分別對Clie要承擔(dān)應(yīng)用方面的專門任務(wù),而Server端則主要用于數(shù)據(jù)處理。這種C/S模式還能給用戶提供一個理想的分布環(huán)境,消除了不必要的網(wǎng)絡(luò)傳輸負(fù)擔(dān)。60年代末期,為應(yīng)付當(dāng)時日趨嚴(yán)重的“軟件危機”,人們提出了結(jié)構(gòu)化程序設(shè)計方法。結(jié)構(gòu)化程序設(shè)計一定程度上緩解了“軟件危機”,但并沒有徹底解決。70年代末80年代初的面序設(shè)計是一種基于結(jié)構(gòu)分析,以數(shù)據(jù)為中心的程序設(shè)計方法。傳統(tǒng)上,編程時是把程序和數(shù)據(jù)嚴(yán)格區(qū)分開的。而OOP方法卻把二者統(tǒng)一到一個可重用的單元中,稱為類(CLASS),就象是C語言中的結(jié)構(gòu)或PASCAL的記錄,但它除了包含數(shù)據(jù)(叫做屬性)之外,還包含過程(在OOP中叫做方法),你可以用定義特殊結(jié)構(gòu)或記錄類型變量的方法來實例化(即生成一個實例)一個類。實例化的類被稱作對象(object)。因為對象中的代碼可以像變量一樣進行復(fù)制和訪問,所以能自動實現(xiàn)事件驅(qū)動編程方式是在事件驅(qū)動的操作系統(tǒng)(Windows)下的軟件開發(fā)方式。在非可視化的程序開發(fā)環(huán)境中,當(dāng)你要寫一個過程時,必須找處所有執(zhí)行該過程的地方。用來保證當(dāng)調(diào)用它,也只4有在調(diào)用它時,它才執(zhí)行。事件驅(qū)動基本思想時當(dāng)你的程序運行時,它只做了一些初始化和準(zhǔn)備工作,然后就停下來。用戶將看著它,而它卻不做任何事,只有用戶執(zhí)行某個操作——單擊鼠標(biāo),選擇菜單等類似操時程序才會響應(yīng),這是因為程序員不再控制程序而由用戶來控制。程序員把代碼寫成叫做事件的小塊,它告訴程序“如果單擊這個按鈕,那么就執(zhí)行這個過程,如果用戶選擇哪個菜單項,就執(zhí)行哪個過程?!背绦騿T的責(zé)任是在某些控件禁止一些不能使用的選項,以保證程序正確52.1.1系統(tǒng)需求(1)由于操作人員的計算機知識普遍較差,要求有良好的人機界面;(3)原始數(shù)據(jù)修改簡單方便,支持多條件修改(4)方便的數(shù)據(jù)查詢,支持多條件查詢;(5)在相應(yīng)的權(quán)限下,刪除數(shù)據(jù)方便簡單,數(shù)據(jù)穩(wěn)定性好;(6)數(shù)據(jù)計算自動完成,盡量減少人工干預(yù);2.1.2可行性分析的微機都是PIII以上的機器,在存儲量、速度方面都能滿足數(shù)據(jù)庫運行的要求。在技本系統(tǒng)的設(shè)計是在WindowsXP中文版操作系統(tǒng)環(huán)境下,使用VisualBasic6.0中文版開發(fā)成功的。數(shù)據(jù)庫是MIS中的重要支持技術(shù),在MIS開發(fā)過程中,如何選擇數(shù)VisualBasic是一種可視化的、面對對象和條用事件驅(qū)動方式的結(jié)構(gòu)化高級程序可以與Windows的專業(yè)開發(fā)工具SDK相媲美,而且程序開發(fā)人員不必具有C/C++編程基礎(chǔ)。在VisualBasic環(huán)境下,利用事件驅(qū)動的編程機制、新穎易用的可視化設(shè)計工具,使用Windows內(nèi)部的應(yīng)用程序接口(API)函數(shù),以及動態(tài)鏈接庫(DLL)、動態(tài)數(shù)據(jù)交換發(fā)出Windows環(huán)境下功能強大、圖形界面豐富的應(yīng)用軟件系統(tǒng)。6總的來說,VisualBasic具有以下特點:用傳統(tǒng)程序設(shè)計語言設(shè)計程序時,都是通過編寫程序代碼來設(shè)計用戶界面,在設(shè)計過程中看不到界面的實際顯示效果,必須編譯后運行程序才能觀察。如果對界面的效果不滿意,還要回到程序中修改。有時候,這種編程-編譯-修改的操作可能要反復(fù)多次,大大影響了軟件開發(fā)效率。VisualBasic提供了可視化設(shè)計工具,把Windows界面設(shè)計的復(fù)雜性“封裝”起來,開發(fā)人員不必為界面設(shè)計而編寫大量程序代碼。只需要按設(shè)計要求的屏幕布局,用系統(tǒng)提供的工具,在屏幕上畫出各種“部件”,即圖形對象,并設(shè)置這些圖形對象的屬性。VisualBasic自動產(chǎn)生界面設(shè)計代碼,程序設(shè)計人員只需要編寫實現(xiàn)程序功能的那部分代碼,從而可以大大提高程序設(shè)計的效率。4.0版以后的VisualBasic支持面向?qū)ο蟮某绦蛟O(shè)計,但它與一般的面向?qū)ο蟮某绦蛟O(shè)計語言(C++)不完全相同。在一般的面向?qū)ο蟪绦蛟O(shè)計語言中,對象由程序代碼和數(shù)據(jù)組成,是抽象的概念;而VisualBasic則是應(yīng)用面向?qū)ο蟮某绦蛟O(shè)計方法(00P),把程序和數(shù)據(jù)封裝起來作為一個對象,并為每個對象賦予應(yīng)有的屬性,使對象成為實在的東西。在設(shè)計對象時,不必編寫建立和描述每個對象的程序代碼,而是用工具畫在界面上,VisualBasic自動生成對象的程序代碼并封裝起來。每個對象以圖形方式顯示在界面上,都是可視的。VisualBasic是在BASIC語言的基礎(chǔ)上發(fā)展起來的,具有高級程序設(shè)計語言的語句結(jié)構(gòu),接近于自然語言和人類的邏輯思維方式。VisualBasic語句簡單易懂,其編輯器支持彩色代碼,可自動進行語法錯誤檢查,同時具有功能強大且使用靈活的調(diào)試器和編譯器。(.EXE),脫離VisualBasic環(huán)境,直接在Windows環(huán)境下運行。VisualBasic通過事件來執(zhí)行對象的操作。一個對象可能會產(chǎn)生多個事件,每個事件都可以通過一段程序來響應(yīng)。例如,命令按鈕是一個對象,當(dāng)用戶單擊該按鈕時,將產(chǎn)生一個“單擊“(CLICK)事件,而在產(chǎn)生該事件時將執(zhí)行一段程序,用來實現(xiàn)指定的操作。在用VisualBasic設(shè)計大型應(yīng)用軟件時,不必建立具有明顯開始和結(jié)束的程序,而是編寫若干個微小的子程序,即過程。這些過程分別面向不同的對象,由用戶操作引發(fā)7訪問數(shù)據(jù)庫:VisualBasic具有強大的數(shù)據(jù)庫管理功能,利用數(shù)據(jù)控件和數(shù)據(jù)庫管理窗口,可以直接建立或處理MicrosoftAccess格式的數(shù)據(jù)庫,并提供了強大的數(shù)據(jù)存儲和檢索功能。等,這些數(shù)據(jù)庫格式都可以用VisualBasic編輯和處理。VisualBasic提供開放式數(shù)據(jù)連接,即ODBC功能,可通過直接訪問或建立連接的方式使用并操作后臺大型網(wǎng)絡(luò)數(shù)據(jù)庫,如SQLServer,Oracle等。在應(yīng)用程序中,可以使用結(jié)構(gòu)化查詢語言SQL數(shù)據(jù)標(biāo)準(zhǔn),直接訪問服務(wù)器上的數(shù)據(jù)庫,并提供了簡單的面向?qū)ο蟮膸觳僮髦噶詈投嘤脩魯?shù)據(jù)庫訪問的加鎖機制和網(wǎng)絡(luò)數(shù)據(jù)庫的SQL的編程技術(shù),為單機上運行的數(shù)據(jù)庫提供了SQL網(wǎng)絡(luò)接口,以便在分布式環(huán)境中快速而有效地態(tài)地鏈接到另一種應(yīng)用程序中,使兩種完全不同的應(yīng)用程序建立起一條動態(tài)數(shù)據(jù)鏈路。當(dāng)原始數(shù)據(jù)變化時,可以自動更新鏈接的數(shù)據(jù)。VisualBasic提供了動態(tài)數(shù)據(jù)交換的編程技術(shù),可以在應(yīng)用程序中與其他Windows應(yīng)用程序建立動態(tài)數(shù)據(jù)交換,在不同的應(yīng)對象的鏈接與嵌入(OLE)將每個應(yīng)用程序都看做是一個對象(object),將不同的對象動畫、文字等各種信息的集合式的文件。OLE技術(shù)是Microsoft公司對象技術(shù)的戰(zhàn)略,應(yīng)用程序一體化的技術(shù)。利用OLE技術(shù),可以方便地建立復(fù)合式文檔(compounddocument),這種文檔由來自多個不同應(yīng)用程序的對象組成,文檔中的每個對象都與原來的應(yīng)用程序相聯(lián)系,并可執(zhí)行與原來應(yīng)用程序完全相同的操作。VisualBasic是一種高級程序設(shè)計語言,不具備低級語言的功能,對訪問機器硬件入到VisualBasic應(yīng)用程序中,可以像調(diào)用內(nèi)部函數(shù)一樣調(diào)用其他語言外,通過動態(tài)鏈接庫,還可以調(diào)用Windows應(yīng)用程序接口(API)函數(shù),實現(xiàn)SDK所具8Access是微軟公司推出的基于Windows的桌面關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS),是Office系列應(yīng)用軟件之一。它提供了表、查詢、窗體、報表、頁、宏、模塊7種用來面設(shè)計、報表生成等操作規(guī)范化;為建立功得普通用戶不必編寫代碼,就可以完成大部分?jǐn)?shù)據(jù)管理的任務(wù)。Access是一種關(guān)系型數(shù)據(jù)庫管理系統(tǒng),其主要特點如下:(1)存儲方式單一Access管理的對象有表、查詢、窗體、報表、頁、宏和模塊,以上對象都存放在后綴為(.mdb)的數(shù)據(jù)庫文件種,便于用戶的操作和管理。Access是一個面向?qū)ο蟮拈_發(fā)工具,利用面向?qū)ο蟮姆绞綄?shù)據(jù)庫系統(tǒng)中的各種Access是一個可視化工具,是風(fēng)格與Windows完全一樣,用戶想要生成對象并應(yīng)Access基于Windows操作系統(tǒng)下的集成開發(fā)環(huán)境,該環(huán)境集成了各種向?qū)Ш蜕衫肁ccess強大的DDE(動態(tài)數(shù)據(jù)交換)和OLE(對象的聯(lián)接和嵌入)特性,可報表和窗體等。Access還可以將程序應(yīng)用于網(wǎng)絡(luò),并與網(wǎng)絡(luò)上的動態(tài)數(shù)據(jù)相聯(lián)接。利用數(shù)據(jù)庫訪問頁對象生成HTML文件,輕松構(gòu)建Internet/Intranet的應(yīng)用。因此我們選用了微軟公司的Access作為后臺數(shù)據(jù)庫平臺,來進行該系統(tǒng)的后臺數(shù)9第三章系統(tǒng)概述的實用性和先進性。實際上,由于院教務(wù)科學(xué)生成績管理工作與院學(xué)生管理中和成績相關(guān)的工作有著緊密的聯(lián)系,程序本著統(tǒng)籌兼顧,從總體考慮將以往兩個部門工作中重復(fù)的操作有機結(jié)合起來,并為以后程序功能擴展提供接口。學(xué)生成績管理系統(tǒng)初訂了三種方案:方案一:采用星形拓?fù)渚钟蚓W(wǎng)結(jié)構(gòu),由服務(wù)器、工作站、集線器、計算機、打印機組成,服務(wù)器上運行數(shù)據(jù)庫及系統(tǒng)管理程序SQLServer6.5,前端(客戶端)采用PowerBuilder7.0為程序設(shè)計語言。方案二:采用單機上運行學(xué)生成績管理系統(tǒng)軟件,采用VisualBasic6.0程序設(shè)計語言和本地數(shù)據(jù)庫。方案三:采用星形拓樸局域網(wǎng)結(jié)構(gòu),由服務(wù)器務(wù)、工作站、集線器、計算機、打印機組成,服務(wù)器上運行數(shù)據(jù)庫及系統(tǒng)管理和序access2000,前端(客戶機)用VisualBasic6為程序設(shè)計語言。以上三種方案中都有采用VisualBasic6.0程序設(shè)計語言,一方面,VisualBasic6.0是目前流行和好用的前端開發(fā)工具,適合于畢業(yè)生以此作為做畢業(yè)課題的工具,另一方面,由于社會需求量大,掌握了此工具的學(xué)生將會有更多的機會來實現(xiàn)自己的想法和目標(biāo)。對于方案一,鑒于學(xué)院目前的自身條件,采用在單機上開發(fā)和運行成績管理系統(tǒng)軟件,縮短了開發(fā)時間的同時也降低了開發(fā)的難度,因此,不利于學(xué)生更好地煅煉和實踐,最重要的是不利于程序向網(wǎng)絡(luò)應(yīng)用擴展,不久的將來,計劃成績管理系統(tǒng)具有供學(xué)生在計算機網(wǎng)絡(luò)上查詢的功能。不符合當(dāng)前的計算機應(yīng)用的形勢。方案二和方案三的不同之處在于使用了不同的數(shù)據(jù)庫管理系統(tǒng).為了最終實現(xiàn)目標(biāo)系統(tǒng),必須將一些功能復(fù)雜的模塊與分解成若干子模塊,并確定這些子模塊之間的關(guān)系。經(jīng)過分解之后使每個功能對大多數(shù)程序員而言是明顯易懂得,這樣也增加了系統(tǒng)的可維護性。3.3系統(tǒng)的功能簡介本系統(tǒng)主要可以實現(xiàn)以下的管理功能:班級管理、學(xué)生課程管理、學(xué)生成績管理、用戶管理等等。學(xué)生課程管理系統(tǒng)是一個典型的數(shù)據(jù)庫應(yīng)用程序,由班級管理、學(xué)生課程管理、學(xué)生(1)課程管理模塊(CTRL+C)該模塊的主要任務(wù)是維護系統(tǒng)的正常運行和安全性設(shè)置,包括課程庫(快捷鍵:捷鍵:CTRL+T)等等。這四個功能模塊各自獨立,完成學(xué)校的全部學(xué)生的課程安排及管該模塊的功能是實現(xiàn)對全校學(xué)生的成績管理工作,包括:成績庫管理(快捷鍵:這三個功能模塊各自獨立,完成學(xué)校的全部學(xué)生的成績管理。該模塊的主要功能是實現(xiàn)對系統(tǒng)的維護工作,包括用戶管理(快捷鍵:CTRL+C)、退出系統(tǒng)等(快捷鍵:CTRL+D)、功能,從而方便管理用戶和退出該系統(tǒng),對該系統(tǒng)起主要描述系統(tǒng)的模塊及其功能:班級成績分析學(xué)生成績查詢成績庫管理班級課表課程安排查詢課程安排課程庫管理學(xué)生課程成績管理系統(tǒng)課程管理成績管理3.4數(shù)據(jù)庫設(shè)計字段名稱數(shù)據(jù)類型自動編號文本文本日期/時間備注字段名稱數(shù)據(jù)類型文本文本文本日期/時間文本文本備注字段名稱數(shù)據(jù)類型文本文本數(shù)字?jǐn)?shù)字文本備注表2-4CourseSelect表:字段名稱數(shù)據(jù)類型自動編號文本文本文本文本表2-5Department表:字段名稱數(shù)據(jù)類型文本文本文本文本表2-6Publish表:字段名稱數(shù)據(jù)類型自動編號文本文本日期/時間備注字段名稱數(shù)據(jù)類型自動編號文本文本數(shù)字字段名稱數(shù)據(jù)類型文本文本文本文本日期/時間文本字段名稱數(shù)據(jù)類型文本文本文本備注本章主要內(nèi)容為本系統(tǒng)的運行界面以及主要界面的源代碼本界面的主要功能是為了對系統(tǒng)進行安全性管理,本系統(tǒng)的用戶名和密碼保存在USER表中,用戶可以選擇不同的登錄編號及密碼??诳诘卿浗虒W(xué)信息管理版權(quán)所有盜版必究代碼實現(xiàn):strUserID=Replace(TristrPassword=Replace(TriIfstrUserID=""ThenMsgBox"用戶名不能為空,請輸入用戶名!",,"登錄錯誤"ElseIfstrPassword=""ThenMsgBox"密碼不能為空,請輸入密碼!",,"登錄錯誤"EndIfstrSQL="SELECT*FROMUSERSWHEREUserID='"'&strUserID&""Ifrs.EOFThenMsgBox"用戶名不存在或密碼錯誤!",,"登錄失敗"UserName=rs("UserNameEndIfIfCount>=3ThenMsgBox"超過登錄次數(shù),無權(quán)登錄本系統(tǒng)!",,"登錄失敗"EndIf主控模塊起著連接各個程序的作用,通過此模塊可以方便的進入其他各子模塊中。運行界面如下所示:圖4-2系統(tǒng)主界面代碼實現(xiàn):Caption="課程管理系統(tǒng)-["&UserName&"]"本界面顯示的是課程管理信息,包括課程的安排、學(xué)分、任課老師及課程的說明。課程管理O口區(qū)學(xué)時數(shù)說明?數(shù)據(jù)結(jié)構(gòu)4必修計算機原理4張浩必修大學(xué)英語5王冰必修軟件工程4催冬華必修高等數(shù)學(xué)5張洪賓必修電子電工技術(shù)4李曉明必修鄧論3原林虎選修軍事基礎(chǔ)3東方選修c語言5劉玉海必修匯編4王躍龍必修5梁小生必修H州冊除①)修改M)添加(A)保存(S)退出Q)課程編號說明學(xué)分?jǐn)?shù)學(xué)時數(shù)欣圖4-3課程管理界面代碼實現(xiàn):DimConnAsADODB.ConnectionDimWithEventsrsAsADODimstrSQLS,strCourseIDS,strCourseName$,intCredit!,intPeriod!,strTeacher$,strDesc$strCourselD=Replace(TristrCourseName=Replace(TrimstrTeacher=Replace(TIfstrCourseID=""ThenMsgBox"課程編號不能為空!",,"輸入錯誤"ElselfstrCourseName=""ThenMsgBox"課程名稱不能為空!",,"輸入錯誤"ElselfintCredit=0ThenMsgBox"該課程學(xué)分不能為空!",,"輸入錯誤"ElselfintPeriod=0ThenElselfstrTeacher=""ThenMsgBox"任課老師不能為空!",,"輸入錯誤"EndIfstrSQL="SELECT*FROMCourseWHERECourselD='"&strCoMsgBox"該課程編號已經(jīng)存在,請重新輸入!"EndIfrs("CourseID").Value=strCrs("CourseName").Value=strCrs("Credit").Value=inrs("Period").Value=intrs("Teacher").Value=strTrs("Description").ValueEndIfIfrs.EOFAndrs.RecordCount>0ThenEndIfIfNotrs.BOFThenrs.MovePreviousIfrs.BOFAndrs.RecordCount>0ThenEndIfDimcmdUpdateAsADDimstrSQLS,strCourseID$,strCourseName$,intCredit!,intPeriod!,strTeacher$,strDesc$strCourseID=Replace(TristrCourseName=Replace(TrimstrTeacher=Replace(TIfstrCourseID=""ThenMsgBox"課程編號不能為空!",,"輸入錯誤"ElselfstrCourseName=""ThenMsgBox"課程名稱不能為空!",,"輸入錯誤"ElselfintCredit=0ThenMsgBox"該課程學(xué)分不能為空!",,"輸入錯誤"ElselfintPeriod=0ThenMsgBox"該課程學(xué)時數(shù)不能為空!",,"輸入錯誤"ElselfstrTeacher=""ThenMsgBox"任課老師不能為空!",,"輸入錯誤"EndIfIfstrCourselDrs("CourselD")ThenstrSQL="SELECT*FROMCourseWHERECourseID='"&strCourseID&";"IfNotrsValid.EOFThenMsgBox"該課程編號已經(jīng)存在,請重新輸入!"EndIfSetrsValid=Nothing級聯(lián)更新strSQL=strSQL&"WHERECourselD='"&rs("CourselD")&";"strSQL=strSQL&""WHERECourselD='"&rs("CoEndIfrs("CourselD").Value=strCrs("CourseName").Value=strCrs("Credit").Value=inrs("Period").Value=intrs("Teacher").Value=strTrs("Description").ValuePrivateSubrs_MoveComplete(ByValadReasonAsADODB.EventReasonEnum,_ByValpErrorAsADODB.Error,adStatusAsADODB.EventStatusSetConn=NewADODB.C.Columns(0).Caption="課程編號".Columns(1).Caption=".Columns(4).Caption="任課老師"PrivateSubForm_Unload(CancelAsInte顯示課程的安排、班級、上課時間、上課地點。在此處可以課程安排信息。課程安排O口×班級編號班級信息班級編號課程信息學(xué)分4任課老師譚有為上課教室所屬院系信息工程系班主任趙成上課時間州冊除①)上課地點?數(shù)據(jù)結(jié)構(gòu)周二下午4譚有為計算機原理周一下午4張浩大學(xué)英語周三下午5王冰軟件工程周四下午4催冬華高等數(shù)學(xué)周四下午5張洪賓電子電工技術(shù)周五下午4李曉明鄧論周五上午3原林虎軍事基礎(chǔ)周四上午3東方c語言周三上午5劉玉海代碼實現(xiàn):DimConnAsADODB.ConnectionDimWithEventsrsAsADODimcmdUpdateAsADDimrsCheckAsADODDimstrSQL$,strClaIfcmbClass.ListIndex<0ThenMsgBox"請選擇一個班級!"EndIfIflstCourse.ListIndex<0ThenMsgBox"請選擇一門課程!"EndIfstrClassRoom=Replace(TrstrClassDate=Replace(TrIfstrClassRoom=""ThenMsgBox"上課教室沒有指定!",,"輸入錯誤"ElselfstrClassDate=""ThenMsgBox"上課時間沒有指定!",,"輸入錯誤"EndIfstrSQL="SELECT*FROMCourseSelectWHEREMsgBox"該班級已經(jīng)安排了該課程,不要重復(fù)安排!"EndIfstrSQL="INSERTINTOCourseSelect(CourseID,ClastrSQL=strSQL&"VALUES("&lstCourse.TextstrSQL=strSQL&strClassRoom&","&strClassDate&");"Ifrs.EOFOrrs.BOFThenExitSubIfrs.RecordCount>0Thenrs.MoveFirstIfrs.RecordCount>0Thenrs.MoveLastIfrs.EOFOrrs.BOFThenExitSubtxtClassRoom.Text=rs("ClassRtxtClassDate.Text=rs("ClassIfNotrs.EOFThenrs.MoveNextIfrs.EOFAndrs.RecordCount>0ThenEndIfIfNotrs.BOFThenrs.MovePreviousIfrs.BOFAndrs.RecordCount>0ThenEndIfDimcmdUpdateAsADDimstrSQL$,strClaIfrs.EOFOrrs.BOFThenExitSubstrClassRoom=Replace(TristrClassDate=Replace(TrIfstrClassRoom=""ThenMsgBox"上課教室沒有指定!",,"輸入錯誤"ElseIfstrClassDate=""ThenMsgBox"上課時間沒有指定!",,"輸入錯誤"IfcmbClass.ListCount>0ThencmbDimrsCourseAsADODBSetrsCourse=NewADODB.RecordsetIstCourse.AddltemrsCourse("CIflstCourse.ListCount>0ThenlstCourse.ListIfrs.State<>adStateClosedThenrs.ClosestrSQL="SELECTCourseSelect.ID,CourseName,ClassRostrSQL=strSQL&"WHERECourse.CourselD=CourseSelect.CourseID"strSQL=strSQL&"ANDCourseSelect.ClassID="&cmbClass.Text.Columns(1).Caption="課程名稱".Columns(2).Caption="上課地點".Columns(5).Caption="學(xué)時數(shù)".Columns(6).Caption="任課老師"SetrsClass=NewADODB.RecordsetstrSQL=strSQL&"WHERElblDepartName=rsClass(IblBeginDate=Str(rsClass("BEndIflblCount=Str(rsClassstrSQL="SELECT*FROMCourseWHERECourseID="&lstCourse.Text&";"rsCourse.OpenstrSQL,Conn,1,1IfNotrsCourse.EOFThenlblCredit=Str(rsCourseIblPeriod=Str(rsCourse("PIblTeacher=rsCourse("=EndIfPrivateSubrs_MoveComplete(ByValadReasonADODB.Error,adStatusAsADODB.EventStatusEnum,ByValpRecordsetAsADODB.Recordset)課程安排查詢:通過此界面查詢課程的安排:課程安排查詢02級信息管理1班代碼實現(xiàn):DimConnAsADODB.ConnectionDimWithEventsrsAsADODB.ReSetConn=NewADODB.ConDimrsCourseAsADODB.RecordsetSetrsCourse=NewADODB.RecordsetWhileNotrsCourse.EOFcmbCourse.AddltemrsCourIfcmbCourse.ListCount>0ThencmbCoDimrsCourseAsADODBSetrsCourse=NewADODB.RecordsetstrSQL="SELECT*FROMCourseWHERECoursIfNotrsCourse.EOFThenlblCredit=Str(rsCourselblPeriod=Str(rsCourse(IblTeacher=rsCourse(EndIfIfrs.State<>adStateClosedThenrs.strSQL="SELECTClassName,ClassRoom,ClassDate"strSQL=strSQL&"FROMCourseSelect,Class"strSQL=strSQL&"WHEREClass.ClassID=CourseSelect.ClassID"strSQL=strSQL&"ANDCourseSelect.CourseID='"'&cmbCourse.TextSetdgCourseSelect.Da課程名稱上課地點課程名稱上課地點上課時間學(xué)分學(xué)時數(shù)任課老師?數(shù)據(jù)結(jié)構(gòu)周二下午4譚有為計算機原理周一下午4張浩大學(xué)英語周三下午5王冰軟件工程周四下午4催冬華高等數(shù)學(xué)周四下午5張洪賓電子電工技術(shù)周五下午4李曉明鄧論周五上午3原林虎軍事基礎(chǔ)周四上午3東方c語言周三上午5劉玉海匯編周二上午4王躍龍周一上午5梁小生文學(xué)周一上午3朱慶芳班級編號退出Q)班級信息班級編號040201班主任趙成班級名稱02級信息管理1班入學(xué)日期2004-9-1所屬院系信息工程系人數(shù)5圖4-5班級課表界面代碼實現(xiàn):SetConn=NewADODB.ConneDimrsClassAsADODSetrsClass=NewADODB.RecordsetWhileNotrsClass.EOFcmbClass.AddItemrsCIfcmbClass.ListCount>0ThencmbClass.ListInDimrsClassAsADODSetrsClass=NewADODB.RecordsetstrSQL=strSQL&"WHEREClass.DepartID=Department.DepartID"strSQL=strSQL&"ANDClassID="'&cmbClass.Text&rsClass.OpenstrSQL,Conn,1,1IblDepartName=rsClass("D"";Ifrs.State<>adStateClosedThestrSQL="SELECTCourseSelect.ID,CourseName,ClassRoom,ClassDate,Credit,Period,TeacherstrSQL=strSQL&"WHEREC考試成績查詢選擇課程編號、開課班級、能顯示相應(yīng)的班級信息,在此模塊可以添加和修改所選課程的成績。OO口區(qū)班級編號040201班級名稱02級信息管理1班所屬院系信息工程系班主任趙成姓名杜威趙鴨馬麗徐潔孫曉紅圖4-6考試成績管理界面課程信息學(xué)分4任課老師譚有為學(xué)號040201冊除①)學(xué)號考試成績管理代碼實現(xiàn):DimWithEventsrsAsADODimcmdUpdateAsADODB.CommandDimrsCheckAsADODB.RecordsetIfcmbCourse.ListIndex<0ThenMsgBox"請選擇一門課程!"EndIfIflstClass.ListIndex<0ThenMsgBox"請選擇一個班級!"EndIfstrStudentID=Replace(TrimtxtScore.Text=Replace(Trim(txtScoreIfstrStudentID=""ThenMsgBox"請輸入學(xué)生學(xué)號!",,"輸入錯誤"ElselftxtScore.Text=""ThenMsgBox"請輸入考試成績!",,"輸入錯誤"ElselfintScore<0OrintScore>100ThenMsgBox"考試成績輸入不合格,請重新輸入!",,"輸入錯誤"EndIfIfrsCheck.EOFThenMsgBox"該該學(xué)生不屬于這個班級!"EndIfMsgBox"該生成績已經(jīng)錄入,不要重復(fù)輸入!"EndIfstrSQL=strSQL&"VALUES(""&cmbCourse.Text&"',"&SetcmdUpdate=NewADODB.DimcmdUpdateAsADIfrs.EOFOrrs.BOFThenExitSubSetcmdUpdate=NewADODB.CommandIfrs.RecordCount>0Thenrs.MoveFirstIfrs.RecordCount>0Thenrs.MoveLastIfrs.EOFOrrs.BOFThenExitSubtxtStudentID.Text=rs("StudenttxtScore.Text=Str(rs("ScoreIfNotrs.EOFThenrs.MoveNextIfrs.EOFAndrs.RecordCount>0ThenEndIfIfNotrs.BOFThenrs.MovePreviousIfrs.BOFAndrs.RecordCount>0ThenEndIfDimcmdUpdateAsADDimrsCheckAsADODIfcmbCourse.ListIndex<0ThenMsgBox"請選擇一門課程!"EndIfIflstClass.ListIndex<0ThenMsgBox"請選擇一個班級!"EndIfstrStudentID=Replace(TrimtxtScore.Text=Replace(Trim(txtScore.IfstrStudentID=""ThenMsgBox"請輸入學(xué)生學(xué)號!",,"輸入錯誤"ElselftxtScore.Text=""ThenMsgBox"請輸入考試成績!",,"輸入錯誤"ElselfintScore<0OrintScore>100ThenMsgBox"考試成績輸入不合格,請重新輸入!",,"輸入錯誤"EndIfstrSQL=strSQL&"SETstrSQL=strSQL&"WHEREid="&rs("ID").ValueSetcmdUpdate=NewADODB.rsClass.OpenstrSQL,Conn,1,1IfNotrsClass.EOFThenlblClassName=rsClass(lblBeginDate=Str(rsClassEndIfstrSQL="SELECTCount"";rsClass.OpenstrSQL,Conn,1,1lblCount=Str(rsClass("StuSetrsClass=NewADODB.RecordsetstrSQL="SELECT*FROMCourseSelectWHERECourrsClass.OpenstrSQL,Conn,1,1IstClass.AddltemrsClass("ClassID").ValueIflstClass.ListCount>0ThenlstCla一個人信息性別男所屬院系信息工程系班主任趙成?44圖4-7學(xué)生成績查詢界面代碼實現(xiàn):DimConnAsADODB.ConnectionSetConn=NewADOIfrs.State
adStateClosedThenrs.CloseDimrsClassAsADODB.RecordsetIfrs.StateadStateClosedThenrs.ClosestrSQL="SELECTCourseName,Score,Credit,TeacherFROMstrSQL=strSQL&"WHEREScore.CourselD=Course.CourseID"strSQL=strSQL&"ANDScore.StudentID='"&t.Columns(1).Caption.Columns(3).Caption="任課老師"DimrsStudentAsADODSetrsStudent=NewADODB.RestrSQL="SELECTStudent.*,ClassNstrSQL=strSQL&"ANDClass.DstrSQL=strSQL&"ANDStudeIfNotrsStudent.EOFThenIblStudentID=rsStudent("StlblDepart=rsStudent("EndIfrsScore.OpenstrSQL,Conn,1,1lblMax=If(IsNull(rsScore("Max").Value),"",Str(rsSlblMin=IIf(IsNull(rsScore("Min").Value),"",Str(rsSlblBJG=If(IsNull(rsScore("BJG").Value),"",Str(rs此模塊用于班級成績分析,輸入班級的編號,再選擇課程編號可以顯示班級的整個成績情況:用于班級評比:退出Q)學(xué)號姓名成績退出Q)學(xué)號姓名成績?杜威趙鵬馬麗徐潔課程名稱計算機原理圖4-8班級成績分析界面代碼實現(xiàn):Conn.OpenConnStringSetdgScore.DataSource=SetrsClass=NewADODB.RecordsetstrSQL="SELECT*FROMClass"cmbClass.AddltemrsCIfcmbClass.ListCount>0ThencmbrsCourse.OpenstrSQL,Conn,1,1lstCourse.AddItemrsCourseIflstCourse.ListCount>0ThenlstCoursIfrs.State
adStateClosedThenrs.ClosestrSQL="SELECTScore.ID,Score.StudentIstrSQL=strSQL&"WHEREStudent.strSQL=strSQL&"ANDScore.CourseIDstrSQL=strSQL&"ANDStudent.ClassID='"&cmbClass.Text&"".Columns(2).Caption.Columns(3).CaptionDimrsCourseAsADODBSetrsCourse=NewADODB.RecordsetstrSQL="SELECT*FROMCourseWHERECourseID='"&lstCourse.Text&";"IfNotrsCourse.EOFThenlblCourselD=rsCourse("IblCourseName=rsCourse("ColblCredit=Str(rsCourseEndIfDimrsCourseAsADODBSetrsCourse=NewADODB.RecordsetstrSQL="SELECTCount(*)asRS,Max(Score)asMax,Min(Score)asFROMScoreWHERECourseID='"&lstCIfNotrsCourse.EOFThenIfintRS>0ThenIblAvg=Str(rsCourseEndIfEndIfrsCourse.OpenstrSQL,Conn,1,1IfNotrsCourse.EOFAndintRS>0ThenEndIf用戶管理界面,可以管理用戶:學(xué)生管理員說明用戶名圖4-9用戶管理界面代碼實現(xiàn):
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版防火涂料行業(yè)論壇贊助商合同范本大全3篇
- 2025年度清潔能源發(fā)電技術(shù)研究合同3篇
- 2024年綠色建筑小區(qū)保潔與節(jié)能減排服務(wù)承包合同范本3篇
- 二零二五年度保育員工作職責(zé)合同3篇
- 2025版酒店別墅區(qū)綠色植被種植與養(yǎng)護勞務(wù)分包合同3篇
- 2024年特種設(shè)備拆除與安全監(jiān)測服務(wù)合同范本3篇
- 2024年藥師證租賃與藥品法規(guī)培訓(xùn)合同范本3篇
- 2025年度海上風(fēng)電場安裝工程一切險合同3篇
- 二零二五年度化工公司股份收益權(quán)轉(zhuǎn)讓合同范本3篇
- 2025版國際商業(yè)借款合同范本與匯率風(fēng)險管理2篇
- 醫(yī)院眼科醫(yī)院雷火灸操作評分標(biāo)準(zhǔn)
- 二年級口算題卡
- 畢業(yè)設(shè)計工程造價預(yù)算書
- 幼兒園課件-神奇的中草藥
- 起重機零配件(易損件)清單
- 錐坡工程量計算
- 植物園設(shè)計規(guī)范
- 北京保險中介行業(yè)營銷員增員及流動自律公約
- 深圳市建設(shè)工程施工圍擋圖集(試行版_下半部分).pdf
- 熱水器3c安全試驗報告及第三方檢測報告dsf65mx ts tx ws wx ys yx ms
- 南洋電工GSB1A型16錠高速編織機使用說明書
評論
0/150
提交評論