版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、畢業(yè)設(shè)計(jì)(論文)考試成績(jī)分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)論文作者姓名:申請(qǐng)學(xué)位專業(yè):申請(qǐng)學(xué)位類別:指導(dǎo)教師姓名職稱:論文提交日期:考試成績(jī)分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘 要在不斷信息化的今天,網(wǎng)絡(luò)的出現(xiàn)讓人們能夠更快地獲取更多的信息。各個(gè)領(lǐng)域都引進(jìn)了計(jì)算機(jī)網(wǎng)絡(luò)來為他們提高辦事效率。在學(xué)校的教學(xué)管理中,利用計(jì)算機(jī)網(wǎng)絡(luò)實(shí)現(xiàn)學(xué)生成績(jī)信息的管理、統(tǒng)計(jì)和分析勢(shì)在必行。本系統(tǒng)旨在提高學(xué)校對(duì)學(xué)生考試成績(jī)管理工作的效率,使之成為現(xiàn)代教學(xué)信息化效勞體系的重要組成局部。本系統(tǒng)采用B/S模式開發(fā),以ASP作為主要的開發(fā)技術(shù), SQL Server2000作為后臺(tái)數(shù)據(jù)庫效勞器,采用Dreamweaver MX2004制作頁面。本系統(tǒng)主要
2、實(shí)現(xiàn)了課程設(shè)置、成績(jī)管理、學(xué)生信息管理以及成績(jī)的查詢、統(tǒng)計(jì)和分析等功能。其中在對(duì)成績(jī)統(tǒng)計(jì)和分析局部,通過TeeChart組件,用柱狀圖直觀地展現(xiàn)了統(tǒng)計(jì)分析的結(jié)果。關(guān)鍵詞:成績(jī)管理;統(tǒng)計(jì)分析;ASP;SQL ServerThe Design and Implementation of Examination Result Analysis SystemAbstractNowadays, with the development of network technology people can get information more quickly. In every field, comput
3、er network has been brought in to increase efficiency. It is necessary to take advantage of computer network to implement score management, score statistics and analysis.This system aims at improving the efficiency of student score management, which will be an important part of modern educational in
4、formation services system. This examination result analysis system is based on B/S mode, and takes ASP as program technology, SQL Server2000 as database and Dreamweaver MX2004 as tool of page developing. For the statistics and analysis parts, by adding TeeChart object, it is more visual to display t
5、he statistics results.Key words: management of examination result; statistical and analysis; ASP; SQL Server目 錄 論文總頁數(shù):29頁1引言11.1課題背景11.2國(guó)內(nèi)外研究現(xiàn)狀11.3本課題研究的意義12相關(guān)技術(shù)介紹22.1ASP技術(shù)的簡(jiǎn)介22.2SQL SERVER簡(jiǎn)介22.3Dreamweaver簡(jiǎn)介33系統(tǒng)設(shè)計(jì)43.1系統(tǒng)需求分析43.2系統(tǒng)具備的功能43.3系統(tǒng)功能模塊圖53.4數(shù)據(jù)庫設(shè)計(jì)53.4.1數(shù)據(jù)庫的表設(shè)計(jì)53.4.2 表間關(guān)系74系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)84.1系統(tǒng)首頁84.2
6、系統(tǒng)登錄模塊94.3管理員和教師頁面104.3.1管理員頁面104.3.2教師頁面114.4系統(tǒng)數(shù)據(jù)管理模塊124.4.1學(xué)生管理124.4.2課程管理144.4.3成績(jī)管理174.4.4用戶管理194.5查詢分析模塊204.5.1單科報(bào)表204.5.2成績(jī)統(tǒng)計(jì)214.5.3成績(jī)分析234.6錯(cuò)誤處理模塊25結(jié)論26參考文獻(xiàn)27致 謝28聲 明291 引言 1.1 課題背景考試是教學(xué)中特別重要的環(huán)節(jié),通過考試,可以及時(shí)發(fā)現(xiàn)老師在教學(xué)中存在的問題,更重要的是還能發(fā)現(xiàn)哪些學(xué)生在學(xué)習(xí)過程中存在嚴(yán)重問題,需要老師和同學(xué)們的幫助。考完后的成績(jī)分析就可以使我們得到這些信息。但是從以往的成績(jī)分析中,我們費(fèi)時(shí)
7、費(fèi)力的結(jié)果只能得到很少的有用信息。幾年前,大多數(shù)學(xué)校的學(xué)生成績(jī)管理根本上都是靠手工進(jìn)行,隨著近幾年各類學(xué)校辦學(xué)規(guī)模的擴(kuò)大和招生人數(shù)的增加, 有關(guān)學(xué)生成績(jī)管理工作所涉及的數(shù)據(jù)量越來越大,這使學(xué)生成績(jī)管理成為一項(xiàng)十分繁重的工作。一些學(xué)校不得不靠增加人力、物力來進(jìn)行學(xué)生成績(jī)管理。但手工管理具有效率低、費(fèi)時(shí)、易錯(cuò)誤等缺點(diǎn),面對(duì)如此繁多的數(shù)據(jù)需要進(jìn)行管理、統(tǒng)計(jì)和分析,如果用人工的方法,其過程的艱辛將無發(fā)想像。教學(xué)實(shí)踐與計(jì)算機(jī)的結(jié)合,幫助我們很好的解決了這一問題。在信息技術(shù)飛速開展的今天,計(jì)算機(jī)代替了以前大多數(shù)的人力勞動(dòng),并已經(jīng)成為各個(gè)領(lǐng)域不可缺少的應(yīng)用工具。針對(duì)目前學(xué)校教師管理學(xué)生成績(jī),并對(duì)學(xué)生成績(jī)進(jìn)行
8、分析仍采用人工的方法,或簡(jiǎn)單的利用Excel進(jìn)行管理的現(xiàn)狀,為了減輕教師在管理學(xué)生成績(jī)時(shí)的負(fù)擔(dān),提高分析學(xué)生成績(jī)的效率,及時(shí)反映學(xué)生的學(xué)習(xí)狀態(tài),和教師在教學(xué)方面的效果,開發(fā)出一個(gè)具有教師對(duì)學(xué)生成績(jī)進(jìn)行管理、統(tǒng)計(jì)、分析常等用功能的能跨越各種系統(tǒng)平臺(tái)的成績(jī)分析系統(tǒng)勢(shì)在必行。1.2 國(guó)內(nèi)外研究現(xiàn)狀由于利用計(jì)算機(jī)代替人力勞動(dòng)對(duì)學(xué)生考試成績(jī)數(shù)據(jù)進(jìn)行管理、統(tǒng)計(jì)、分析表達(dá)出了巨大的優(yōu)勢(shì),在實(shí)際應(yīng)用中,基于網(wǎng)絡(luò)的、跨操作平臺(tái)的考試成績(jī)管理、分析系統(tǒng)擁有很大的市場(chǎng)。國(guó)內(nèi)外的軟件企業(yè)開發(fā)出了各種不同功能的考試成績(jī)管理、分析系統(tǒng)。這些系統(tǒng)中的大多數(shù)是利用VB和Access數(shù)據(jù)庫進(jìn)行開發(fā)的,這樣的系統(tǒng)在跨操作平臺(tái),和
9、數(shù)據(jù)存儲(chǔ)方面都有明顯的缺乏。1.3 本課題研究的意義現(xiàn)在我國(guó)的大中專院校的學(xué)生成績(jī)管理水平普遍不高,有的還停留在紙介質(zhì)根底上,這種管理手段已不能適應(yīng)時(shí)代的開展,因?yàn)樗速M(fèi)了了許多的人力和物力。在當(dāng)今信息時(shí)代這種傳統(tǒng)的管理方法必然被計(jì)算機(jī)網(wǎng)絡(luò)為根底的信息管理系統(tǒng)所代替。如果本系統(tǒng)能被學(xué)校所采用,將會(huì)改變以前靠手工對(duì)學(xué)生成績(jī)進(jìn)行管理、統(tǒng)計(jì)和分析的狀況,可以大大提高教學(xué)工作的效率,樹立良好的辦學(xué)形象。2 相關(guān)技術(shù)介紹2.1 ASP技術(shù)的簡(jiǎn)介ASP全稱為Active Server Pages的簡(jiǎn)寫,是一套由微軟公司開發(fā)的效勞器端運(yùn)行的腳本平臺(tái),使用ASP內(nèi)置組件可以快速開發(fā)動(dòng)態(tài)網(wǎng)頁。每一個(gè)組件都是由一
10、組富有經(jīng)驗(yàn)的程序員根據(jù)動(dòng)態(tài)網(wǎng)頁最常用的功能而開發(fā)的。在ASP3.0中,共有6個(gè)這樣的組件: Application ,ASPError ,Request ,Response ,Server ,Session .常見的Cookies就是利用Session組件實(shí)現(xiàn)的。此外,還可以利用第三方組件延伸ASP的作用,如利用MailSender組件發(fā)送電子郵件。 通過ASP我們可以結(jié)合HTML網(wǎng)頁、ASP指令和ActiveX元件建立動(dòng)態(tài)、交互且高效的WEB效勞器應(yīng)用程序。同時(shí),ASP也支持VBScript和JScript等腳本語言,默認(rèn)為VBScript。其中JScript是微軟公司的ECMAScript
11、標(biāo)準(zhǔn)的實(shí)現(xiàn),并且有自己的擴(kuò)展。本系統(tǒng)將采用VBScript腳本語言。 ASP是經(jīng)過效勞器解析之后再向網(wǎng)頁瀏覽器返回?cái)?shù)據(jù),所以有了ASP就不必?fù)?dān)憂客戶的瀏覽器是否能運(yùn)行你所編寫的代碼。因?yàn)樗械某绦蚨紝⒃诰W(wǎng)頁效勞器端執(zhí)行,包括所有嵌在普通HTML中的腳本程序。當(dāng)程序執(zhí)行完畢后,效勞器僅將執(zhí)行的結(jié)果返回給客戶瀏覽器,這樣也就減輕了客戶端瀏覽器的負(fù)擔(dān),大大提高了交互的速度。由于代碼是需要經(jīng)過效勞器執(zhí)行之后才向?yàn)g覽器發(fā)送的,所以在客戶端看到的只能是經(jīng)過解析之后的數(shù)據(jù),而無法獲得源代碼,故編寫者不用擔(dān)憂自己的源代碼會(huì)被別人剽竊。但不排除黑客利用系統(tǒng)漏洞竊取效勞器端的ASP源代碼?;谶@樣的解析方式,也導(dǎo)
12、致運(yùn)行ASP頁面相對(duì)于普通的HTML頁面要慢一點(diǎn)。因?yàn)槠胀ǖ腍TML頁面只需要瀏覽器就能夠解析,而ASP那么必須是效勞器將整頁的代碼都執(zhí)行一遍之后再發(fā)送數(shù)據(jù)。 ASP提供與數(shù)據(jù)庫的交互,如Microsoft SQL Server、Access、MySQL和Oracle,比較流行的是ASP和Microsoft SQL Server的組合。2.2 SQL SERVER簡(jiǎn)介SQL Server是微軟公司所推出的一套運(yùn)行在Windows平臺(tái)上的數(shù)據(jù)庫管理系統(tǒng),用于提供作為應(yīng)用程序的數(shù)據(jù)來源,存放各種數(shù)據(jù),并可以讓用戶很容易地實(shí)現(xiàn)所要進(jìn)行的數(shù)據(jù)存取操作,同時(shí)它也提供了一些可視化的管理工具,協(xié)助數(shù)據(jù)庫系統(tǒng)
13、管理者更方便快捷地管理及設(shè)計(jì)數(shù)據(jù)庫內(nèi)容,以及對(duì)數(shù)據(jù)庫進(jìn)行維護(hù)。SQL在客戶/效勞開發(fā)中的角色,因?yàn)楸究荚嚦煽?jī)分析系統(tǒng)所產(chǎn)生和處理的數(shù)據(jù)量比較大,這就讓我們首先想到了SQL server大型數(shù)據(jù)庫,SQL是一組符合工業(yè)標(biāo)準(zhǔn)的數(shù)據(jù)庫操作令集。SQL不是一門語言,無法得到一個(gè)專門的SQL軟件,它只是效勞器數(shù)據(jù)庫的部份。SQL Server數(shù)據(jù)庫是動(dòng)態(tài)網(wǎng)頁中的重要局部。動(dòng)態(tài)網(wǎng)頁中的大局部數(shù)據(jù)都是放在數(shù)據(jù)庫中的,動(dòng)態(tài)網(wǎng)頁頁面效果是通過調(diào)用數(shù)據(jù)庫信息來實(shí)現(xiàn)的。因此,數(shù)據(jù)庫在動(dòng)態(tài)網(wǎng)頁技術(shù)中也起著越來越重要的作用。作為一種查詢語言,SQL語言的主要功能就是同各種數(shù)據(jù)庫建立聯(lián)系,進(jìn)行溝通。SQL語言集數(shù)據(jù)查詢、
14、數(shù)據(jù)操縱、數(shù)據(jù)定義和數(shù)據(jù)控制功能于一身,它有一體化、高度非過程化、語言簡(jiǎn)潔、以多種方式使用等特點(diǎn)。數(shù)據(jù)定義語言DDL:實(shí)現(xiàn)定義、刪除和修改數(shù)據(jù)庫對(duì)象的功能。數(shù)據(jù)查尋語言DQL:實(shí)現(xiàn)對(duì)查尋數(shù)據(jù)的功能數(shù)據(jù)操縱語言DML:實(shí)現(xiàn)對(duì)數(shù)據(jù)庫數(shù)據(jù)的增加、刪除和修改功能。數(shù)據(jù)控制語言DCL:實(shí)現(xiàn)控制用戶對(duì)數(shù)據(jù)庫的操作權(quán)限的功能。由于本考試成績(jī)分析系統(tǒng)使用的大量的存儲(chǔ)過程,現(xiàn)將SQL Server的存儲(chǔ)過程做簡(jiǎn)單介紹:存儲(chǔ)過程(Stored Procedure)是一組為了完成特定功能的SQL語句集,經(jīng)編譯后存儲(chǔ)在數(shù)據(jù)庫中。用戶通過制定存儲(chǔ)過程的名字并給出參數(shù)(如果該存儲(chǔ)過程帶有參數(shù))來執(zhí)行它。存儲(chǔ)過程是一個(gè)預(yù)編
15、譯的對(duì)象,這意味著過程是預(yù)先編譯好的,并且供不同的應(yīng)用程序執(zhí)行。因此,根本不需要再花時(shí)間對(duì)過程重新進(jìn)行語法分析和編譯,其執(zhí)行速度很快。開發(fā)者用Transaction-SQL編寫的程序作為存儲(chǔ)過程存儲(chǔ)在SQL Server中,并創(chuàng)立應(yīng)用程序來調(diào)用存儲(chǔ)過程,對(duì)數(shù)據(jù)結(jié)果進(jìn)行處理,存儲(chǔ)過程能夠通過接收參數(shù)向調(diào)用者返回結(jié)果集,結(jié)果集的格式由調(diào)用者確定;返回狀態(tài)值給調(diào)用者,指明調(diào)用是成功還是失??;存儲(chǔ)過程包括針對(duì)數(shù)據(jù)庫的操作語句,并且可以在一個(gè)存儲(chǔ)過程中調(diào)用另一個(gè)存儲(chǔ)過程。存儲(chǔ)過程雖然既有參數(shù)又有返回值,但是它與函數(shù)不同。存儲(chǔ)過程的返回值只是指明執(zhí)行是否成功,并且它不能像函數(shù)那樣被直接調(diào)用,也就是說。在調(diào)
16、用存儲(chǔ)過程時(shí),在存儲(chǔ)過程名字前一定要有EXEC保存字。存儲(chǔ)過程具有下面一些優(yōu)點(diǎn):(1)存儲(chǔ)過程允許標(biāo)準(zhǔn)組件式編程。(2)存儲(chǔ)過程能夠?qū)崿F(xiàn)較快的執(zhí)行速度。(3)存儲(chǔ)過程能夠減少網(wǎng)絡(luò)流量。(4)存儲(chǔ)過程可被作為一種平安機(jī)制來充分利用。2.3 Dreamweaver簡(jiǎn)介Dreamweaver是由美國(guó)著名的軟件開發(fā)商Macromedia公司推出的一個(gè)“所見即所得的可視化網(wǎng)站開發(fā)工具。無論在國(guó)外還是在國(guó)內(nèi),它都是倍受專業(yè)Web開發(fā)人士推崇的軟件。在國(guó)內(nèi),它被大家稱為網(wǎng)頁“織夢(mèng)者,眾多的專業(yè)網(wǎng)站和個(gè)人主頁都把它列為建站的首選工具。在最新的MX版本中,對(duì)Dreamweaver的代碼控制和后臺(tái)功能作了進(jìn)一步增
17、強(qiáng),整合了UltraDev,ColdFusion Studio,Homesite等優(yōu)秀軟件,使得新版本的Dreamweaver比起原有的版本,功能得到了一個(gè)飛躍的開展。3 系統(tǒng)設(shè)計(jì)3.1 系統(tǒng)需求分析使用計(jì)算機(jī)網(wǎng)絡(luò)對(duì)學(xué)生考試成績(jī)信息進(jìn)行管理,具有手工管理所無法比較的優(yōu)點(diǎn)。檢索迅速、統(tǒng)計(jì)種類多、直觀的圖形分布顯示、管理方便、存儲(chǔ)量大、平安性好、本錢低、跨平臺(tái)性等,這些優(yōu)點(diǎn)極大地提高了學(xué)校對(duì)學(xué)生考試成績(jī)的管理、統(tǒng)計(jì)、分析的效率。本系統(tǒng)正是為了能夠?yàn)楦黝愋蛯W(xué)校提供一套操作簡(jiǎn)單、應(yīng)用廣泛的考試成績(jī)分析系統(tǒng),以提高學(xué)校對(duì)學(xué)生考試成績(jī)管理、統(tǒng)計(jì)、分析的效率,實(shí)現(xiàn)學(xué)??荚嚦煽?jī)管理信息化而設(shè)計(jì)的。本系統(tǒng)應(yīng)具備
18、對(duì)學(xué)生信息、課程信息、教師信息、成績(jī)數(shù)據(jù)信息管理功能,能夠?qū)σ陨闲畔⑦M(jìn)行錄入、刪除、修改、查詢、統(tǒng)計(jì)。對(duì)成績(jī)數(shù)據(jù),應(yīng)實(shí)現(xiàn)對(duì)各年級(jí)、各班的總分、平均分的計(jì)算,并進(jìn)行排序;按年級(jí)或班級(jí)對(duì)單科成績(jī)的及格人數(shù)、優(yōu)秀人數(shù)、及格率、優(yōu)秀率、各分?jǐn)?shù)段人數(shù)分布等進(jìn)行統(tǒng)計(jì)分析,對(duì)各分?jǐn)?shù)段人數(shù)分布還應(yīng)通過圖形的方式直觀地展現(xiàn)出來;系統(tǒng)通過設(shè)置不同的登錄用戶權(quán)限來對(duì)系統(tǒng)進(jìn)行訪問和管理。3.2 系統(tǒng)具備的功能系統(tǒng)可按權(quán)限分為公共模塊,管理員模塊,教師模塊三個(gè)模塊。公共模塊:可通過輸入學(xué)號(hào),學(xué)期查詢相應(yīng)的成績(jī)信息。教師模塊:此模塊需要登錄用戶擁有教師權(quán)限,用戶登錄后可以通過選擇查詢條件查詢相關(guān)的成績(jī)信息、成績(jī)統(tǒng)計(jì)報(bào)表、
19、成績(jī)分布柱狀圖。管理員模塊:此模塊需要登錄用戶擁有管理員權(quán)限,用戶登錄后除了可以通過選擇查詢條件查詢相關(guān)的成績(jī)信息、成績(jī)統(tǒng)計(jì)報(bào)表、成績(jī)分布柱狀圖外,還可以對(duì)系統(tǒng)后臺(tái)數(shù)據(jù)進(jìn)行管理。此模塊可以對(duì)學(xué)生數(shù)據(jù)、課程數(shù)據(jù)、成績(jī)數(shù)據(jù)、用戶數(shù)據(jù)進(jìn)行管理,實(shí)現(xiàn)對(duì)學(xué)生、課程、成績(jī)、用戶的添加、刪除、修改。3.3 系統(tǒng)功能模塊圖課程管理模塊成績(jī)管理模塊用戶管理模塊班級(jí)單科成績(jī)報(bào)表年級(jí)單科成績(jī)報(bào)表表班級(jí)單科成績(jī)報(bào)表年級(jí)單科成績(jī)報(bào)表表班級(jí)學(xué)期成績(jī)匯總年級(jí)學(xué)期成績(jī)匯總表各班單科成績(jī)分析年級(jí)各科成績(jī)分析表學(xué)生管理模塊考試成績(jī)分析系統(tǒng)管 理 員 模 塊教 師 模 塊學(xué)生查詢圖3-1 系統(tǒng)功能模塊圖3.4 數(shù)據(jù)庫設(shè)計(jì)設(shè)計(jì)數(shù)據(jù)庫
20、系統(tǒng)時(shí)應(yīng)首先了解用戶各個(gè)方面的需求,包括現(xiàn)有的以及將來可能增加的需求,用戶的需求具體表達(dá)在各種信息的提供、保存、更新和查詢,這就要求數(shù)據(jù)庫結(jié)構(gòu)能充分滿足各種信息的輸入和輸出。收集根本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)以及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為后面的具體設(shè)計(jì)打下根底。針對(duì)本考試成績(jī)分析系統(tǒng)的需求,通過對(duì)考試成績(jī)的管理、統(tǒng)計(jì)、分析過程分析,需要使用管理員和教師信息表保存系統(tǒng)管理員和教師的根本信息,使用學(xué)生信息表保存學(xué)生的個(gè)人信息,使用課程信息表保存所開設(shè)的課程的信息,使用成績(jī)信息表保存考試成績(jī)數(shù)據(jù)。3.4.1數(shù)據(jù)庫的表設(shè)計(jì)首先在SQL Server中創(chuàng)立名為score的數(shù)據(jù)庫,根據(jù)對(duì)系統(tǒng)的分析可以
21、得出本系統(tǒng)需要的表如下:管理員和教師信息表(admin):用來存放管理員或教師ID、姓名、登錄密碼和用戶類型(系統(tǒng)管理員或普通教師)信息。Type:此字段用來標(biāo)示用戶為普通教師或系統(tǒng)管理員;字段值為“1 :用戶為系統(tǒng)管理員,擁有管理員權(quán)限,可訪問查詢分析模塊和數(shù)據(jù)管理模塊,可對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行添加、修改、刪除操作;字段值為“2 :用戶為普通教師,擁有非管理員教師權(quán)限,只能訪問查詢分析模塊,不能對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行添加、修改、刪除操作。表3-1管理員和教師信息表(admin)字段名字段數(shù)據(jù)類型字段長(zhǎng)度允許空簡(jiǎn)要說明IDVarchar20否登錄ID、主鍵NameVarchar20是教師或管理員姓名Passw
22、ordVarchar20是登錄密碼TypeInt4是用戶類型、權(quán)限學(xué)生信息表(student):用來存放學(xué)生的學(xué)號(hào)、姓名、性別、所在年級(jí)和所在班級(jí)信息。Gender:此字段用來標(biāo)示學(xué)生的性別:字段值為“0 ,性別為:女;字段值為“1 ,性別為:男。表3-2學(xué)生信息表(student)字段名字段數(shù)據(jù)類型字段長(zhǎng)度允許空簡(jiǎn)要說明IDVarchar20否學(xué)生學(xué)號(hào)、主鍵NameVarchar20是學(xué)生姓名GenderBit1是學(xué)生性別ClassInt4否學(xué)生所在班級(jí)GradeVarchar20否學(xué)生所在年級(jí)課程信息表(course):用來存放課程ID、課程名、授課教師ID、課程描述和課程所在的學(xué)期信息。
23、Term:此字段用來標(biāo)示課程所在的學(xué)期,字段值從一年級(jí)上半期為“1”開始編號(hào),按學(xué)期增加的順序,字段值依次加1。如:一年級(jí)下半期為“2” 。表3-3課程信息表(course)字段名字段數(shù)據(jù)類型字段長(zhǎng)度允許空簡(jiǎn)要說明IDVarchar20否課程ID號(hào)NameVarchar20是課程名字TeacherIDVarchar20是授課教師ID號(hào)RemarkVarchar50是課程描述TermInt4否課程所在的學(xué)期成績(jī)信息表(score):用來存放成績(jī)對(duì)應(yīng)的學(xué)生學(xué)號(hào)、課程ID、分?jǐn)?shù)和考試類型信息,此表的由兩個(gè)外鍵“StudentID和“CourseID組成復(fù)合主鍵。Type:此字段用來標(biāo)示考試的類型;字
24、段值為“1 ,表示正常考試;字段值為“2 ,表示補(bǔ)考。表3-4成績(jī)信息表(score)字段名字段數(shù)據(jù)類型字段長(zhǎng)度允許空簡(jiǎn)要說明StudentIDVarchar20否考生學(xué)號(hào)、復(fù)合主鍵、外鍵CourseIDVarchar20否課程ID號(hào)、復(fù)合主鍵、外鍵ScoreInt4是成績(jī)分?jǐn)?shù)TypeInt4是考試類型3.4.2 表間關(guān)系數(shù)據(jù)庫中所創(chuàng)立的表有如下的約束關(guān)系:課程信息表course中的“TeacherID字段受教師信息表admin中的“ID字段約束,成績(jī)信息表score中的“SrudentID字段受學(xué)生信息表student中的“ID字段約束,“CourseID字段受課程信息表course中的“I
25、D字段約束。如圖3-2所示。CoursePKIDNameTeacherIDTermRemarkScorePKStudentIDPKCourseIDScoreTypeAdminPKIDNamePasswordTypeStudentPKIDNameGenderGradeClass1nn1n1圖3-2各表間的約束關(guān)系4 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)4.1 系統(tǒng)首頁系統(tǒng)首頁SearchScore.asp為所有瀏覽者提供了學(xué)生個(gè)人成績(jī)查詢的功能,輸入學(xué)生的學(xué)號(hào),并選擇學(xué)期項(xiàng),就可以查詢到該學(xué)生相應(yīng)學(xué)期的所有已考試課程的成績(jī),不及格的課程考試成績(jī)將會(huì)用紅色字體顯示。系統(tǒng)還會(huì)自動(dòng)統(tǒng)計(jì)查詢到的課程數(shù)目和不及格的課程數(shù)目。此
26、頁面還為系統(tǒng)管理員和教師用戶提供了登錄頁面的鏈接,用戶點(diǎn)擊此鏈接可進(jìn)入系統(tǒng)登錄頁面進(jìn)行用戶登錄。系統(tǒng)首頁頁面效果如圖4-1所示。圖4-1 系統(tǒng)首頁首頁中查詢學(xué)生個(gè)人成績(jī)的存儲(chǔ)過程代碼如下:CREATE PROCEDURE sp_SearchScoreStudentID varchar(20),Term intAS Select ,a.StudentID,a.Score,(case a.Typewhen 1 then 正??荚?when 2 then 補(bǔ)考 end) as Type,b.Name as CourseName,c.Name as TeacherNamefrom Scor
27、e a,Course b,admin c,student dwhere a.StudentID=StudentID and a.CourseID=b.ID and b.TeacherID = c.ID and b.Term=Term and d.ID=StudentIDGO4.2 系統(tǒng)登錄模塊系統(tǒng)管理員和教師用戶可通過系統(tǒng)登錄頁面Login.asp進(jìn)行登錄。填寫完登錄信息,提交表單后系統(tǒng)通過LoginCheck.asp對(duì)用戶填寫的登錄信息和數(shù)據(jù)庫中記錄的信息進(jìn)行比照,假設(shè)用戶填寫登錄信息有空項(xiàng),系統(tǒng)會(huì)提示“用戶和密碼不能為空 ,然后系統(tǒng)返回登錄頁面Login.asp;假設(shè)用戶登錄信息填寫錯(cuò)誤,
28、頁面將提示“用戶名或密碼輸入有誤 ,然后系統(tǒng)返回登錄頁面Login.asp;假設(shè)用戶登錄信息填寫正確,系統(tǒng)將會(huì)對(duì)用戶的權(quán)限類型“Type進(jìn)行檢查,假設(shè)“Type=1表示用戶為系統(tǒng)管理員,系統(tǒng)會(huì)將用戶的登錄信息記錄在Cookies集合和Session變量中,然后系統(tǒng)轉(zhuǎn)到管理員頁面Manage.asp;假設(shè)“Type=2表示用戶為教師用戶,系統(tǒng)會(huì)將用戶的登錄信息記錄在Cookies集合和Session變量中后轉(zhuǎn)到教師頁面Teacher.asp。LoginCheck.asp中驗(yàn)證用戶信息的函數(shù)checkUser代碼如下:功能:驗(yàn)證用戶信息是否正確參數(shù):username用戶名, password密碼返
29、回值:正確那么返回1,不正確返回0 設(shè)置Cookies用戶IDUserID和登錄狀態(tài)(Login)Function checkUser(userid,password)Dim dbc_ClassSet dbc_Class = New DBConn 建立存儲(chǔ)過程的輸入?yún)?shù)Set Cmd1 = Server.CreateObject(ADODB mand)Set Param = Cmd1.CreateParameter(ID,adVarChar,adParamInput,20,userid)Cmd1.Parameters.Append ParamSet Param=Cmd1.CreateParam
30、eter(PassWord,adVarChar,adParamInput,20,password)Cmd1.Parameters.Append Param運(yùn)行名為sp_CheckUser的存儲(chǔ)過程Call dbc_Class.CreateCommandProc(sp_CheckUser,Cmd1)If dbc_Class.Rs.EOF Then失敗時(shí)的返回值Session(UserType) =Session(UserID) =checkUser = 0ElseWhile Not dbc_Class.Rs.EOF建立Cookies客戶端變量以識(shí)別登錄的用戶Response.Cookies(Us
31、erName) = dbc_Class.Rs(Name)Session(UserID) = dbc_Class.Rs(ID)Session(UserType) = dbc_Class.Rs(Type)dbc_Class.Rs.MoveNextWend成功時(shí)的返回值checkUser = 1End IfSet Cmd1 = nothingdbc_Class.CloseConn()End Function函數(shù)checkUser調(diào)用的存儲(chǔ)過程代碼如下:CREATE PROCEDURE sp_CheckUserID varchar(20),Password varchar(20)AS SELECT *
32、 FROM admin WHERE ID=ID and Password=PasswordGO4.3 管理員和教師頁面4.3.1管理員頁面擁有管理員權(quán)限的用戶登錄后即進(jìn)入管理員頁面Manage.asp,頁面上方將顯示登錄用戶的用戶名。用戶可以點(diǎn)擊左上方的“退出鏈接退出系統(tǒng),系統(tǒng)將轉(zhuǎn)到Logout.asp頁面,清空Cookies集合和Session變量后返回到系統(tǒng)首頁。管理員可通過此頁面進(jìn)入系統(tǒng)數(shù)據(jù)管理模塊,對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行管理操作,還可以進(jìn)入成績(jī)查詢與分析模塊,對(duì)成績(jī)數(shù)據(jù)進(jìn)行相應(yīng)的查詢與分析操作,并返回查詢分析報(bào)表。系統(tǒng)管理員頁面效果如圖4-2所示。圖4-2 系統(tǒng)管理員頁4.3.2教師頁面擁有非
33、管理員權(quán)限的教師用戶登錄后即進(jìn)入管理員頁面Teacher.asp,頁面上方將顯示登錄用戶的用戶名。用戶可以點(diǎn)擊左上方的“退出鏈接退出系統(tǒng),系統(tǒng)將轉(zhuǎn)到Logout.asp頁面,清空Cookies集合和Session變量后返回到系統(tǒng)首頁。教師用戶可通過此頁面進(jìn)入成績(jī)查詢與分析模塊,對(duì)成績(jī)數(shù)據(jù)進(jìn)行相應(yīng)的查詢與分析操作,并返回查詢分析報(bào)表。教師頁面效果如圖4-3所示。圖4-3 教師頁 4.4 系統(tǒng)數(shù)據(jù)管理模塊系統(tǒng)數(shù)據(jù)管理模塊只有擁有管理員權(quán)限的用戶才能進(jìn)入進(jìn)行操作,通過此模塊可以對(duì)包括成績(jī)錄入等一系列的系統(tǒng)數(shù)據(jù)進(jìn)行管理。此模塊又分為學(xué)生管理、課程管理、成績(jī)管理和用戶管理四個(gè)小模塊。4.4.1學(xué)生管理學(xué)
34、生管理模塊完成了對(duì)學(xué)生信息進(jìn)行添加、修改、刪除操作,以到達(dá)對(duì)學(xué)生信息管理的目的。此模塊的主頁面為StudentManage.asp,管理員可通過輸入需要管理的班級(jí)的班級(jí)號(hào),查詢得到現(xiàn)有的學(xué)生信息列表,通過列表中相應(yīng)的鏈接對(duì)學(xué)生信息進(jìn)行修改和刪除操作。學(xué)生管理主頁面效果如圖4-4所示。圖4-4學(xué)生管理主頁面1修改學(xué)生數(shù)據(jù)信息:管理員可通過點(diǎn)擊如圖4-4所示學(xué)生管理頁面的相應(yīng)學(xué)生的操作列中的筆型按鈕,即可進(jìn)入學(xué)生信息修改頁面EditStudent.asp,并將待修改學(xué)生的學(xué)號(hào)ID同時(shí)傳遞到該頁面。在EditStudent.asp頁面上,顯示有數(shù)據(jù)庫中記錄的待修改學(xué)生的全部信息,修改完該學(xué)生的信息點(diǎn)
35、擊“提交按鈕完成修改。提交修改后,系統(tǒng)會(huì)對(duì)提交的信息進(jìn)行檢查,假設(shè)修改正程中存在沒有填寫完整的項(xiàng),系統(tǒng)會(huì)提示該項(xiàng)信息不能為空,然后返回學(xué)生管理主頁面StudentManage.asp;假設(shè)修改學(xué)生信息對(duì)數(shù)據(jù)庫操作失敗,系統(tǒng)將會(huì)提示“更新數(shù)據(jù)時(shí)失敗 ,并返回學(xué)生管理主頁面StudentManage.asp。學(xué)生信息修改頁面效果如圖4-5所示。圖4-5 學(xué)生信息修改頁面修改學(xué)生信息調(diào)用的存儲(chǔ)過程代碼如下:CREATE PROCEDURE sp_UpdateStudent-為要更新的變量聲明參數(shù)IDvarchar(20),Name varchar(20),Genderint,Grade varcha
36、r(20),ClassintAS-將待更新的變量更新為參數(shù)傳入的值Update StudentSet ID=ID,Name=Name,Gender=Gender,Grade=Grade,Class=ClassWhere ID=IDGO2刪除學(xué)生數(shù)據(jù)信息:管理員可通過點(diǎn)擊如圖4-4所示學(xué)生管理頁面相應(yīng)學(xué)生的操作列中的叉型按鈕,即可完成對(duì)該行對(duì)應(yīng)學(xué)生的信息進(jìn)行刪除,刪除成功后系統(tǒng)將返回學(xué)生管理主頁面StudentManage.asp。刪除學(xué)生信息調(diào)用的存儲(chǔ)過程代碼如下:CREATE PROCEDURE sp_DelStudentID varchar(20)AS -先刪除從表數(shù)據(jù)再刪主表數(shù)據(jù) -刪除
37、該學(xué)生的成績(jī)數(shù)據(jù) DELETE FROM Score WHERE StudentID = ID -刪除學(xué)生根本數(shù)據(jù) DELETE FROM Student WHERE Student.ID = IDGO3添加學(xué)生數(shù)據(jù)信息:管理員可通過點(diǎn)擊學(xué)生管理頁面StudentManage.asp或管理員頁面Manage.asp下方的“添加學(xué)生按鈕,即可進(jìn)入添加學(xué)生信息頁面AddStudent.asp。在該頁面填寫完該學(xué)生的信息點(diǎn)擊“提交按鈕完成對(duì)學(xué)生信息的添加。提交后,系統(tǒng)會(huì)對(duì)提交的信息進(jìn)行檢查,假設(shè)存在沒有填寫完整的項(xiàng),系統(tǒng)會(huì)提示該項(xiàng)信息不能為空,然后返回添加學(xué)生信息頁面AddStudent.asp;假
38、設(shè)添加學(xué)生信息時(shí)對(duì)數(shù)據(jù)庫操作失敗,系統(tǒng)將會(huì)提示“錄入數(shù)據(jù)時(shí)失敗 ,并返回添加學(xué)生信息頁面AddStudent.asp。添加學(xué)生信息調(diào)用的存儲(chǔ)過程如下:CREATE PROCEDURE sp_AddStudent-為要更新的字段聲明參數(shù)IDvarchar(20),Name varchar(20),Genderint,Gradevarchar(20),ClassintAS-添加將相應(yīng)的字段的記錄為對(duì)應(yīng)的輸入?yún)?shù)的值 Insert Into Student(ID,Name,Gender,Grade,Class)Values(ID,Name,Gender,Grade,Class)GO4.4.2課程管理
39、課程管理模塊可以對(duì)課程信息進(jìn)行添加、修改、刪除操作,以到達(dá)對(duì)課程開設(shè)進(jìn)行管理的目的。此模塊的主頁面為CourseManage.asp,管理員可通過頁面中的下拉菜單項(xiàng)選擇擇相應(yīng)的課程,點(diǎn)擊“課程信息按鈕后頁面會(huì)返回該課程的詳細(xì)信息,管理員可以通過列表中相應(yīng)的鏈接對(duì)課程信息進(jìn)行修改和刪除操作。課程管理主頁面效果如圖4-6所示。圖4-6課程管理頁面1修改課程數(shù)據(jù)信息:管理員可通過點(diǎn)擊如圖4-6所示的相應(yīng)課程的操作列中的筆型按鈕,即可進(jìn)入課程信息修改頁面EditCourse.asp,并將待修改課程ID同時(shí)傳遞到該頁面。轉(zhuǎn)到EditCourse.asp頁面后,頁面顯示有數(shù)據(jù)庫中記錄的待修改課程的全部信息
40、,修改完該課程的信息點(diǎn)擊“提交按鈕完成修改。提交修改后,系統(tǒng)會(huì)對(duì)提交的信息進(jìn)行檢查,假設(shè)修改正程中存在沒有填寫完整的項(xiàng),系統(tǒng)會(huì)提示該項(xiàng)信息不能為空,然后返回課程管理頁面CourseManage.asp;假設(shè)修改課程信息對(duì)數(shù)據(jù)庫操作失敗,系統(tǒng)將會(huì)提示“更新數(shù)據(jù)時(shí)失敗 ,并返回課程管理頁面CourseManage.asp。修改課程信息調(diào)用的存儲(chǔ)過程代碼如下:CREATE PROCEDURE sp_UpdateCourse-為要修改的字段聲明參數(shù)IDvarchar(20),Name varchar(20),TeacherIDvarchar(20),Remarkvarchar(50),Term int
41、ASUpdate CourseSet ID=ID,Name=Name,TeacherID=TeacherID,Remark=Remark,Term=TermWhere ID=IDGO2刪除課程數(shù)據(jù)信息:管理員可通過點(diǎn)擊如圖4-6所示相應(yīng)課程操作列中的叉型按鈕,即可完成對(duì)該課程信息的刪除,刪除成功后系統(tǒng)將返回課程管理主頁面CourseManage.asp。 刪除課程信息調(diào)用的存儲(chǔ)過程代碼如下:CREATE PROCEDURE sp_DelCourseID varchar(20)AS -應(yīng)先刪除從表數(shù)據(jù)再刪主表數(shù)據(jù) -刪除該課程相關(guān)的成績(jī)數(shù)據(jù) DELETE FROM Score WHERE Cou
42、rseID = ID -刪除課程根本數(shù)據(jù) DELETE FROM Course WHERE Course.ID = IDGO3添加課程數(shù)據(jù)信息:管理員可通過點(diǎn)擊課程管理頁面CourseManage.asp或管理員頁面Manage.asp下方的“添加課程按鈕,即可進(jìn)入添加課程信息頁面AddCourse.asp。在該頁面填寫完該課程的信息點(diǎn)擊“提交按鈕完成對(duì)課程信息的添加。提交后,系統(tǒng)會(huì)對(duì)提交的信息進(jìn)行檢查,假設(shè)存在沒有填寫完整的項(xiàng),系統(tǒng)會(huì)提示該項(xiàng)信息不能為空,然后返回添加課程信息頁面AddCourse.asp;假設(shè)添加課程信息時(shí)對(duì)數(shù)據(jù)庫操作失敗,系統(tǒng)將會(huì)提示“錄入數(shù)據(jù)時(shí)失敗 ,并返回添加課程信息
43、頁面AddCourse.asp。添加課程信息調(diào)用的存儲(chǔ)過程如下:CREATE PROCEDURE sp_AddCourse ID varchar(20), Name varchar(20), TeacherID varchar(20), Term intAS Insert Into Course (ID,Name,TeacherID,Term) Values(ID,Name,TeacherID,Term)GO4.4.3成績(jī)管理成績(jī)管理模塊完成了對(duì)成績(jī)信息進(jìn)行添加、修改、刪除操作,以到達(dá)對(duì)成績(jī)信息進(jìn)行管理的目的。此模塊的主頁面為ScoreManage.asp,管理員通過輸入需要對(duì)成績(jī)進(jìn)行管理的班
44、級(jí)的班級(jí)號(hào),并從頁面的下來菜單中選擇相應(yīng)的學(xué)期和課程,查詢得到某個(gè)班級(jí)某學(xué)期某門課程的成績(jī)信息列表,通過列表中相應(yīng)的鏈接對(duì)成績(jī)信息進(jìn)行修改和刪除操作。成績(jī)管理主頁面效果如圖4-7所示。圖4-7 成績(jī)管理頁面1修改成績(jī)數(shù)據(jù)信息:管理員可通過點(diǎn)擊如圖4-7所示的相應(yīng)成績(jī)的操作列中的筆型按鈕,即可進(jìn)入成績(jī)信息修改頁面EditScore.asp,并將待修改成績(jī)對(duì)應(yīng)的學(xué)號(hào)和課程ID同時(shí)傳遞到該頁面。瀏覽器轉(zhuǎn)到EditCourse.asp頁面后,顯示有數(shù)據(jù)庫中記錄的待修改成績(jī)相關(guān)的全部信息,修改后點(diǎn)擊“提交按鈕完成修改。提交修改后,系統(tǒng)會(huì)對(duì)提交的信息進(jìn)行檢查,假設(shè)修改正程中存在沒有填寫完整的項(xiàng),系統(tǒng)會(huì)提示
45、該項(xiàng)信息不能為空,然后返回成績(jī)管理頁面ScoreManage.asp;假設(shè)修改成績(jī)信息對(duì)數(shù)據(jù)庫操作失敗,系統(tǒng)將會(huì)提示“更新數(shù)據(jù)時(shí)失敗 ,并返回成績(jī)管理頁面ScoreManage.asp。修改成績(jī)數(shù)據(jù)信息調(diào)用的存儲(chǔ)過程代碼如下:CREATE PROCEDURE sp_UpdateScore-為要修改的字段聲明參數(shù)StudentIDvarchar(20),CourseIDvarchar(20),Score int,Type intASUpdate ScoreSet Score = Score,Type= TypeWhere StudentID=StudentID and CourseID=Cour
46、seIDGO2刪除成績(jī)數(shù)據(jù)信息:管理員可通過點(diǎn)擊如圖4-7所示成績(jī)管理頁面相應(yīng)成績(jī)操作列中的叉型按鈕,即可完成對(duì)該成績(jī)信息的刪除,刪除成功后系統(tǒng)將返回課程成績(jī)管理主頁面ScoreManage.asp。刪除成績(jī)信息調(diào)用的存儲(chǔ)過程代碼如下:CREATE PROCEDURE sp_DelScoreStudentID varchar(20),CourseID varchar(20)AS-從Score表中刪除字段StudentID值為參數(shù)StudentID的值,且字段CourseID的值為參數(shù)CourseID的值的記錄 DELETE FROM Score WHERE StudentID = Studen
47、tID and CourseID=CourseIDGO3添加成績(jī)數(shù)據(jù)信息:管理員可通過點(diǎn)擊成績(jī)管理頁面ScoreManage.asp或管理員頁面Manage.asp下方的“添加成績(jī)按鈕,即可進(jìn)入添加成績(jī)信息頁面AddScore.asp。在該頁面管理員需要從下拉菜單中選擇要添加成績(jī)的學(xué)生和課程信息,而不能自己填寫 填寫該項(xiàng)的信息。這樣做的目的是防止為數(shù)據(jù)庫中不存在的學(xué)生或不存在的課程添加成績(jī)。填寫完成績(jī)的相關(guān)信息點(diǎn)擊“提交按鈕完成對(duì)成績(jī)信息的添加。提交后,系統(tǒng)會(huì)對(duì)提交的信息進(jìn)行檢查,假設(shè)存在沒有填寫完整的項(xiàng),系統(tǒng)會(huì)提示該項(xiàng)信息不能為空,然后返回添加成績(jī)信息頁面AddScore.asp;假設(shè)添加成
48、績(jī)信息時(shí)對(duì)數(shù)據(jù)庫操作失敗,系統(tǒng)將會(huì)提示“錄入數(shù)據(jù)時(shí)失敗 ,并返回添加成績(jī)信息頁面AddScore.asp。添加成績(jī)信息頁面效果如圖4-8所示。圖4-8 添加成績(jī)頁面添加成績(jī)信息調(diào)用的存儲(chǔ)過程如下:CREATE PROCEDURE sp_AddScoreStudentIDvarchar(20),CourseIDvarchar(20),Score int,Type intAS Insert Into Score(StudentID,CourseID,Score,Type)Values(StudentID,CourseID,Score,Type)GO4.4.4用戶管理用戶管理模塊完成了對(duì)管理員和教師
49、信息進(jìn)行添加、修改、刪除操作,以到達(dá)對(duì)登錄用戶信息進(jìn)行管理的目的。此模塊的主頁面為UserManage.asp,管理員可通過輸入需要管理的用戶的登錄ID號(hào),可以查詢得到該用戶的相關(guān)信息信息列表,通過列表中相應(yīng)的鏈接可以對(duì)用戶信息進(jìn)行修改和刪除操作。管理員還可通過點(diǎn)擊用戶管理頁面UserManage.asp或管理員頁面Manage.asp下方的“添加用戶按鈕,即可進(jìn)入添加用戶信息頁面AddUser.asp。在該頁面填寫完添加用戶的信息提交后,系統(tǒng)會(huì)對(duì)提交的信息進(jìn)行檢查,假設(shè)存在沒有填寫完整的項(xiàng),系統(tǒng)會(huì)提示該項(xiàng)信息不能為空,然后返回添加用戶信息頁面AddUser.asp;假設(shè)添加用戶時(shí)對(duì)數(shù)據(jù)庫操作
50、失敗,系統(tǒng)將會(huì)提示“錄入數(shù)據(jù)時(shí)失敗 ,并返回添加用戶信息頁面AddUser.asp。4.5 查詢分析模塊4.5.1單科報(bào)表單科報(bào)表模塊包括了班級(jí)單科成績(jī)報(bào)表CourseScoreReport.asp和年級(jí)單科成績(jī)報(bào)CourseScoreGradeReport.asp表兩個(gè)頁面,完成了對(duì)選定班級(jí)或年級(jí)的某門課程成績(jī)的查詢和對(duì)查詢的統(tǒng)計(jì)。查詢的結(jié)果按成績(jī)分?jǐn)?shù)由高到底排序,并統(tǒng)計(jì)知名次。統(tǒng)計(jì)包括了有成績(jī)記錄的總?cè)藬?shù)統(tǒng)計(jì)和及格人數(shù)統(tǒng)計(jì),并通過統(tǒng)計(jì)結(jié)果計(jì)算出該班或該年紀(jì)在這門課程的及格率?,F(xiàn)根據(jù)班級(jí)單科成績(jī)報(bào)表對(duì)單科報(bào)表模塊做進(jìn)一步說明。班級(jí)單科成績(jī)報(bào)表查詢時(shí)調(diào)用的存儲(chǔ)過程代碼如下:CREATE PRO
51、CEDURE sp_CourseScoreReport-為查詢條件的變量聲明參數(shù)Class int,CourseID varchar(20)AS-查詢符合條件“課程ID為輸入課程ID,班級(jí)號(hào)為輸入班級(jí)的學(xué)生ID、學(xué)生姓名、課程名、考試成績(jī)、考試類型,并將結(jié)果按考試成績(jī)降序排列Select c.StudentID,a.Name as Studentname,b.Name as CourseName,c.Score,b.id as CourseID,(case c.Typewhen 1 then 正??荚?when 2 then 補(bǔ)考 end) as Typefrom Student a,Cour
52、se b,Score c where b.id=CourseID and a.Class=Class and a.id=c.StudentID and b.id=c.CourseID Order by c.Score DescGO班級(jí)單科成績(jī)報(bào)頁面效果如圖4-9所示: 圖4-9 班級(jí)單科成績(jī)報(bào)表4.5.2成績(jī)統(tǒng)計(jì)成績(jī)統(tǒng)計(jì)模塊包括了班級(jí)學(xué)期成績(jī)報(bào)表CourseScoreReport.asp和年級(jí)學(xué)期成績(jī)報(bào)表CourseScoreGradeReport.asp兩個(gè)頁面,完成了對(duì)選定班級(jí)或年級(jí)的某學(xué)期各科成績(jī)的查詢和對(duì)查詢結(jié)果的匯總統(tǒng)計(jì)。查詢的結(jié)果按成績(jī)平均分?jǐn)?shù)由高到底排序,并統(tǒng)計(jì)知名次。匯總統(tǒng)計(jì)通
53、過使用交叉表和動(dòng)態(tài)SQL語句完成了對(duì)學(xué)期各科成績(jī)的匯總、計(jì)算總分、各科平均分。在本成績(jī)統(tǒng)計(jì)模塊中交叉表和動(dòng)態(tài)SQL語句的使用是一個(gè)難點(diǎn),可以說本模塊頁面調(diào)用的存儲(chǔ)過程sp_ClassScoreReport和sp_GradeScoreReport是本模塊的靈魂。另外,對(duì)學(xué)生名次的統(tǒng)計(jì)是通過ASP程序來完成的。現(xiàn)根據(jù)班級(jí)學(xué)期成績(jī)報(bào)表頁面對(duì)成績(jī)統(tǒng)計(jì)模塊做進(jìn)一步說明。班級(jí)學(xué)期成績(jī)報(bào)表頁面CourseScoreReport.asp報(bào)表局部代碼:If Search = 1 Then Response.Write(你查找的是:&Trim(Request(Classn)&班第&Trim(Request(Ter
54、m)&學(xué)期的成績(jī)) Response.Write()Response.Write()Response.Write( )Term = Cint(Trim(Request.Form(Term)Classn = Cint(Trim(Request.Form(Classn) Call sc_Class.ClassScoreReport(Classn,Term)Response.Write() For I = 0 to sc_Class.dbc_Class.Rs.Fields.Count - 1Response.Write(&sc_Class.dbc_Class.Rs.Fields(I).Name &
55、) Next Response.Write(&班名次&)Response.Write()If not sc_Class.dbc_Class.Rs.Eof Then Do While Not sc_Class.dbc_Class.Rs.EofOrder = Order + 1 Data= For I = 0 To (sc_Class.dbc_Class.Rs.Fields.Count - 1) Data= Data & & sc_Class.dbc_Class.Rs.Fields(I).Value & Next Data =Data &Order& Response.Write(Data & )
56、 sc_Class.dbc_Class.Rs.MoveNext LoopElseResponse.Write(沒有查找到匹配的數(shù)據(jù)!) End Ifsc_Class.dbc_Class.CloseConn() Response.Write( )End If班級(jí)學(xué)期成績(jī)報(bào)表頁面CourseScoreReport.asp調(diào)用的存儲(chǔ)過程代碼如下:CREATE PROCEDURE sp_ClassScoreReport-為查詢條件的變量聲明參數(shù)Class int, Term int AS-聲明局部變量,用來存放動(dòng)態(tài)SQL語句declare sql nvarchar(4000) select sql=
57、select sql=sql+,+Name+=sum(case CourseID when +CourseID+ then Score else 0 end)from(select distinct b.CourseID,c.Name from Score as b inner join Course as c on c.ID=b.CourseID where c.term=Term) as a order by CourseID -執(zhí)行包含動(dòng)態(tài)SQL語句的查詢語句,并將結(jié)果集存放在臨時(shí)表“#linshi里面 exec(select StudentID 學(xué)號(hào)+sql+,總成績(jī)=sum(Scor
58、e) ,平均分=Convert(dec(5,1),avg(Score) into #linshi from Score as a group by StudentID-從臨時(shí)表和Student表中查詢數(shù)據(jù),并將結(jié)果集按每個(gè)學(xué)生的平均成績(jī)降序排列 select b.Name as 姓名,a.* from #linshi as a inner join Student as b on a.學(xué)號(hào)=b.ID where b.Class=+Class+ order by a.平均分 DESC)GO班級(jí)學(xué)期成績(jī)報(bào)表頁面效果如圖4-10所示:圖4-10班級(jí)學(xué)期成績(jī)報(bào)表4.5.3成績(jī)分析成績(jī)分析模塊包括了班級(jí)
59、各科成績(jī)分析ClassCourseAnalysis.asp和年級(jí)各科成績(jī)分析GradeCourseAnalysis.asp兩個(gè)頁面,其任務(wù)是對(duì)選定班級(jí)或年級(jí)的某學(xué)期各科成績(jī)的進(jìn)行查詢,并對(duì)查詢結(jié)果進(jìn)行統(tǒng)計(jì)分析。統(tǒng)計(jì)分析結(jié)果的報(bào)表顯示了各科個(gè)分?jǐn)?shù)段的人數(shù)、各科有成績(jī)記錄的總?cè)藬?shù)、各科優(yōu)秀人數(shù)、及格人數(shù),并計(jì)算出了各科的優(yōu)生率和及格率。為了讓統(tǒng)計(jì)結(jié)果能更直觀的展現(xiàn)給用戶,本系統(tǒng)通過擴(kuò)展TeeChart組件完成了對(duì)各科各分?jǐn)?shù)段人數(shù)統(tǒng)計(jì)結(jié)果以柱狀圖的形式展現(xiàn)?,F(xiàn)根據(jù)年級(jí)各科成績(jī)分析頁面對(duì)成績(jī)分析模塊做進(jìn)一步說明。年級(jí)各科成績(jī)分析頁面效果如圖4-11所示:圖4-11年級(jí)各科成績(jī)分析頁面利用TeeChar
60、t組件生成各分?jǐn)?shù)段人數(shù)統(tǒng)計(jì)柱狀圖的主要代碼:Set TChart1 = CreateObject( TeeChart.TChart ) 首先創(chuàng)立一個(gè)TeeChart對(duì)象 TChart1.Height = 300 設(shè)置生成的圖片的高度 TChart1.Width = 500 設(shè)置生成的圖片的寬度 TChart1.Header.Text(0)=年級(jí)各分?jǐn)?shù)段人數(shù) 設(shè)置生成的圖片中的標(biāo)題 TChart1.AddSeries(1) 現(xiàn)實(shí)圖形的方式,取值范圍139 TChart1.Aspect.View3D=0 圖形是否為3D,0為否 TChart1.Series(0).Clear 調(diào)用相應(yīng)的存儲(chǔ)過程來獲
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國(guó)電光源行業(yè)競(jìng)爭(zhēng)現(xiàn)狀分析及發(fā)展趨勢(shì)研究報(bào)告
- 2024-2030年中國(guó)環(huán)保仿生材料產(chǎn)業(yè)未來發(fā)展趨勢(shì)及投資策略分析報(bào)告
- 2024-2030年中國(guó)玉器行業(yè)競(jìng)爭(zhēng)格局及投資經(jīng)營(yíng)模式分析報(bào)告
- 2024-2030年中國(guó)特殊膳食用食品行業(yè)市場(chǎng)銷售模式及投資盈利預(yù)測(cè)報(bào)告
- 2024-2030年中國(guó)熱力生產(chǎn)和供應(yīng)行業(yè)投資兼并與未來發(fā)展策略分析報(bào)告
- 2024-2030年中國(guó)灰渣環(huán)保免燒磚產(chǎn)業(yè)未來發(fā)展趨勢(shì)及投資策略分析報(bào)告
- 2024-2030年中國(guó)淀粉糖行業(yè)市場(chǎng)競(jìng)爭(zhēng)格局及發(fā)展?jié)摿Ψ治鰣?bào)告
- 2024-2030年中國(guó)海鮮行業(yè)市場(chǎng)需求量預(yù)測(cè)及投資策略分析報(bào)告
- 2024年皮革、毛皮及其制品項(xiàng)目立項(xiàng)申請(qǐng)報(bào)告范文
- 2024-2030年中國(guó)洋甘菊種子市場(chǎng)銷售策略與競(jìng)爭(zhēng)對(duì)手分析報(bào)告
- 各國(guó)鋼材牌號(hào)對(duì)照大全
- 標(biāo)準(zhǔn)化班組建設(shè)演示幻燈片
- 華為HCIP H31-341 V2.5傳輸認(rèn)證考試題庫大全-上(單選、多選題匯總)
- 小學(xué)生數(shù)學(xué)思維品質(zhì)的調(diào)查研究的開題報(bào)告
- DB51T3080-2023研學(xué)旅行實(shí)踐承辦機(jī)構(gòu)服務(wù)與管理規(guī)范
- 蘇教版三年級(jí)數(shù)學(xué)上冊(cè)《筆算兩、三位數(shù)除以一位數(shù)》評(píng)課稿
- GB/T 7702.7-2023煤質(zhì)顆?;钚蕴吭囼?yàn)方法第7部分:碘吸附值的測(cè)定
- 中國(guó)歷史的教訓(xùn)-習(xí)驊
- 《分散系》說課課件
- 抗痙攣體位專題知識(shí)講座
- 廣東省3證書高職高考語文試卷和答案
評(píng)論
0/150
提交評(píng)論