




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、摘要:學(xué)生成績管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺(tái)數(shù)據(jù)庫的建立和維護(hù) 以及前端應(yīng)用程序的開發(fā)兩個(gè)方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全 性好的庫。而對于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。本文簡要介紹了本學(xué)校學(xué)生成績管理的情況和系統(tǒng)的實(shí)現(xiàn)過程,闡述了課題來源,系統(tǒng) 及需求分析,系統(tǒng)規(guī)劃,設(shè)計(jì)及實(shí)現(xiàn)情況。關(guān)鍵字:控件.窗體、域。Abstract:Student s achievement administrative system is a typical information management system(know as MIS), Its
2、development include backstage supporter the foundation and mai nt ain and fro nt the t woes respec ts of development of applies tion programs of data mainly. As to the former require set up data consistency and integrality strong, data security kind storehouse Require application program not to be c
3、omplete, easy to use characteristic of waiting for function the latterThis text has recommended a situation of student s achievement management of institut己 and systematic realization course briefly, Having explained the subject source, the system and demand analyse, the system is planned, Design an
4、d realize the situation.Key word: Accuse of one, window body, land.摘要.2一 前言. 3二課題來源 . .4三系統(tǒng)及需求分析 . .4(一) .、系統(tǒng)需求4(二) .、可行性分析 4(三) .、VTP5. 0以上的中文版概述5四系統(tǒng)規(guī)劃 . .6(一).、項(xiàng)目規(guī)劃. 6(二) .、功能框圖 7(三) .、規(guī)劃數(shù)據(jù)庫 7五系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn). .9(一).、數(shù)據(jù)分析與項(xiàng)目的建立. 9(二) .、數(shù)據(jù)庫設(shè)計(jì) 9(三) .、模塊設(shè)計(jì) 10(四) .、系統(tǒng)性能測試 31六結(jié)束語 .31參考文獻(xiàn) .3233Visual FoxPro (簡稱
5、VFP)是Windows平臺(tái)下的新一代數(shù)據(jù)庫管理系統(tǒng),它具有優(yōu)美的 圖形用戶界面(GUI)、面向?qū)ο蟮拈_發(fā)方式、客戶/服務(wù)品的數(shù)據(jù)連接以及通過OLE的數(shù)據(jù) 訪問工具等特點(diǎn)。最新推出了 VFP6.0、VFP7.0,它在VFP5. 0的基礎(chǔ)上更加重了項(xiàng)目管理 器、向?qū)?、生成器、查詢與視圖、OLE連接、ActiveX集成、幫助系統(tǒng)制作、數(shù)據(jù)導(dǎo)入和導(dǎo) 出等方面的功能?!皩W(xué)生成績管理系統(tǒng)”就是在這樣一個(gè)優(yōu)秀的數(shù)據(jù)庫管理系統(tǒng)卞開發(fā)而成的,可以在VFP5. 0 以上的版本上運(yùn)行,也可以生成自身的.EXE文件運(yùn)行。本系統(tǒng)的特點(diǎn)是:易用性、先進(jìn)性 和廣泛性強(qiáng),可用性和實(shí)用性高,良好的用戶界面,幾乎沒有專業(yè)和業(yè)余
6、的區(qū)別,普通用戶 只要懂得使用WINDOWS操作系統(tǒng)及VFP數(shù)據(jù)庫管理就能使用該系統(tǒng)。本書以怎樣建立學(xué)生成績管理系統(tǒng)為主線,全面而系統(tǒng)地介紹了系統(tǒng)的各種功能模塊的建立 和操作方法。全書分為六章,全面系統(tǒng)地介紹了在VFP數(shù)據(jù)庫管理系統(tǒng)中建立學(xué)生成績管理 的項(xiàng)目管理器及其使用,數(shù)據(jù)表與數(shù)據(jù)庫的建立,查詢與視圖,表單設(shè)計(jì),報(bào)表,工作壞境 的設(shè)置方法與步驟等內(nèi)容。“學(xué)生成績管理系統(tǒng)”是目前學(xué)校應(yīng)該普遍需要使用的學(xué)生管理系統(tǒng)之一,鑒于這種情況, 提出問題、分析問題,也是我這次畢業(yè)論文設(shè)計(jì)的基本目的。二課題來源計(jì)算機(jī)已經(jīng)成為我們學(xué)習(xí)和工作的得力助手,今天,計(jì)算機(jī)的價(jià)格已經(jīng)十分低廉,性能卻有 了長足的進(jìn)步。
7、它已經(jīng)被應(yīng)用于許多領(lǐng)域,計(jì)算機(jī)之所以如此流行的原因主要有以下幾個(gè)方 面:首先,計(jì)算機(jī)可以代替人工進(jìn)行許多繁雜的勞動(dòng):其次,計(jì)算機(jī)可以節(jié)省許多資源;第三,計(jì)算機(jī)可以大人的提高人們的工作效率; 第四,計(jì)算機(jī)可以使敏感文檔更加安全,等等。由于我校每個(gè)學(xué)期都要進(jìn)行期終考試,每期的考試成績又要進(jìn)行登記入冊,原來學(xué)校是 由教務(wù)處的一位老師專門管理這件事,主要是進(jìn)行手寫登記,費(fèi)時(shí)又費(fèi)心,而且有時(shí)還出現(xiàn) 很多錯(cuò)誤登記?,F(xiàn)在我校學(xué)生成績管理水平還停留在紙介質(zhì)的基礎(chǔ)上,這樣的機(jī)制已經(jīng)不能 適應(yīng)時(shí)代的發(fā)展,因?yàn)樗速M(fèi)了許多人力和物力,在信息時(shí)代這種傳統(tǒng)的管理方法必然被計(jì) 算機(jī)為基礎(chǔ)的信息管理所取代。作為計(jì)算機(jī)應(yīng)用的
8、一部分,使用計(jì)算機(jī)對學(xué)生成績進(jìn)行管理,具有著手工管理所無法比擬的 優(yōu)點(diǎn)。例如:不易出錯(cuò)、查找方便、可靠性高、存儲(chǔ)量人、保密性好、壽命長、成本低等。 這些優(yōu)點(diǎn)能夠極大地提高學(xué)生成績管理的效率,也是學(xué)校的科學(xué)化、正規(guī)化管理,與世界接 軌的重要條件。因此,開發(fā)這樣一套管理軟件成為很有必要的事情。三系統(tǒng)及需求分析(一) 、系統(tǒng)需求盡量采用學(xué)?,F(xiàn)有軟硬件壞境,及先進(jìn)的管理系統(tǒng)開發(fā)方案,從而達(dá)到充分利用學(xué)?,F(xiàn)有 資源,提高系統(tǒng)開發(fā)水平和應(yīng)用效果的目的。系統(tǒng)應(yīng)符合學(xué)校學(xué)生成績管理的規(guī)定,滿足對學(xué)校學(xué)生成績管理的需要,并達(dá)到操作過程 中的直觀、方便、實(shí)用、安全等要求。系統(tǒng)采用模塊化程序設(shè)計(jì)方法,既便于系統(tǒng)功能
9、的各種組合和修改,又便于未參與開發(fā)的 技術(shù)維護(hù)人員補(bǔ)充、維護(hù)。系統(tǒng)應(yīng)具備數(shù)據(jù)庫維護(hù)功能,及時(shí)根據(jù)用戶需求進(jìn)行數(shù)據(jù)的添加、刪除、修改、備份等操 作。通過調(diào)查,要求系統(tǒng)需要有以下功能:1、由于操作人員的計(jì)算機(jī)知識(shí)普遍較差,要求有良好的人機(jī)界面,可以存儲(chǔ)歷屆的學(xué)生成 績,安全、高效;2、原始數(shù)據(jù)修改簡單方便:3、數(shù)據(jù)查詢方便;4、刪除數(shù)據(jù)方便簡單,數(shù)據(jù)穩(wěn)定性好;5、數(shù)據(jù)計(jì)算自動(dòng)完成,盡量減少人工干預(yù);6、強(qiáng)大的報(bào)表打印功能:7、退出系統(tǒng)。(二) 、可行性分析由于本系統(tǒng)管理的對象單一,且每個(gè)班級(jí)的學(xué)生數(shù)據(jù)內(nèi)容基本是一致的,涉及的計(jì)算中 心過程不是很復(fù)雜。因此,比較適合于采用數(shù)據(jù)庫管理。在存儲(chǔ)量、速度方
10、面都能滿足數(shù)據(jù) 庫運(yùn)行的要求。在技術(shù)難度方面,由于有指導(dǎo)老師和相關(guān)參考文獻(xiàn),特別是網(wǎng)上資料,以及 學(xué)校給我提供的各種數(shù)據(jù)要求,完全可以實(shí)現(xiàn)。VFP5.0以上的中文版作為一個(gè)關(guān)系型數(shù)據(jù) 庫系統(tǒng),它提供了面向?qū)﹀璧木幊碳夹g(shù),可簡化數(shù)據(jù)庫管理,使開發(fā)應(yīng)用程序這項(xiàng)艱辛的工 作就象堆枳木那樣簡單方便。另外,用VFP5. 0以上的中文版開發(fā)的應(yīng)用程序可以獨(dú)立運(yùn)行 于Windows平臺(tái)。(三) 、VFP5. 0以上的中文版概述1、概述VFP5. 0以上的中文版,它是運(yùn)行于Windows 9X/2000及Windows NT平臺(tái)的32位的數(shù)據(jù)庫 系統(tǒng),充分發(fā)揮了 32位微處理器強(qiáng)大的32位數(shù)據(jù)處理性能。它功能
11、強(qiáng)人,直觀易用,支持 客戶/服務(wù)器結(jié)構(gòu)和面向?qū)﹀杈幊?,提供多種可視化編程工具,支持最新Internet技術(shù),W 數(shù)據(jù)庫的設(shè)計(jì),最新流行的ActiveX等。VFP5.0以上的中文版完全支持OOP (面向?qū)﹀瑁┑?應(yīng)用程序設(shè)計(jì)方法,VFP使用了真正的類,包括繼承性,封裝性和多態(tài)性。用可視方式創(chuàng)建 類、查看類及類代碼;利用表單向?qū)нM(jìn)行專業(yè)級(jí)界面設(shè)計(jì);對表關(guān)系進(jìn)行可視化查看:可利 用OLE自動(dòng)化來包含其他軟件Excel.Word)中的對彖并使用這些軟件。通過TisualFoxPro 對象和事件模型,用戶可以快速創(chuàng)建和實(shí)現(xiàn)無模式(modeless)的應(yīng)用程序;利用生成器和 工具欄,開發(fā)人員可以快速開發(fā)應(yīng)
12、用程序,而省去編寫人量的代碼、定義繁多的屬性。總之, VFP5. 0以上的中文版是一種適用于專業(yè)人員的開發(fā)工具。2、數(shù)據(jù)庫概念的發(fā)展在FoxPro2. X中一個(gè)表就是數(shù)據(jù)庫,實(shí)際上是真正的數(shù)據(jù)庫中表的概念。在Visual FoxPro 中,數(shù)據(jù)庫指的是可以存儲(chǔ)一個(gè)或者多個(gè)表(.DBF)及視圖的關(guān)系數(shù)據(jù)庫,這才是真正的關(guān) 系型數(shù)據(jù)庫的概念。對于一個(gè)大型的信息管理系統(tǒng),它很可能需要對不同的用戶各自創(chuàng)建一 個(gè)人型的文件系統(tǒng),它包扌舌許多表,而屬于一個(gè)用戶的一套表與屬于另一個(gè)用戶的一套表實(shí) 際上是相同的,只是名稱有所不同,而在FoxPro2. X中,需要建立大量的代碼來區(qū)別和維護(hù) 屬于不同用戶的一套表
13、,這套表的數(shù)量可能是非常龐人的,維護(hù)編碼也是非常龐人的。然而 VisualFoxPor中引入的真正的數(shù)據(jù)庫的概念,使這一問題的解決變得非常的容易,設(shè)計(jì)人 員只要為不同的用戶創(chuàng)建不同的數(shù)據(jù)庫,然后在這些數(shù)據(jù)庫卞建立用戶自己的表就可以很容 易對每個(gè)用戶進(jìn)行區(qū)別和維護(hù)了。而且,這樣的數(shù)據(jù)庫的關(guān)系能力更加強(qiáng)人,更加穩(wěn)定可靠。3、其他新特性VisualFoxPor5. 0的面向?qū)﹀杈幊?,一個(gè)很重要的部分是通過使用類體現(xiàn)出來的,類具有對 象的繼承、封裝的特性和一切使用對彖編程的優(yōu)點(diǎn)??梢源笕撕喕幊?,在本系統(tǒng)的設(shè)計(jì)中 就充分利用了這種優(yōu)點(diǎn)(如:自動(dòng)轉(zhuǎn)換中英文輸入法的gstextbox的自定義, Visua
14、lFoxPor5. 0自帶的可視類庫WIASTYLE. VCX中的searchclass類等等),町以按照需要 給自己的數(shù)據(jù)庫定制相應(yīng)的菜單樣和工具欄。重新設(shè)計(jì)了項(xiàng)目管理器(ProjectManager), 其最簡單的用途是作為一種組織工具,保存屬于特定應(yīng)用程序所有文件的列表,而且根據(jù)文 件類型將這些文件進(jìn)行劃分。它所提供的多頁框界面,使對項(xiàng)目文件的添加、建立和編程更 加容易。1998年最新推出了 VFP6. 0中文版,它在VFP5.0的基礎(chǔ)上更加重了項(xiàng)目的管理器、 向?qū)?、生成器、查詢與視圖、OLE連接、ActiveX集成、幫助系統(tǒng)制作、數(shù)據(jù)導(dǎo)入和導(dǎo)出等 方面的功能。可以與OFFICE軟件集成
15、。四系統(tǒng)規(guī)劃(一)、項(xiàng)目規(guī)劃學(xué)生成績管理系統(tǒng)是一個(gè)典型的數(shù)據(jù)庫應(yīng)用程序,由用戶設(shè)置模塊、數(shù)據(jù)處理模塊、成 績輸入模塊、成績管理模塊、成績查詢模塊、報(bào)表打印模塊等部分組成,特規(guī)劃功能模塊如 下:1、用戶設(shè)置模塊該模塊主要包括添加用戶、修改密碼和刪除用戶。2、數(shù)據(jù)處理模塊該模塊的主要功能是建立登分冊和負(fù)貴錄入學(xué)生數(shù)據(jù)。(1)建立登分冊:是指建立考試的名稱。(2)學(xué)生管理:主要負(fù)貴錄入學(xué)生的信息,如錄入學(xué)生的學(xué)號(hào)、年級(jí)、班次、姓名和性別。 由于數(shù)據(jù)量大,所以該模塊的設(shè)計(jì)也發(fā)點(diǎn)應(yīng)從方便用戶操作的角度出發(fā),如采用中英文自動(dòng) 切換。3、成績輸入模塊該模塊的主要功能是負(fù)責(zé)錄入學(xué)生的成績,并且可以選擇要輸入成
16、績的科目。4、成績管理該模塊的主要功能是對學(xué)生成績自動(dòng)核算,總分、排名。5、成績查詢模塊查詢模塊是一個(gè)數(shù)據(jù)庫系統(tǒng)中所必須的模塊。方便學(xué)校對每個(gè)學(xué)生的學(xué)生成績查詢和對每個(gè) 班全部學(xué)生成績的查詢。6、報(bào)表打印模塊該模塊包括打印成績和打印設(shè)置兩個(gè)子菜單。(1)打印成績模塊:打印學(xué)生平時(shí)及畢業(yè)要打印他們的數(shù)據(jù),于是設(shè)置了打印學(xué)生個(gè)人成 績,打印班級(jí)學(xué)生成績和打印班級(jí)平均分的報(bào)表,以便學(xué)生對平時(shí)成績的查詢及畢業(yè)入檔時(shí) 學(xué)生成績打印入冊的原始憑證。(2)頁面設(shè)置模塊:是對打印頁面進(jìn)行設(shè)置,如果沒有安裝打印機(jī),將會(huì)提示安裝打印機(jī), 此時(shí)應(yīng)該點(diǎn)“否”并選“忽略”,否則系統(tǒng)將會(huì)產(chǎn)生錯(cuò)誤。7、退出功能模塊退出功能
17、模塊用于結(jié)束所有操作,退出學(xué)生成績管理系統(tǒng)。根據(jù)以上分析,本系統(tǒng)將建立以下功能模塊。學(xué)生成績管理系統(tǒng)主界面用戶設(shè)置添加用戶修改密碼刪除用戶數(shù)據(jù)處理建立登分冊學(xué)生管理成績輸入成績管理學(xué)生成績管理系統(tǒng)主界面成績查詢打印報(bào)表打印成績頁面設(shè)置退出(二)、功能框圖根據(jù)系統(tǒng)功能要求,可以將系統(tǒng)分解成幾個(gè)功能模塊來分別設(shè)計(jì),功能模塊如下圖:(三)、規(guī)劃數(shù)據(jù)庫1、分析數(shù)據(jù)需求數(shù)據(jù)庫是管理系統(tǒng)的基礎(chǔ),只有建立了反映實(shí)際情況的數(shù)據(jù)庫,才可能提供各種有價(jià)值的信 息,為決策作出依據(jù)。在學(xué)生成績管理系統(tǒng)中建立的數(shù)據(jù)庫為:成績庫2、確定數(shù)據(jù)庫由于VTP5. 0的以上版本的數(shù)據(jù)庫管理比較完善,在設(shè)計(jì)數(shù)據(jù)庫時(shí),不同主題的信息
18、應(yīng)存儲(chǔ)在不同的表中,并遵循下列規(guī)則:(1)同一信息只保存一次;(2)防止刪除有用信息;只有在同一信息只保存一次的前提下,才能減少數(shù)據(jù)冗余性和出錯(cuò)的可能性,而是為了防止 刪除有用的信息,最好的解決方法仍然是把不同主題的信息放在不同的表中。根據(jù)以上分析,時(shí)間2005011220050112學(xué)生成績管理數(shù)據(jù)庫中建立了以下幾個(gè)表:學(xué)生表、考試庫、課程表、用戶。(1)學(xué)生表學(xué)生表的結(jié)構(gòu)。字段名類型寬度小數(shù)學(xué)號(hào)字符型11年級(jí)字符型4考號(hào)字符型8班次字符型10姓名字符型8性別字符型3學(xué)生表的記錄。假設(shè)在學(xué)生表中輸入3條記錄,則為:學(xué)號(hào)年級(jí)考號(hào)班次姓名性別20011928高一12912321譚仲杰男20011
19、086高一10207321文淑華女20011553高一12607321王俊敏女(2)考試庫考試庫的結(jié)構(gòu)。字段名類型寬度小數(shù)名稱字符型50時(shí)間字符型8考試庫的記錄。假設(shè)在考試庫中輸入2條記錄,則為:名稱2004年高一期末成績2001年高二期末成績字段名類型寬度小數(shù)科目字符型20最高分?jǐn)?shù)值型3課程表的記錄 。假設(shè)在課程表中輸入3條記錄,科目最高分語文115數(shù)學(xué)98歷史96(4)用戶用戶的結(jié)構(gòu)。字段名類型寬度用戶名字符型16密碼字符型16用戶的記錄。假設(shè)在用戶中輸入2條記錄,則為用戶名密碼admin1yxl123456小數(shù)則為:(3)課程表課程表的結(jié)構(gòu)。五系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)(一)、數(shù)據(jù)分析與項(xiàng)目的建立1
20、、數(shù)據(jù)分析主要是分析各種數(shù)據(jù)的用途及相互之間的關(guān)聯(lián),分析數(shù)據(jù)的類型、數(shù)量發(fā)生頻 度和使用頻度,并具體弄清楚每個(gè)數(shù)據(jù)所需的范I韋I和位數(shù)及來源的時(shí)間性,為數(shù)據(jù)庫、文件 設(shè)計(jì)及輸出、輸入設(shè)計(jì)提供依據(jù),也為制定合理的數(shù)據(jù)處理方法提供依據(jù)。編碼是一項(xiàng)基礎(chǔ) 工作,編碼必須唯一,編碼設(shè)計(jì)的目的是為了便于數(shù)據(jù)的存儲(chǔ)和檢索,提高處理的效率和精 度,節(jié)省處理時(shí)間和減少存儲(chǔ)空間且方便使用。2、項(xiàng)目的建立項(xiàng)目管理器是“項(xiàng)目”二個(gè)字的含義指的就是我們想要編制的應(yīng)用程序。成名思義,項(xiàng)目管 理器就是用于建立應(yīng)用程序的集成開發(fā)環(huán)境,它幫助我們設(shè)計(jì)、修改、運(yùn)行一些應(yīng)用程序級(jí) 件。為了開發(fā)“學(xué)生成績管理系統(tǒng)”,首先就要啟動(dòng)項(xiàng)目
21、管理器,創(chuàng)建一個(gè)新項(xiàng)目。啟動(dòng)項(xiàng) 目管理器,創(chuàng)建新項(xiàng)目一一學(xué)生成績管理系統(tǒng)的操作步驟是:第 1 步:啟動(dòng) Microsoft Visual FoxPro6. 0 進(jìn)入 “Microsoft Visual FoxPro開發(fā)環(huán) 境。第2步:單擊“文件”,單擊“新建”,彈出“新建”窗口。第3步:選中“項(xiàng)目”,單擊“新建文件”按鈕,彈出“創(chuàng)建”窗口。第4步:把所有要開發(fā)的“學(xué)生成績管理系統(tǒng)”項(xiàng)目保存在一個(gè)文件中,本系統(tǒng)保存在E: 學(xué)生成績管理系統(tǒng)目錄下,在“項(xiàng)目文件”里輸入“學(xué)生成績管理系統(tǒng)”,作為該項(xiàng)目的文 件名。在“存為類型”中選取“項(xiàng)目”,單擊“保存”按鈕,彈出“項(xiàng)目管理器”窗門。(二)、數(shù)據(jù)庫設(shè)
22、計(jì)1、怎樣建立“學(xué)生成績管理系統(tǒng)”中的數(shù)據(jù)庫?在Visual FoxProG. 0中,數(shù)據(jù)庫由表、視圖以及它們之間的關(guān)系集合而成。創(chuàng)建一個(gè)新數(shù) 據(jù)庫的操作步驟如下:第1步:在項(xiàng)目管理器窗I中,選中“數(shù)據(jù)”選項(xiàng)卡,單擊選中“數(shù)據(jù)庫”圖標(biāo)。第2步:單擊“新建”按鈕,再單擊“新建數(shù)據(jù)庫”,彈出“創(chuàng)建”窗I,在“數(shù)據(jù)庫名” 框中輸入“成績庫”,作為學(xué)生成績管理的數(shù)據(jù)庫文件名,在“存為類型”欄中,選中“數(shù) 據(jù)庫”,并將該文件保存在E:學(xué)生成績管理系統(tǒng)data中。第3步:單擊“保存”按鈕,彈出數(shù)據(jù)庫設(shè)計(jì)器一成績庫”窗門,顯示出了一空的數(shù)據(jù)庫 設(shè)計(jì)窗口,并且“數(shù)據(jù)庫設(shè)計(jì)器”變?yōu)橛行?。至此,我們?chuàng)建了一個(gè)空的
23、學(xué)生成績管理數(shù)據(jù)庫。2、怎樣創(chuàng)建數(shù)據(jù)庫中的表?下面我們在成績庫中創(chuàng)建學(xué)生表、考試庫、課程表、用戶。(1)建立學(xué)生表建立學(xué)生表的操作步驟如下:第1步:在“數(shù)據(jù)庫設(shè)計(jì)器”窗I的工作表中,單擊鼠標(biāo)右鍵,弱出一個(gè)“命令”菜單。第2步:單擊“新建表”,彈出新建表”窗口。第3步:單擊新建表”按鈕,彈出“創(chuàng)建”窗口,在“保存在”框中,選中“data”文件 夾,在“輸入表中”中輸入“學(xué)生表”,在“存為類型”框中,選中“表/DBF”。第4步:單擊“保存”按鈕,彈出“表設(shè)計(jì)器一學(xué)生表.DBF”窗I,在“字段”選項(xiàng)卡中, 輸入學(xué)生表每個(gè)字段的字段名、類型、寬度、小數(shù)位數(shù),完成表的結(jié)構(gòu)。第6步:單擊“否”按鈕,返回到
24、“數(shù)據(jù)庫設(shè)計(jì)器一成績庫”窗口。 至此,在“數(shù)據(jù)庫設(shè)計(jì)器一成績庫”窗門中,可以看到創(chuàng)建了一個(gè)“學(xué)生表”。(2)建立考試庫、用戶、課程表的操作方法跟建立學(xué)生表的操作方法相同。(三)、模塊設(shè)計(jì)1、用戶登錄窗口功能模塊如果沒有進(jìn)行特殊設(shè)置,每次進(jìn)入系統(tǒng)都將 顯示登錄界面(如右圖),它對操作員進(jìn)行【I令 驗(yàn)證,防止非法用戶進(jìn)入系統(tǒng),任意增加、修改 和刪除數(shù)據(jù)。在選擇或輸入用戶并提供正確的密 碼后,點(diǎn)“確定”按鈕即可進(jìn)入系統(tǒng),點(diǎn)“取消” 放棄登錄,退出系統(tǒng)。如果不能提供正確密碼, 在點(diǎn)“確定”按鈕后會(huì)有相應(yīng)提示,如果連續(xù) 三次都輸入了錯(cuò)誤的密碼,系統(tǒng)將自行關(guān)閉。2、用戶設(shè)置模塊,在本模塊中了建立三個(gè)子模塊
25、,即添加用戶、修改密碼、刪除用戶。(1)添加用戶功能模塊。其程序代碼如下:Command1 click use 用戶 excl public ul, pwl ul=alIt(thisform text 1 value) pwl=allt(thisform text2 value) if empty(thisfonn textl value) messagebox (用戶名不能為空! , 48+0,添加新用戶) t hisform textl. set focuselselocate for allt (用戶名)=ulif found 0messagebox(用戶名已經(jīng)存在,請輸入其他用戶名!
26、, 48+0,添加新用戶)thisform textl. setfocuselseif thisform text2 value二二thisform text3 valuetempstr二Jfor i=l to len(trim(pwl)tempchr=bitxor(asc(subs(pwl, i, 1), 123) tempstr二tempstr+chr (tempchr)endfordimension b(1,2)bl, l=ulb -1, 2= tempstrappend from array bmessagebox (,z成功添加新用戶! ”, 64+0,添加新用戶) release
27、thisformelsemessagebox(z,請輸入相同密碼!,48+0,添加新用戶) thisform text3 setfocus 用Caabo |- n口今T.xill-i-.r添加新用戶endifendif endifcommand2 click release thisform text3. KeyPressLPARAMETERS nKeyCode, nShiftAltCtrlif nkeycode=13&enterthisform command1 clickendif(2)修改密碼功能模塊。其程序代碼如卞:Combol InteractiveChangethisform re
28、freshTextl. KeyPressLPARAMETERS nKeyCode, nShiftAltCtrlif nkeycode=13thisform command1 clickendifCommand1 Clickpublic uu=allt(thisform combol value)tempstr二八for i=l to len(allt(trim(thisform. textl. value)tempchr=bitxor(asc(subs(thisform textl. valu己,i, 1), 123) tempstr=tempstr+chr(tempchr)endforloc
29、ate for allt (用戶名)=allt (thisform. combol. value) and allt (密碼)=tempstr if found ()do form changepw2elsemessagebox(密碼有誤,請重新輸入! ,48+0,修改密碼) thisform textl. setfocusendifCommand2 Clickrelease thisformForm1. Init*main. olel simpletext二this captionuse 用戶 exclText2. KeyPressLPARAMETERS nKeyCode, nSh辻tAlt
30、Ctrl if nkeycode=13&enterthisform command1 clickendifCommand1 Clickuse 用戶 exclpublic pwpw=alIt(thisform text 1 value)if pwalIt (thisform text2 value)tempstr=,!for i=l to len(trim(pw)tempchr=bitxor(asc (subs(pw? i,1),123)tempstr二tempstr+chr(tempchr)endforloca for allt (用戶名)=allt (u)if found () thenre
31、pl 密碼 with tempstrrelease thisformmessagebox (密碼修改成功! ,64+0,修改密碼)endifelsemessagebox (密碼未被確認(rèn),請輸入相同密碼! ”,48+0,修改密碼) thisform text2 setfocusendifCommand2 Clickrelease thisformForm1. Initmain. ole1 simpletext二this captionForm1. Unloadmain. olel. simpletext二修改密碼release pwreturn(3)刪除用戶功能模塊。其程序代碼如卞:Form1.
32、 Inittempstr=,Jfor i=l to len(t:rini(thisforni txtl value)tempchr=bitxor(asc(subs(thisfotmtextl. value, i, 1), 123)tempstr=tempstr+chr(tempchr)endforloca te for allt(用 戶名)二二 al lt(t hisform .comb ol value)if found0 and allt (密碼)=tempstra二messageboxC確實(shí)要?jiǎng)h除此用戶嗎? ”, 32+1,刪除用戶) if a=ldeletepackmessagebox
33、(z,成功刪除用戶! ”, 64+0, 刪除)thisform combol value二thisform text 1 value二endifelsemessagebox(z,密碼有誤,請重新輸入! ,48+0,刪除用戶) thisform textl. setfocusendifendifCommand 1 GotFocusthis picture=mypath+picture冊lj除 focus bmpCommand 1 LostFocusthis picture=mypath+picture冊lj除 but. bmpCommand2 Clickrelease thisformComma
34、nd2 LostFocusthis picture=mypath+picture取,肖 bmpCommand2 GotFocusthis picture=mypath+picture?。┬?focus bmpTextl. KeyPressLPARAMETERS nKeyCode, nShiftAltCtrlif nkeycode=13thisform command1 clickendif3、數(shù)據(jù)處理模塊數(shù)據(jù)處理菜單下面的子菜單有:建立登分冊和學(xué)生管理。(1)建立登分冊,是指建立考試的名稱。其程序代碼如下:Form1. Initt hisform tex tl set focusthis au
35、tocenter二.tCommand1 Clicksjk=allt(thisform textl value)if empty(sjk)MESSAGEBOX (請輸入考試名稱)t hisform tex tl set focusreturnendifs jk=/zdata,z+s jkclear國建丈登分冊匸回X&kemu n(3)總分n(4) 班名n 校名nset path to data close data all use 學(xué)生表 in a copy to &sjk use &sjk use課程表 jls=recc 0 for i=l to jls use課程表 go i kemu二科目
36、 ALTER TABLE (sjk) ADD close data all endforALTER TABLE (sjk) ADD ALTER TABLE (sjk) ADD ALTER TABLE (sjk) ADD close data all messagebox(s jk+z,建立,0, 成績管理)Command2 Clickuse data考試庫f iledbf=alIt (thisform textl value) + dbf if file(filedbf) thenloca for allt (名稱)=f iledbfif found 0 messagebox (/z此考試庫己
37、存在! , 0,成績管理。elseappe blankrepl 名稱 with filedbfmessagebox (filedbf+,/也成功添加到考試庫! ,0,成績管理) endifelsemessagebox (請先建立成績表! ”, 0,成績管理)thisform textl. setfocusendifCommand3 Clickthisform releaseCommand! Clickdaan二messagebox(此操作將清空考試庫里的成績項(xiàng)目! ,4+32,成績管理)if daan=6 thenuse data考試庫 zapendif(2)學(xué)生管理。主要負(fù)責(zé)錄入學(xué)生的信息,
38、如錄入學(xué)生的學(xué)號(hào)、年級(jí)、班次、姓名和性別。 其程序代碼如下:Command1 Click thisform command3 enabled二.tthisform command4 enabled二.tgo topthisform refreshthis enabled二.fthisform command? enabled二.ft hisform grid 1 set focusCommand 1 Refreshif reccountO 二0this enabled二 fendifCommand2 Clickthisform command3 enabled二.tthisform comma
39、nd4 enabled二.tskip -1if recno()=lgo topthis enabled二 fthisform command1 enabled二.f.endifthisform refreshthisform grid1 setfocusCommand2 Refreshif reccountO二0this enabled二 fendifCommand3 Refreshif reccountO二0this enabled二 fendifCommand3 Clickthisform command1 enabled二.t thisform command? enabled二.t s
40、kip +1if eof ()go bottomthis enabled二 fthisform command! enabled二.f.endifthisform refreshthisform grid1 setfocusCommand! Refreshif reccountO 二0this enabled二.fendifCommand! Clickthisform command1 enabled二.tthisform command? enabled二.tgo bottomthisform refreshthis enabled二.fthisform command3 enabled二.
41、ft hisform grid 1 set focusCommands Clickdel二messagebox(清空此學(xué)生表中所有數(shù)據(jù)嗎? ”, 32+4,修改記錄)if del=6 thenuse in學(xué)生表use data、學(xué)生表 exclzapuse data、學(xué)生表 shareendifCommand6 ClickThisform closable二.Fdel二messagebox (添加學(xué)生嗎? ”, 32+4,添加記錄)if del二6xingm=allt(thisform textl value)xingb二thisform combol valuenianj=thisform
42、combo2 valuebanc=alIt(thisform text3 value)if not empty (xingm) and not empty(xingb) and not empty(nianj) then calc max (學(xué)號(hào))to xiaohappe blankrepl 姓名 with xingmrepl 性別 with xingbrepl 年級(jí) with nianjrepl 班次 with bancrepl 學(xué)號(hào) with allt (str (val (xiaoh)+1)elsemessagebox (z,任何一項(xiàng)不能為空! , 0,添加記錄)t hisform te
43、x tl set focusreturnendifthisform grid 1 recordsource二thisform grid 1 recordsource二學(xué)生表thisform refreshendift hisform grid 1 set focusCommand9 Clickdel二messagebox(刪除當(dāng)前記錄嗎? ,32+4, 刪除記錄)if del二6nrec=recn()thisform grid 1 recordsource二use in學(xué)生表use data學(xué)生表 exclthisform textl value二recn()go nrecdeletepack
44、if nrecrecn()go nreclelsego nrecendifthisform refreshthisform grid 1 recordsource二學(xué)生表thisform grid 1 recordsourcetype=lt hisform grid 1 set focusendifCommand9 Refreshif reccount()二0this enabled= fendifCommand7. Refreshif reccount()二0this enabled= fendifCommand7. ClickThisform closable二.Fdel二messageb
45、ox (修改此學(xué)生信息嗎? “,32+4,修改記錄)if del二6xingm=allt(thisform textl value)xingb二thisform combol valuenianj=thisform combo2 valuebanc=alIt(thisform text3 value)xiaoh=allt(thisform text2 value)if not empty(xingm) and not empty(xingb) and not empty(nianj) then repl 姓名 with xingm repl 性別 with xingb repl 年級(jí) with
46、 nianjrepl 班次 with bancrepl 學(xué)號(hào) with allt (str (val (xiaoh)+l)elsemessagebox (,z任何一項(xiàng)不能為空! “, 0,修改記錄)t hisform tex tl set focusreturnendifthisform refreshendift hisform grid 1 set focusThisform refreshCombol Initthis value二thislist (1)Combo2 Clickthisform text2 value二this valueCombo2Initthis value二thi
47、slist (1)Textl GotFocusthisform. textl. value=姓名thisform combol value二fl:另ljthisform combo2 value二彳彳二級(jí)thisform text3 valuw二班次thisform text2 valu己二學(xué) 4*Textl Clickthisform. textl. value=姓名thisform combol value二fl:另ljthisform combo2 value二彳彳二級(jí)thisform text3 valuw二班次thisform text2 valu己二學(xué) 4*Textl GotFoc
48、usthisform. textl. value=姓名thisform combol value二fl:另ljthisform combo2 value二彳彳二級(jí)thisform text3 valuw二班次thisform text2 valu己二學(xué) 4*Command 10 Clickdel二messagebox(此操作將更新原來所有的學(xué)號(hào)? “, 32+4, 批量添加學(xué)號(hào))if not del=6returnendifxiaoh=allt(thisform text4 value)numt二.tif len(xiaoh)8 thenmessagebox(z,現(xiàn)在學(xué)號(hào)的長度為(str (l
49、en(xiaoh) +z,位長度必須為8位,0)return endifif subs (xiaoh, 1, 1)二0messagebox(z,學(xué)號(hào)第一位不能為0, 0):returnendiffor i=l to len(xiaoh)if not ISDIGIT(subs(xiaoh, i, 1)numt=fexitendifendforif not numt thenmessagebox(學(xué)號(hào)必須為數(shù)字!, 0):returnendifrepl all 學(xué)號(hào) with allt (str (val (xiaoh) +recn 01)Text4Initthis. value=alIt(str
50、(year(date()+0001Commands Clickrelease thisform4、成績輸入。該模塊的主要功能是負(fù)貴錄入學(xué)生的成績,并且可以選擇要輸入成績的科目。 其程序代碼如下:Form1. Initthis autocenter二.tCommand1 Clickmypath=sys(5)+sys (2003)zaigrid二.fif empty (thisform. listl value)messagebox (z,請選擇成績表、0, thisform listl value)returnendifsjk=mypath+data+thisform. listl valueu
51、se &sjkthisform releasedo form shurulshuru1. showCommand2 Clickthisform releaseListlInitclose data allif used(考試庫)then處.入use in考試庫endifuse data、考試庫.dbffor i=l to recc 0go ithis, add item (名稱) endforthis value二thislist(1) use in考試庫Form1. Initthisform cont setall (value,1) thisform width=750 this auto
52、center二.this showwindow二2Command1 Clickmypath=sys(5)+sys (2003) zaigrid二.f*close data all*sele bFOR EACH oProj IN thisform. objects if upper(oProj Name)=upper(gridl) then thisform removeobject (gridl) endifENDFORthisform addobject(gridl, grid) thisform grid 1 visible二.f with thisform gridl* recordso
53、urce=JUSTFNAME(sjk)*RecordSourceType=2top二100.left=10width二thisform width一40 height = 250* columnl enabled二.fcheck二FOR 1=1 TO THISFORM. cont. ControlCount if THISFORM. cont. Controls (i) value=l check=check+,z “+THISFORM cont. Controls (i) caption endif endfor for i=l to ColumnCount if columns(i) he
54、aderl captionScheck總分、排名。其程序代碼如下:columns(i) enabled二.t elsecolumns (i) enabled二.f. endif endforendwiththisform grid1 visible= tthisform grid1 setfocusthisform refreshthisform command3 enabled二.tthisform command4 enabled二.tCommand2 Clickusethisform releaseCommand3 Clickdaan二messagebox (此操作將要清空已輸入成績中的
55、所有數(shù)據(jù)! “, 32+4,清空數(shù)據(jù))if daan=7 thenreturnendifcheck二語文數(shù)學(xué)英語物理化學(xué)生物 地理政治歷史for i=l to fcountOif fiel(i)$check thenkemu=fiel (i)repl all &kemu with 0endifendforCommand! Clickdaan二messagebox(此操作將要清空已輸入成績中的所有數(shù)據(jù),并產(chǎn)生測試數(shù)據(jù)! ,32+4, 測試)if daan=7 thenreturnendif check/語文數(shù)學(xué)英語物理化學(xué)生物地理政治歷史 for i=l to fcountOif fiel(i)
56、$check thenkemu=fiel (i)repl all &kemu with rand0*100endif endfor5、成績管理。該模塊的主要功能是對學(xué)生成績的核算,Command1 ClickCLOSE data allmypath=sys(5)+sys (2003)sjk=mypath+data+thisformlistl valueIF file(sjk)IF DATE O-FDATE(sjk) =0tianshu=allt(str(date()FDATE(sjk)Message二此表修改的口期離今天有+tianshu+天MESSAGEBOX(message, 0)daan
57、二 MESSAGEBOX(數(shù)據(jù)庫表正確嗎(y/n) , 4+32, hao)ELSEdaan二6ENDIF*ENDIFIF daan=6ELSEMESSAGEBOX0,數(shù)據(jù)庫表不對,請重新打開)returnCLOSE all dataENDIFELSEMESSAGEBOX(-, 0,數(shù)據(jù)庫表不存在,請打開數(shù)據(jù)庫!):returnENDIFSET excl on* close data allSET safe offSET talk offUSE &sjk &卞面這段程序排班名zonghe=for i=l to fcount0if fiel(i)$語文數(shù)學(xué)英語物理化學(xué)生物地理歷史政治 zongh
58、e=zonghe+,+,/+f i e 1 (i)endifendforif empty(zonghe)messagebox(z,沒有找到單科成績字段,請重新打開數(shù)據(jù)庫! , 0, 成績管理):returnelsezonghe=allt(zonghe)zonghe=subs (zonghe, 2)endifwait zongheREPL all 總分 with &zongheUSE &sjk&下面這段程序排班名SORT on 班次,總分/d to abcdexyz_. dbfUSE abcdexyz_ dbfCOPY to &sjkUSE &sjkrepl all 班名 with 0ERAS
59、abcdexyz_ dbfGO 1q sb二班次do while tN=1DO while t.REPL 班名 with nskipN=n+1IF 班次qsbqsb二班次EXITENDIFENDDOIF eof()EXITENDIFenddo&結(jié)束排班名&下面排校名USE &sjkSORT on 總分/d to abcdexyz_. dbfUSE abcdexyz_ dbfREPL all 校名 with recnOSORT on 班次,校名 to &sjkUSE &sjk&結(jié)束排校名*wait 名次己排好! timeout 0. 5 messagebox (總分及名次已排好! “) use
60、&sjk share thisform release *set defa to c:ListlInitclose data allif used(考試庫)thenuse in考試庫endifuse data、考試庫.dbffor i=l to recc 0go ithis, add item (名稱)endforthis value二thislist(1)use in考試庫Command2 Clickthisform release6、成績查詢。該模塊的功能是對每個(gè)學(xué)生的學(xué)生成績查詢和對每個(gè)班全部學(xué)生成績的查詢。其代碼如下:Combol Initclose data allif used(考
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年湖北省荊州市單招職業(yè)傾向性測試題庫完美版
- 2025年湖南民族職業(yè)學(xué)院單招職業(yè)技能測試題庫學(xué)生專用
- 2025年衡陽科技職業(yè)學(xué)院單招職業(yè)傾向性測試題庫帶答案
- 2025年湖北輕工職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測試題庫必考題
- 2025年湖南鐵路科技職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫附答案
- 2025年貴州民用航空職業(yè)學(xué)院單招職業(yè)傾向性測試題庫參考答案
- 2025年合肥信息技術(shù)職業(yè)學(xué)院單招職業(yè)技能測試題庫附答案
- 2025年冀中職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫完美版
- 2025年河源職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫1套
- 科技醫(yī)療讓你的肌膚更顯年輕-以皮膚緊致為例
- 環(huán)衛(wèi)應(yīng)急預(yù)案8篇
- 《與顧客溝通的技巧》課件
- DB14-T2980-2024低品位鋁土礦資源綜合利用技術(shù)規(guī)范
- 2024小學(xué)語文新教材培訓(xùn):一年級(jí)語文教材的修訂思路和主要變化
- 上消化道異物的內(nèi)鏡處理
- 健康教育學(xué)全套課件完整版
- 2024年遼寧省中考語文真題含解析
- 農(nóng)產(chǎn)品食品檢驗(yàn)員二級(jí)技師技能理論考試題含答案
- 《財(cái)政學(xué)》財(cái)政及經(jīng)管類專業(yè)全套教學(xué)課件
- 質(zhì)量管理體系相關(guān)標(biāo)準(zhǔn)知識(shí)講解(一)-質(zhì)量管理-組織的質(zhì)量-實(shí)現(xiàn)持續(xù)成功指南-答案
- 《事業(yè)單位工作人員年度考核登記表》
評(píng)論
0/150
提交評(píng)論