學(xué)生成績(jī)管理系統(tǒng)(VFP)_第1頁(yè)
學(xué)生成績(jī)管理系統(tǒng)(VFP)_第2頁(yè)
學(xué)生成績(jī)管理系統(tǒng)(VFP)_第3頁(yè)
學(xué)生成績(jī)管理系統(tǒng)(VFP)_第4頁(yè)
學(xué)生成績(jī)管理系統(tǒng)(VFP)_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、摘 要:學(xué)生成績(jī)管理系統(tǒng)是典型的信息管理系統(tǒng)(mis),其開(kāi)發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端應(yīng)用程序的開(kāi)發(fā)兩個(gè)方面。對(duì)于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫(kù)。而對(duì)于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。本文簡(jiǎn)要介紹了本學(xué)校學(xué)生成績(jī)管理的情況和系統(tǒng)的實(shí)現(xiàn)過(guò)程,闡述了課題來(lái)源,系統(tǒng)及需求分析,系統(tǒng)規(guī)劃,設(shè)計(jì)及實(shí)現(xiàn)情況。關(guān)鍵字:控件、窗體、域。abstract:students achievement administrative system is a typical information management system(know as mis), its dev

2、elopment include backstage supporter the foundation and maintain and front the twoes respects of development of application 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 complete,

3、 easy to use characteristic of waiting for function the latter. this text has recommended a situation of students achievement management of institute and systematic realization course briefly, having explained the subject source, the system and demand analyse, the system is planned, design and reali

4、ze the situation.key word: accuse of one, window body, land.目 錄摘 要 2一 前言 3二 課題來(lái)源 4三 系統(tǒng)及需求分析 4(一)、系統(tǒng)需求 4(二)、可行性分析 4(三)、vfp5.0以上的中文版概述 5四 系統(tǒng)規(guī)劃 6 (一)、項(xiàng)目規(guī)劃 6(二)、功能框圖 7(三)、規(guī)劃數(shù)據(jù)庫(kù) 7五 系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn) 9(一)、數(shù)據(jù)分析與項(xiàng)目的建立 9(二)、數(shù)據(jù)庫(kù)設(shè)計(jì) 9(三)、模塊設(shè)計(jì) 10(四)、系統(tǒng)性能測(cè)試 31六 結(jié)束語(yǔ) 31參考文獻(xiàn) 32附 錄33一 前 言visual foxpro(簡(jiǎn)稱vfp)是windows平臺(tái)下的新一代數(shù)據(jù)庫(kù)管

5、理系統(tǒng),它具有優(yōu)美的圖形用戶界面(gui)、面向?qū)ο蟮拈_(kāi)發(fā)方式、客戶/服務(wù)品的數(shù)據(jù)連接以及通過(guò)ole的數(shù)據(jù)訪問(wèn)工具等特點(diǎn)。最新推出了vfp6.0 、vfp7.0,它在 vfp5.0的基礎(chǔ)上更加重了項(xiàng)目管理器、向?qū)А⑸善?、查詢與視圖、ole連接、active x集成、幫助系統(tǒng)制作、數(shù)據(jù)導(dǎo)入和導(dǎo)出等方面的功能?!皩W(xué)生成績(jī)管理系統(tǒng)”就是在這樣一個(gè)優(yōu)秀的數(shù)據(jù)庫(kù)管理系統(tǒng)下開(kāi)發(fā)而成的,可以在vfp5.0以上的版本上運(yùn)行,也可以生成自身的.exe文件運(yùn)行。本系統(tǒng)的特點(diǎn)是:易用性、先進(jìn)性和廣泛性強(qiáng),可用性和實(shí)用性高,良好的用戶界面,幾乎沒(méi)有專業(yè)和業(yè)余的區(qū)別,普通用戶只要懂得使用windows操作系統(tǒng)及vfp

6、數(shù)據(jù)庫(kù)管理就能使用該系統(tǒng)。本書以怎樣建立學(xué)生成績(jī)管理系統(tǒng)為主線,全面而系統(tǒng)地介紹了系統(tǒng)的各種功能模塊的建立和操作方法。全書分為六章,全面系統(tǒng)地介紹了在vfp數(shù)據(jù)庫(kù)管理系統(tǒng)中建立學(xué)生成績(jī)管理的項(xiàng)目管理器及其使用,數(shù)據(jù)表與數(shù)據(jù)庫(kù)的建立,查詢與視圖,表單設(shè)計(jì),報(bào)表,工作環(huán)境的設(shè)置方法與步驟等內(nèi)容?!皩W(xué)生成績(jī)管理系統(tǒng)”是目前學(xué)校應(yīng)該普遍需要使用的學(xué)生管理系統(tǒng)之一,鑒于這種情況,提出問(wèn)題、分析問(wèn)題,也是我這次畢業(yè)論文設(shè)計(jì)的基本目的。二 課題來(lái)源計(jì)算機(jī)已經(jīng)成為我們學(xué)習(xí)和工作的得力助手,今天,計(jì)算機(jī)的價(jià)格已經(jīng)十分低廉,性能卻有了長(zhǎng)足的進(jìn)步。它已經(jīng)被應(yīng)用于許多領(lǐng)域,計(jì)算機(jī)之所以如此流行的原因主要有以下幾個(gè)方面

7、:首先,計(jì)算機(jī)可以代替人工進(jìn)行許多繁雜的勞動(dòng);其次,計(jì)算機(jī)可以節(jié)省許多資源;第三,計(jì)算機(jī)可以大大的提高人們的工作效率;第四,計(jì)算機(jī)可以使敏感文檔更加安全,等等。 由于我校每個(gè)學(xué)期都要進(jìn)行期終考試,每期的考試成績(jī)又要進(jìn)行登記入冊(cè),原來(lái)學(xué)校是由教務(wù)處的一位老師專門管理這件事,主要是進(jìn)行手寫登記,費(fèi)時(shí)又費(fèi)心,而且有時(shí)還出現(xiàn)很多錯(cuò)誤登記?,F(xiàn)在我校學(xué)生成績(jī)管理水平還停留在紙介質(zhì)的基礎(chǔ)上,這樣的機(jī)制已經(jīng)不能適應(yīng)時(shí)代的發(fā)展,因?yàn)樗速M(fèi)了許多人力和物力,在信息時(shí)代這種傳統(tǒng)的管理方法必然被計(jì)算機(jī)為基礎(chǔ)的信息管理所取代。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)學(xué)生成績(jī)進(jìn)行管理,具有著手工管理所無(wú)法比擬的優(yōu)點(diǎn)。例如:不

8、易出錯(cuò)、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高學(xué)生成績(jī)管理的效率,也是學(xué)校的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。 因此,開(kāi)發(fā)這樣一套管理軟件成為很有必要的事情。三 系統(tǒng)及需求分析 (一)、系統(tǒng)需求盡量采用學(xué)校現(xiàn)有軟硬件環(huán)境,及先進(jìn)的管理系統(tǒng)開(kāi)發(fā)方案,從而達(dá)到充分利用學(xué)?,F(xiàn)有資源,提高系統(tǒng)開(kāi)發(fā)水平和應(yīng)用效果的目的。系統(tǒng)應(yīng)符合學(xué)校學(xué)生成績(jī)管理的規(guī)定,滿足對(duì)學(xué)校學(xué)生成績(jī)管理的需要,并達(dá)到操作過(guò)程中的直觀、方便、實(shí)用、安全等要求。系統(tǒng)采用模塊化程序設(shè)計(jì)方法,既便于系統(tǒng)功能的各種組合和修改,又便于未參與開(kāi)發(fā)的技術(shù)維護(hù)人員補(bǔ)充、維護(hù)。系統(tǒng)應(yīng)具備數(shù)據(jù)庫(kù)維護(hù)功能

9、,及時(shí)根據(jù)用戶需求進(jìn)行數(shù)據(jù)的添加、刪除、修改、備份等操作。通過(guò)調(diào)查,要求系統(tǒng)需要有以下功能:1、由于操作人員的計(jì)算機(jī)知識(shí)普遍較差,要求有良好的人機(jī)界面,可以存儲(chǔ)歷屆的學(xué)生成績(jī),安全、高效;2、原始數(shù)據(jù)修改簡(jiǎn)單方便;3、數(shù)據(jù)查詢方便;4、刪除數(shù)據(jù)方便簡(jiǎn)單,數(shù)據(jù)穩(wěn)定性好;5、數(shù)據(jù)計(jì)算自動(dòng)完成,盡量減少人工干預(yù);6、強(qiáng)大的報(bào)表打印功能;7、退出系統(tǒng)。 (二)、可行性分析 由于本系統(tǒng)管理的對(duì)象單一,且每個(gè)班級(jí)的學(xué)生數(shù)據(jù)內(nèi)容基本是一致的,涉及的計(jì)算中心過(guò)程不是很復(fù)雜。因此,比較適合于采用數(shù)據(jù)庫(kù)管理。在存儲(chǔ)量、速度方面都能滿足數(shù)據(jù)庫(kù)運(yùn)行的要求。在技術(shù)難度方面,由于有指導(dǎo)老師和相關(guān)參考文獻(xiàn),特別是網(wǎng)上資料,

10、以及學(xué)校給我提供的各種數(shù)據(jù)要求,完全可以實(shí)現(xiàn)。vfp5.0以上的中文版作為一個(gè)關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng),它提供了面向?qū)ο蟮木幊碳夹g(shù),可簡(jiǎn)化數(shù)據(jù)庫(kù)管理,使開(kāi)發(fā)應(yīng)用程序這項(xiàng)艱辛的工作就象堆積木那樣簡(jiǎn)單方便。另外,用vfp5.0以上的中文版開(kāi)發(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ù)庫(kù)系統(tǒng),充分發(fā)揮了32位微處理器強(qiáng)大的32位數(shù)據(jù)處理性能。它功能強(qiáng)大,直觀易用,支持客戶/服務(wù)器結(jié)構(gòu)和面向?qū)ο缶幊?,提供多種可視化編程工具,支持最新internet技術(shù),ww

11、w數(shù)據(jù)庫(kù)的設(shè)計(jì),最新流行的activex等。vfp5.0以上的中文版完全支持oop(面向?qū)ο螅┑膽?yīng)用程序設(shè)計(jì)方法,vfp使用了真正的類,包括繼承性,封裝性和多態(tài)性。用可視方式創(chuàng)建類、查看類及類代碼;利用表單向?qū)нM(jìn)行專業(yè)級(jí)界面設(shè)計(jì);對(duì)表關(guān)系進(jìn)行可視化查看;可利用ole自動(dòng)化來(lái)包含其他軟件(如excel、word)中的對(duì)象并使用這些軟件。通過(guò)visualfoxpro對(duì)象和事件模型,用戶可以快速創(chuàng)建和實(shí)現(xiàn)無(wú)模式(modeless)的應(yīng)用程序;利用生成器和工具欄,開(kāi)發(fā)人員可以快速開(kāi)發(fā)應(yīng)用程序,而省去編寫大量的代碼、定義繁多的屬性??傊瑅fp5.0以上的中文版是一種適用于專業(yè)人員的開(kāi)發(fā)工具。2、數(shù)據(jù)庫(kù)

12、概念的發(fā)展在foxpro2.x中一個(gè)表就是數(shù)據(jù)庫(kù),實(shí)際上是真正的數(shù)據(jù)庫(kù)中表的概念。在visual foxpro中,數(shù)據(jù)庫(kù)指的是可以存儲(chǔ)一個(gè)或者多個(gè)表(.dbf)及視圖的關(guān)系數(shù)據(jù)庫(kù),這才是真正的關(guān)系型數(shù)據(jù)庫(kù)的概念。對(duì)于一個(gè)大型的信息管理系統(tǒng),它很可能需要對(duì)不同的用戶各自創(chuàng)建一個(gè)大型的文件系統(tǒng),它包括許多表,而屬于一個(gè)用戶的一套表與屬于另一個(gè)用戶的一套表實(shí)際上是相同的,只是名稱有所不同,而在foxpro2.x中,需要建立大量的代碼來(lái)區(qū)別和維護(hù)屬于不同用戶的一套表,這套表的數(shù)量可能是非常龐大的,維護(hù)編碼也是非常龐大的。然而visualfoxpor中引入的真正的數(shù)據(jù)庫(kù)的概念,使這一問(wèn)題的解決變得非常的

13、容易,設(shè)計(jì)人員只要為不同的用戶創(chuàng)建不同的數(shù)據(jù)庫(kù),然后在這些數(shù)據(jù)庫(kù)下建立用戶自己的表就可以很容易對(duì)每個(gè)用戶進(jìn)行區(qū)別和維護(hù)了。而且,這樣的數(shù)據(jù)庫(kù)的關(guān)系能力更加強(qiáng)大,更加穩(wěn)定可靠。3、其他新特性visualfoxpor5.0的面向?qū)ο缶幊?,一個(gè)很重要的部分是通過(guò)使用類體現(xiàn)出來(lái)的,類具有對(duì)象的繼承、封裝的特性和一切使用對(duì)象編程的優(yōu)點(diǎn)。可以大大簡(jiǎn)化編程,在本系統(tǒng)的設(shè)計(jì)中就充分利用了這種優(yōu)點(diǎn)(如:自動(dòng)轉(zhuǎn)換中英文輸入法的gstextbox的自定義,visualfoxpor5.0自帶的可視類庫(kù)wiastyle.vcx中的searchclass類等等),可以按照需要給自己的數(shù)據(jù)庫(kù)定制相應(yīng)的菜單樣和工具欄。重新設(shè)

14、計(jì)了項(xiàng)目管理器(projectmanager),其最簡(jiǎn)單的用途是作為一種組織工具,保存屬于特定應(yīng)用程序所有文件的列表,而且根據(jù)文件類型將這些文件進(jìn)行劃分。它所提供的多頁(yè)框界面,使對(duì)項(xiàng)目文件的添加、建立和編程更加容易。1998年最新推出了vfp6.0中文版,它在vfp5.0的基礎(chǔ)上更加重了項(xiàng)目的管理器、向?qū)?、生成器、查詢與視圖、ole連接、active x集成、幫助系統(tǒng)制作、數(shù)據(jù)導(dǎo)入和導(dǎo)出等方面的功能??梢耘coffice軟件集成。四 系統(tǒng)規(guī)劃 (一)、項(xiàng)目規(guī)劃 學(xué)生成績(jī)管理系統(tǒng)是一個(gè)典型的數(shù)據(jù)庫(kù)應(yīng)用程序,由用戶設(shè)置模塊、數(shù)據(jù)處理模塊、成績(jī)輸入模塊、成績(jī)管理模塊、成績(jī)查詢模塊、報(bào)表打印模塊等部分組

15、成,特規(guī)劃功能模塊如下: 1、用戶設(shè)置模塊 該模塊主要包括添加用戶、修改密碼和刪除用戶。 2、數(shù)據(jù)處理模塊 該模塊的主要功能是建立登分冊(cè)和負(fù)責(zé)錄入學(xué)生數(shù)據(jù)。 (1)建立登分冊(cè):是指建立考試的名稱。(2)學(xué)生管理:主要負(fù)責(zé)錄入學(xué)生的信息,如錄入學(xué)生的學(xué)號(hào)、年級(jí)、班次、姓名和性別。由于數(shù)據(jù)量大,所以該模塊的設(shè)計(jì)也發(fā)點(diǎn)應(yīng)從方便用戶操作的角度出發(fā),如采用中英文自動(dòng)切換。3、成績(jī)輸入模塊該模塊的主要功能是負(fù)責(zé)錄入學(xué)生的成績(jī),并且可以選擇要輸入成績(jī)的科目。4、成績(jī)管理該模塊的主要功能是對(duì)學(xué)生成績(jī)自動(dòng)核算,總分、排名。5、成績(jī)查詢模塊查詢模塊是一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)中所必須的模塊。方便學(xué)校對(duì)每個(gè)學(xué)生的學(xué)生成績(jī)查詢和

16、對(duì)每個(gè)班全部學(xué)生成績(jī)的查詢。6、報(bào)表打印模塊該模塊包括打印成績(jī)和打印設(shè)置兩個(gè)子菜單。(1)打印成績(jī)模塊:打印學(xué)生平時(shí)及畢業(yè)要打印他們的數(shù)據(jù),于是設(shè)置了打印學(xué)生個(gè)人成績(jī),打印班級(jí)學(xué)生成績(jī)和打印班級(jí)平均分的報(bào)表,以便學(xué)生對(duì)平時(shí)成績(jī)的查詢及畢業(yè)入檔時(shí)學(xué)生成績(jī)打印入冊(cè)的原始憑證。(2)頁(yè)面設(shè)置模塊:是對(duì)打印頁(yè)面進(jìn)行設(shè)置,如果沒(méi)有安裝打印機(jī),將會(huì)提示安裝打印機(jī),此時(shí)應(yīng)該點(diǎn)“否”并選“忽略”,否則系統(tǒng)將會(huì)產(chǎn)生錯(cuò)誤。7、退出功能模塊退出功能模塊用于結(jié)束所有操作,退出學(xué)生成績(jī)管理系統(tǒng)。根據(jù)以上分析,本系統(tǒng)將建立以下功能模塊。學(xué)生成績(jī)管理系統(tǒng)主界面用戶設(shè)置添加用戶修改密碼刪除用戶數(shù)據(jù)處理建立登分冊(cè)學(xué)生管理成績(jī)輸

17、入成績(jī)管理成績(jī)查詢打印報(bào)表學(xué)生成績(jī)管理系統(tǒng)主界面打印成績(jī)頁(yè)面設(shè)置退出(二)、功能框圖根據(jù)系統(tǒng)功能要求,可以將系統(tǒng)分解成幾個(gè)功能模塊來(lái)分別設(shè)計(jì),功能模塊如下圖:數(shù)據(jù)處理退 出報(bào)表打印成績(jī)查詢成績(jī)管理成績(jī)輸入用戶設(shè)置頁(yè)面設(shè)置打印成績(jī)學(xué)生管理建立登分冊(cè)刪除用戶修改密碼添加用戶(三)、規(guī)劃數(shù)據(jù)庫(kù)1、分析數(shù)據(jù)需求數(shù)據(jù)庫(kù)是管理系統(tǒng)的基礎(chǔ),只有建立了反映實(shí)際情況的數(shù)據(jù)庫(kù),才可能提供各種有價(jià)值的信息,為決策作出依據(jù)。在學(xué)生成績(jī)管理系統(tǒng)中建立的數(shù)據(jù)庫(kù)為:成績(jī)庫(kù)2、確定數(shù)據(jù)庫(kù)由于vfp5.0的以上版本的數(shù)據(jù)庫(kù)管理比較完善,在設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí),不同主題的信息應(yīng)存儲(chǔ)在不同的表中,并遵循下列規(guī)則:(1)同一信息只保存一次;

18、(2)防止刪除有用信息;只有在同一信息只保存一次的前提下,才能減少數(shù)據(jù)冗余性和出錯(cuò)的可能性,而是為了防止刪除有用的信息,最好的解決方法仍然是把不同主題的信息放在不同的表中。根據(jù)以上分析,學(xué)生成績(jī)管理數(shù)據(jù)庫(kù)中建立了以下幾個(gè)表:學(xué)生表、考試庫(kù)、課程表、用戶。(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)班次姓名性別20041928高一12912321譚仲杰男20041086高一10207321文淑華女20041553高一12607321王俊敏女(2)考試庫(kù)考試庫(kù)的結(jié)

19、構(gòu)。字段名類型寬度小數(shù)名稱字符型50時(shí)間字符型8考試庫(kù)的記錄。假設(shè)在考試庫(kù)中輸入2條記錄,則為:名稱時(shí)間2004年高一期末成績(jī)200501122004年高二期末成績(jī)20050112(3)課程表課程表的結(jié)構(gòu)。字段名類型寬度小數(shù)科目字符型20最高分?jǐn)?shù)值型3課程表的記錄。假設(shè)在課程表中輸入3條記錄,則為:科目最高分語(yǔ)文115數(shù)學(xué)98歷史96(4)用戶用戶的結(jié)構(gòu)。字段名類型寬度小數(shù)用戶名字符型16密碼字符型16用戶的記錄。假設(shè)在用戶中輸入2條記錄,則為:用戶名密碼admin1yxl123456五 系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn) (一)、數(shù)據(jù)分析與項(xiàng)目的建立1、數(shù)據(jù)分析主要是分析各種數(shù)據(jù)的用途及相互之間的關(guān)聯(lián),分析數(shù)據(jù)

20、的類型、數(shù)量發(fā)生頻度和使用頻度,并具體弄清楚每個(gè)數(shù)據(jù)所需的范圍和位數(shù)及來(lái)源的時(shí)間性,為數(shù)據(jù)庫(kù)、文件設(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)用程序的集成開(kāi)發(fā)環(huán)境,它幫助我們?cè)O(shè)計(jì)、修改、運(yùn)行一些應(yīng)用程序級(jí)件。為了開(kāi)發(fā)“學(xué)生成績(jī)管理系統(tǒng)”,首先就要啟動(dòng)項(xiàng)目管理器,創(chuàng)建一個(gè)新項(xiàng)目。啟動(dòng)項(xiàng)目管理器,創(chuàng)建新項(xiàng)目學(xué)生成績(jī)管理系統(tǒng)的操作步驟

21、是:第1步:?jiǎn)?dòng)microsoft visual foxpro6.0,進(jìn)入 “microsoft visual foxpro”開(kāi)發(fā)環(huán)境。第2步:?jiǎn)螕簟拔募?,單擊“新建”,彈出“新建”窗口。?步:選中“項(xiàng)目”,單擊“新建文件”按鈕,彈出“創(chuàng)建”窗口。第4步:把所有要開(kāi)發(fā)的“學(xué)生成績(jī)管理系統(tǒng)”項(xiàng)目保存在一個(gè)文件中,本系統(tǒng)保存在e:學(xué)生成績(jī)管理系統(tǒng)目錄下,在“項(xiàng)目文件”里輸入“學(xué)生成績(jī)管理系統(tǒng)”,作為該項(xiàng)目的文件名。在“存為類型”中選取“項(xiàng)目”,單擊“保存”按鈕,彈出“項(xiàng)目管理器”窗口。 (二)、數(shù)據(jù)庫(kù)設(shè)計(jì)1、怎樣建立“學(xué)生成績(jī)管理系統(tǒng)”中的數(shù)據(jù)庫(kù)?在visual foxpro6.0中,數(shù)據(jù)庫(kù)由

22、表、視圖以及它們之間的關(guān)系集合而成。創(chuàng)建一個(gè)新數(shù)據(jù)庫(kù)的操作步驟如下:第1步:在項(xiàng)目管理器窗口中,選中“數(shù)據(jù)”選項(xiàng)卡,單擊選中“數(shù)據(jù)庫(kù)”圖標(biāo)。第2步:?jiǎn)螕簟靶陆ā卑粹o,再單擊“新建數(shù)據(jù)庫(kù)”,彈出“創(chuàng)建”窗口,在“數(shù)據(jù)庫(kù)名”框中輸入“成績(jī)庫(kù)”,作為學(xué)生成績(jī)管理的數(shù)據(jù)庫(kù)文件名,在“存為類型”欄中,選中“數(shù)據(jù)庫(kù)”,并將該文件保存在e:學(xué)生成績(jī)管理系統(tǒng)data中。第3步:?jiǎn)螕簟氨4妗卑粹o,彈出“數(shù)據(jù)庫(kù)設(shè)計(jì)器成績(jī)庫(kù)”窗口,顯示出了一空的數(shù)據(jù)庫(kù)設(shè)計(jì)窗口,并且“數(shù)據(jù)庫(kù)設(shè)計(jì)器”變?yōu)橛行?。至此,我們?chuàng)建了一個(gè)空的學(xué)生成績(jī)管理數(shù)據(jù)庫(kù)。2、怎樣創(chuàng)建數(shù)據(jù)庫(kù)中的表?下面我們?cè)诔煽?jī)庫(kù)中創(chuàng)建學(xué)生表、考試庫(kù)、課程表、用戶。(1

23、)建立學(xué)生表建立學(xué)生表的操作步驟如下:第1步:在“數(shù)據(jù)庫(kù)設(shè)計(jì)器”窗口的工作表中,單擊鼠標(biāo)右鍵,弱出一個(gè)“命令”菜單。第2步:?jiǎn)螕簟靶陆ū怼?,彈出“新建表”窗口。?步:?jiǎn)螕簟靶陆ū怼卑粹o,彈出“創(chuàng)建”窗口,在“保存在”框中,選中“data”文件夾,在“輸入表中”中輸入“學(xué)生表”,在“存為類型”框中,選中“表/dbf”。第4步:?jiǎn)螕簟氨4妗卑粹o,彈出“表設(shè)計(jì)器學(xué)生表.dbf”窗口,在“字段”選項(xiàng)卡中,輸入學(xué)生表每個(gè)字段的字段名、類型、寬度、小數(shù)位數(shù),完成表的結(jié)構(gòu)。第6步:?jiǎn)螕簟胺瘛卑粹o,返回到“數(shù)據(jù)庫(kù)設(shè)計(jì)器成績(jī)庫(kù)”窗口。至此,在“數(shù)據(jù)庫(kù)設(shè)計(jì)器成績(jī)庫(kù)”窗口中,可以看到創(chuàng)建了一個(gè)“學(xué)生表”。(2)建

24、立考試庫(kù)、用戶、課程表的操作方法跟建立學(xué)生表的操作方法相同。 (三)、模塊設(shè)計(jì)1、用戶登錄窗口功能模塊如果沒(méi)有進(jìn)行特殊設(shè)置,每次進(jìn)入系統(tǒng)都將顯示登錄界面(如右圖),它對(duì)操作員進(jìn)行口令驗(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è)子模塊,即添加用戶、修改密碼、刪除用戶。(1)添加用戶功能模塊。其程序代碼如下:command1.clickuse 用戶 excl

25、public u1,pw1u1=allt(thisform.text1.value)pw1=allt(thisform.text2.value)if empty(thisform.text1.value) messagebox (用戶名不能為空!,48+0,添加新用戶) thisform.text1.setfocus else locate for allt(用戶名)=u1 if found() messagebox(用戶名已經(jīng)存在,請(qǐng)輸入其他用戶名!,48+0,添加新用戶) thisform.text1.setfocus else if thisform.text2.value=thisfo

26、rm.text3.value tempstr= for i=1 to len(trim(pw1) tempchr=bitxor(asc(subs(pw1,i,1),123) tempstr=tempstr+chr(tempchr) endfor dimension b(1,2) b1,1=u1 b1,2=tempstr append from array b messagebox(成功添加新用戶!,64+0,添加新用戶) release thisform else messagebox(請(qǐng)輸入相同密碼!, 48+0,添加新用戶) thisform.text3.setfocus endif en

27、difendifcommand2.clickrelease thisformtext3.keypresslparameters nkeycode, nshiftaltctrlif nkeycode=13&enter mand1.clickendif(2)修改密碼功能模塊。其程序代碼如下:combo1.interactivechangethisform.refreshtext1.keypresslparameters nkeycode, nshiftaltctrlif nkeycode=13 mand1.clickendifcommand1.cli

28、ckpublic uu=allt(bo1.value)tempstr=for i=1 to len(allt(trim(thisform.text1.value)tempchr=bitxor(asc(subs(thisform.text1.value,i,1),123)tempstr=tempstr+chr(tempchr)endfor locate for allt(用戶名)=allt(bo1.value) and allt(密碼)=tempstrif found()do form changepw2elsemessagebox(密碼有誤,請(qǐng)重

29、新輸入!,48+0,修改密碼)thisform.text1.setfocusendifcommand2.clickrelease thisformform1.init*main.ole1.simpletext=this.captionuse 用戶 excltext2.keypresslparameters nkeycode, nshiftaltctrlif nkeycode=13&enter mand1.clickendifcommand1.clickuse 用戶 exclpublic pwpw=allt(thisform.text1.value)if pw=allt(

30、thisform.text2.value)tempstr=for i=1 to len(trim(pw)tempchr=bitxor(asc(subs(pw,i,1),123)tempstr=tempstr+chr(tempchr)endforloca for allt(用戶名)=allt(u)if found() thenrepl 密碼 with tempstrrelease thisformmessagebox (密碼修改成功!,64+0,修改密碼)endifelsemessagebox (密碼未被確認(rèn),請(qǐng)輸入相同密碼!, 48+0,修改密碼)thisform.text2.setfocus

31、endifcommand2.clickrelease thisformform1.initmain.ole1.simpletext=this.captionform1.unloadmain.ole1.simpletext=修改密碼release pwreturn(3)刪除用戶功能模塊。其程序代碼如下:form1.initmain.ole1.simpletext=this.captioncombo1.interactivechangethisform.refreshcommand1.clickif reccount()recn() go nrec-1 else go nrec endif thi

32、sform.refresh thisform.grid1.recordsource=學(xué)生表 thisform.grid1.recordsourcetype=1 thisform.grid1.setfocusendifcommand9.refreshif reccount()=0 this.enabled=.f.endifcommand7.refreshif reccount()=0 this.enabled=.f.endifcommand7.clickthisform.closable=.f.del=messagebox(修改此學(xué)生信息嗎?,32+4,修改記錄)if del=6xingm=al

33、lt(thisform.text1.value)xingb=bo1.valuenianj=bo2.valuebanc=allt(thisform.text3.value)xiaoh=allt(thisform.text2.value)if not empty(xingm) and not empty(xingb) and not empty(nianj) thenrepl 姓名 with xingmrepl 性別 with xingbrepl 年級(jí) with nianjrepl 班次 with bancrepl 學(xué)號(hào) with allt(str(

34、val(xiaoh)+1)elsemessagebox(任何一項(xiàng)不能為空!,0,修改記錄)thisform.text1.setfocusreturnendifthisform.refreshendifthisform.grid1.setfocusthisform.refreshcombo1.initthis.value=this.list(1)combo2.clickthisform.text2.value=this.valuecombo2.initthis.value=this.list(1)text1.gotfocusthisform.text1.value=姓名b

35、o1.value=性別bo2.value=年級(jí)thisform.text3.value=班次thisform.text2.value=學(xué)號(hào)text1.clickthisform.text1.value=姓名bo1.value=性別bo2.value=年級(jí)thisform.text3.value=班次thisform.text2.value=學(xué)號(hào)text1.gotfocusthisform.text1.value=姓名bo1.value=性別bo2.value=年級(jí)thisfo

36、rm.text3.value=班次thisform.text2.value=學(xué)號(hào)command10.clickdel=messagebox(此操作將更新原來(lái)所有的學(xué)號(hào)?,32+4,批量添加學(xué)號(hào))if not del=6returnendifxiaoh=allt(thisform.text4.value)numt=.t.if len(xiaoh)8 thenmessagebox(現(xiàn)在學(xué)號(hào)的長(zhǎng)度為+allt(str(len(xiaoh)+位長(zhǎng)度必須為8位,0)returnendifif subs(xiaoh,1,1)=0messagebox(學(xué)號(hào)第一位不能為0,0)returnendiffor i

37、=1 to len(xiaoh)if not isdigit(subs(xiaoh,i,1)numt=.f.exitendifendforif not numt thenmessagebox(學(xué)號(hào)必須為數(shù)字!,0)returnendifrepl all 學(xué)號(hào) with allt(str(val(xiaoh)+recn()-1)text4.initthis.value=allt(str(year(date()+0001command8.clickrelease thisform4、成績(jī)輸入。該模塊的主要功能是負(fù)責(zé)錄入學(xué)生的成績(jī),并且可以選擇要輸入成績(jī)的科目。其程序代碼如下:form1.initt

38、his.autocenter=.t.command1.clickmypath=sys(5)+sys(2003)zaigrid=.f.if empty(thisform.list1.value)messagebox(請(qǐng)選擇成績(jī)表!,0,thisform.list1.value)returnendifsjk=mypath+data+thisform.list1.valueuse &sjkthisform.releasedo form shuru1 shuru1.showcommand2.clickthisform.releaselist1.initclose data allif used(考試庫(kù)

39、) thenuse in 考試庫(kù)endifuse data考試庫(kù).dbffor i=1 to recc()go ithis.additem (名稱) endforthis.value=this.list(1)use in 考試庫(kù)form1.initthisform.cont.setall(value,1)thisform.width=750this.autocenter=.t.*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(grid1) then thisform.removeobject(grid1) endifendforthisform.addobject(grid1,grid)thisform.grid1.visible=.f.with thisform.grid1*.recordsource=justfname(sjk)*recordsourcetype=2.top=100.left=10 .width=thisform.width-40.height = 250*.column1.enabled=.f.check=

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論