畢業(yè)論文——考試成績(jī)分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
《畢業(yè)論文——考試成績(jī)分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)》由會(huì)員分享,可在線閱讀,更多相關(guān)《畢業(yè)論文——考試成績(jī)分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(30頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、考試成績(jī)分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘 要在不斷信息化的今天,網(wǎng)絡(luò)的出現(xiàn)讓人們能夠更快地獲取更多的信息。各個(gè)領(lǐng)域都引進(jìn)了計(jì)算機(jī)網(wǎng)絡(luò)來(lái)為他們提高辦事效率。在學(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é)信息化服務(wù)體系的重要組成部分。本系統(tǒng)采用B/S模式開(kāi)發(fā),以ASP作為主要的開(kāi)發(fā)技術(shù), SQL Server2000作為后臺(tái)數(shù)據(jù)庫(kù)服務(wù)器,采用Dreamweaver MX2004制作頁(yè)面。本系統(tǒng)主要實(shí)現(xiàn)了課程設(shè)置、成績(jī)管理、學(xué)生信息管理以及成績(jī)的查詢、統(tǒng)計(jì)和分析等功能。其中在對(duì)成績(jī)統(tǒng)計(jì)和分析部分,通過(guò)TeeChar
2、t組件,用柱狀圖直觀地展現(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, computer network has been brought in to increase efficiency. It i
3、s 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 information services system. This examination result analysis
4、 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 the statistics results.Key words: management of examination
5、result; statistical and analysis; ASP; SQL Server1 引言 1.1 課題背景考試是教學(xué)中特別重要的環(huán)節(jié),通過(guò)考試,可以及時(shí)發(fā)現(xiàn)老師在教學(xué)中存在的問(wèn)題,更重要的是還能發(fā)現(xiàn)哪些學(xué)生在學(xué)習(xí)過(guò)程中存在嚴(yán)重問(wèn)題,需要老師和同學(xué)們的幫助??纪旰蟮某煽?jī)分析就可以使我們得到這些信息。但是從以往的成績(jī)分析中,我們費(fèi)時(shí)費(fèi)力的結(jié)果只能得到很少的有用信息。幾年前,大多數(shù)學(xué)校的學(xué)生成績(jī)管理基本上都是靠手工進(jìn)行,隨著近幾年各類學(xué)校辦學(xué)規(guī)模的擴(kuò)大和招生人數(shù)的增加, 有關(guān)學(xué)生成績(jī)管理工作所涉及的數(shù)據(jù)量越來(lái)越大,這使學(xué)生成績(jī)管理成為一項(xiàng)十分繁重的工作。一些學(xué)校不得不靠增加人力、物
6、力來(lái)進(jìn)行學(xué)生成績(jī)管理。但手工管理具有效率低、費(fèi)時(shí)、易錯(cuò)誤等缺點(diǎn),面對(duì)如此繁多的數(shù)據(jù)需要進(jìn)行管理、統(tǒng)計(jì)和分析,如果用人工的方法,其過(guò)程的艱辛將無(wú)發(fā)想像。教學(xué)實(shí)踐與計(jì)算機(jī)的結(jié)合,幫助我們很好的解決了這一問(wèn)題。在信息技術(shù)飛速發(fā)展的今天,計(jì)算機(jī)代替了以前大多數(shù)的人力勞動(dòng),并已經(jīng)成為各個(gè)領(lǐng)域不可缺少的應(yīng)用工具。針對(duì)目前學(xué)校教師管理學(xué)生成績(jī),并對(duì)學(xué)生成績(jī)進(jìn)行分析仍采用人工的方法,或簡(jiǎn)單的利用Excel進(jìn)行管理的現(xiàn)狀,為了減輕教師在管理學(xué)生成績(jī)時(shí)的負(fù)擔(dān),提高分析學(xué)生成績(jī)的效率,及時(shí)反映學(xué)生的學(xué)習(xí)狀態(tài),和教師在教學(xué)方面的效果,開(kāi)發(fā)出一個(gè)具有教師對(duì)學(xué)生成績(jī)進(jìn)行管理、統(tǒng)計(jì)、分析常等用功能的能跨越各種系統(tǒng)平臺(tái)的成績(jī)
7、分析系統(tǒng)勢(shì)在必行。1.2 國(guó)內(nèi)外研究現(xiàn)狀由于利用計(jì)算機(jī)代替人力勞動(dòng)對(duì)學(xué)生考試成績(jī)數(shù)據(jù)進(jìn)行管理、統(tǒng)計(jì)、分析體現(xiàn)出了巨大的優(yōu)勢(shì),在實(shí)際應(yīng)用中,基于網(wǎng)絡(luò)的、跨操作平臺(tái)的考試成績(jī)管理、分析系統(tǒng)擁有很大的市場(chǎng)。國(guó)內(nèi)外的軟件企業(yè)開(kāi)發(fā)出了各種不同功能的考試成績(jī)管理、分析系統(tǒng)。這些系統(tǒng)中的大多數(shù)是利用VB和Access數(shù)據(jù)庫(kù)進(jìn)行開(kāi)發(fā)的,這樣的系統(tǒng)在跨操作平臺(tái),和數(shù)據(jù)存儲(chǔ)方面都有明顯的不足。1.3 本課題研究的意義現(xiàn)在我國(guó)的大中專院校的學(xué)生成績(jī)管理水平普遍不高,有的還停留在紙介質(zhì)基礎(chǔ)上,這種管理手段已不能適應(yīng)時(shí)代的發(fā)展,因?yàn)樗速M(fèi)了了許多的人力和物力。在當(dāng)今信息時(shí)代這種傳統(tǒng)的管理方法必然被計(jì)算機(jī)網(wǎng)絡(luò)為基礎(chǔ)的信息
8、管理系統(tǒng)所代替。如果本系統(tǒng)能被學(xué)校所采用,將會(huì)改變以前靠手工對(duì)學(xué)生成績(jī)進(jìn)行管理、統(tǒng)計(jì)和分析的狀況,可以大大提高教學(xué)工作的效率,樹(shù)立良好的辦學(xué)形象。2 相關(guān)技術(shù)介紹2.1 ASP技術(shù)的簡(jiǎn)介ASP全稱為Active Server Pages的簡(jiǎn)寫(xiě),是一套由微軟公司開(kāi)發(fā)的服務(wù)器端運(yùn)行的腳本平臺(tái),使用ASP內(nèi)置組件可以快速開(kāi)發(fā)動(dòng)態(tài)網(wǎng)頁(yè)。每一個(gè)組件都是由一組富有經(jīng)驗(yàn)的程序員根據(jù)動(dòng)態(tài)網(wǎng)頁(yè)最常用的功能而開(kāi)發(fā)的。在ASP3.0中,共有6個(gè)這樣的組件: Application ,ASPError ,Request ,Response ,Server ,Session .常見(jiàn)的Cookies就是利用Session
9、組件實(shí)現(xiàn)的。此外,還可以利用第三方組件延伸ASP的作用,如利用MailSender組件發(fā)送電子郵件。 通過(guò)ASP我們可以結(jié)合HTML網(wǎng)頁(yè)、ASP指令和ActiveX元件建立動(dòng)態(tài)、交互且高效的WEB服務(wù)器應(yīng)用程序。同時(shí),ASP也支持VBScript和JScript等腳本語(yǔ)言,默認(rèn)為VBScript。其中JScript是微軟公司的ECMAScript標(biāo)準(zhǔn)的實(shí)現(xiàn),并且有自己的擴(kuò)展。本系統(tǒng)將采用VBScript腳本語(yǔ)言。 ASP是經(jīng)過(guò)服務(wù)器解析之后再向網(wǎng)頁(yè)瀏覽器返回?cái)?shù)據(jù),所以有了ASP就不必?fù)?dān)心客戶的瀏覽器是否能運(yùn)行你所編寫(xiě)的代碼。因?yàn)樗械某绦蚨紝⒃诰W(wǎng)頁(yè)服務(wù)器端執(zhí)行,包括所有嵌在普通HTML中的腳本
10、程序。當(dāng)程序執(zhí)行完畢后,服務(wù)器僅將執(zhí)行的結(jié)果返回給客戶瀏覽器,這樣也就減輕了客戶端瀏覽器的負(fù)擔(dān),大大提高了交互的速度。由于代碼是需要經(jīng)過(guò)服務(wù)器執(zhí)行之后才向?yàn)g覽器發(fā)送的,所以在客戶端看到的只能是經(jīng)過(guò)解析之后的數(shù)據(jù),而無(wú)法獲得源代碼,故編寫(xiě)者不用擔(dān)心自己的源代碼會(huì)被別人剽竊。但不排除黑客利用系統(tǒng)漏洞竊取服務(wù)器端的ASP源代碼?;谶@樣的解析方式,也導(dǎo)致運(yùn)行ASP頁(yè)面相對(duì)于普通的HTML頁(yè)面要慢一點(diǎn)。因?yàn)槠胀ǖ腍TML頁(yè)面只需要瀏覽器就能夠解析,而ASP則必須是服務(wù)器將整頁(yè)的代碼都執(zhí)行一遍之后再發(fā)送數(shù)據(jù)。 ASP提供與數(shù)據(jù)庫(kù)的交互,如Microsoft SQL Server、Access、MySQL
11、和Oracle,比較流行的是ASP和Microsoft SQL Server的組合。2.2 SQL SERVER簡(jiǎn)介SQL Server是微軟公司所推出的一套運(yùn)行在Windows平臺(tái)上的數(shù)據(jù)庫(kù)管理系統(tǒng),用于提供作為應(yīng)用程序的數(shù)據(jù)來(lái)源,存放各種數(shù)據(jù),并可以讓用戶很容易地實(shí)現(xiàn)所要進(jìn)行的數(shù)據(jù)存取操作,同時(shí)它也提供了一些可視化的管理工具,協(xié)助數(shù)據(jù)庫(kù)系統(tǒng)管理者更方便快捷地管理及設(shè)計(jì)數(shù)據(jù)庫(kù)內(nèi)容,以及對(duì)數(shù)據(jù)庫(kù)進(jìn)行維護(hù)。SQL在客戶/服務(wù)開(kāi)發(fā)中的角色,因?yàn)楸究荚嚦煽?jī)分析系統(tǒng)所產(chǎn)生和處理的數(shù)據(jù)量比較大,這就讓我們首先想到了SQL server大型數(shù)據(jù)庫(kù),SQL是一組符合工業(yè)標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)操作令集。SQL不是一門(mén)語(yǔ)
12、言,無(wú)法得到一個(gè)專門(mén)的SQL軟件,它只是服務(wù)器數(shù)據(jù)庫(kù)的部份。SQL Server數(shù)據(jù)庫(kù)是動(dòng)態(tài)網(wǎng)頁(yè)中的重要部分。動(dòng)態(tài)網(wǎng)頁(yè)中的大部分?jǐn)?shù)據(jù)都是放在數(shù)據(jù)庫(kù)中的,動(dòng)態(tài)網(wǎng)頁(yè)頁(yè)面效果是通過(guò)調(diào)用數(shù)據(jù)庫(kù)信息來(lái)實(shí)現(xiàn)的。因此,數(shù)據(jù)庫(kù)在動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)中也起著越來(lái)越重要的作用。作為一種查詢語(yǔ)言,SQL語(yǔ)言的主要功能就是同各種數(shù)據(jù)庫(kù)建立聯(lián)系,進(jìn)行溝通。SQL語(yǔ)言集數(shù)據(jù)查詢、數(shù)據(jù)操縱、數(shù)據(jù)定義和數(shù)據(jù)控制功能于一身,它有一體化、高度非過(guò)程化、語(yǔ)言簡(jiǎn)潔、以多種方式使用等特點(diǎn)。數(shù)據(jù)定義語(yǔ)言(DDL):實(shí)現(xiàn)定義、刪除和修改數(shù)據(jù)庫(kù)對(duì)象的功能。數(shù)據(jù)查尋語(yǔ)言(DQL):實(shí)現(xiàn)對(duì)查尋數(shù)據(jù)的功能數(shù)據(jù)操縱語(yǔ)言(DML):實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的增加、刪
13、除和修改功能。數(shù)據(jù)控制語(yǔ)言(DCL):實(shí)現(xiàn)控制用戶對(duì)數(shù)據(jù)庫(kù)的操作權(quán)限的功能。由于本考試成績(jī)分析系統(tǒng)使用的大量的存儲(chǔ)過(guò)程,現(xiàn)將SQL Server的存儲(chǔ)過(guò)程做簡(jiǎn)單介紹:存儲(chǔ)過(guò)程(Stored Procedure)是一組為了完成特定功能的SQL語(yǔ)句集,經(jīng)編譯后存儲(chǔ)在數(shù)據(jù)庫(kù)中。用戶通過(guò)制定存儲(chǔ)過(guò)程的名字并給出參數(shù)(如果該存儲(chǔ)過(guò)程帶有參數(shù))來(lái)執(zhí)行它。存儲(chǔ)過(guò)程是一個(gè)預(yù)編譯的對(duì)象,這意味著過(guò)程是預(yù)先編譯好的,并且供不同的應(yīng)用程序執(zhí)行。因此,根本不需要再花時(shí)間對(duì)過(guò)程重新進(jìn)行語(yǔ)法分析和編譯,其執(zhí)行速度很快。開(kāi)發(fā)者用Transaction-SQL編寫(xiě)的程序作為存儲(chǔ)過(guò)程存儲(chǔ)在SQL Server中,并創(chuàng)建應(yīng)用程序
14、來(lái)調(diào)用存儲(chǔ)過(guò)程,對(duì)數(shù)據(jù)結(jié)果進(jìn)行處理,存儲(chǔ)過(guò)程能夠通過(guò)接收參數(shù)向調(diào)用者返回結(jié)果集,結(jié)果集的格式由調(diào)用者確定;返回狀態(tài)值給調(diào)用者,指明調(diào)用是成功還是失??;存儲(chǔ)過(guò)程包括針對(duì)數(shù)據(jù)庫(kù)的操作語(yǔ)句,并且可以在一個(gè)存儲(chǔ)過(guò)程中調(diào)用另一個(gè)存儲(chǔ)過(guò)程。存儲(chǔ)過(guò)程雖然既有參數(shù)又有返回值,但是它與函數(shù)不同。存儲(chǔ)過(guò)程的返回值只是指明執(zhí)行是否成功,并且它不能像函數(shù)那樣被直接調(diào)用,也就是說(shuō)。在調(diào)用存儲(chǔ)過(guò)程時(shí),在存儲(chǔ)過(guò)程名字前一定要有EXEC保留字。存儲(chǔ)過(guò)程具有下面一些優(yōu)點(diǎn):(1)存儲(chǔ)過(guò)程允許標(biāo)準(zhǔn)組件式編程。(2)存儲(chǔ)過(guò)程能夠?qū)崿F(xiàn)較快的執(zhí)行速度。(3)存儲(chǔ)過(guò)程能夠減少網(wǎng)絡(luò)流量。(4)存儲(chǔ)過(guò)程可被作為一種安全機(jī)制來(lái)充分利用。2.3
15、Dreamweaver簡(jiǎn)介Dreamweaver是由美國(guó)著名的軟件開(kāi)發(fā)商Macromedia公司推出的一個(gè)“所見(jiàn)即所得”的可視化網(wǎng)站開(kāi)發(fā)工具。無(wú)論在國(guó)外還是在國(guó)內(nèi),它都是倍受專業(yè)Web開(kāi)發(fā)人士推崇的軟件。在國(guó)內(nèi),它被大家稱為網(wǎng)頁(yè)“織夢(mèng)者”,眾多的專業(yè)網(wǎng)站和個(gè)人主頁(yè)都把它列為建站的首選工具。在最新的MX版本中,對(duì)Dreamweaver的代碼控制和后臺(tái)功能作了進(jìn)一步增強(qiáng),整合了UltraDev,ColdFusion Studio,Homesite等優(yōu)秀軟件,使得新版本的Dreamweaver比起原有的版本,功能得到了一個(gè)飛躍的發(fā)展。3 系統(tǒng)設(shè)計(jì)3.1 系統(tǒng)需求分析使用計(jì)算機(jī)網(wǎng)絡(luò)對(duì)學(xué)生考試成績(jī)信息進(jìn)
16、行管理,具有手工管理所無(wú)法比擬的優(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)具備對(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ù)
17、段人數(shù)分布等進(jìn)行統(tǒng)計(jì)分析,對(duì)各分?jǐn)?shù)段人數(shù)分布還應(yīng)通過(guò)圖形的方式直觀地展現(xiàn)出來(lái);系統(tǒng)通過(guò)設(shè)置不同的登錄用戶權(quán)限來(lái)對(duì)系統(tǒng)進(jìn)行訪問(wèn)和管理。3.2 系統(tǒng)具備的功能系統(tǒng)可按權(quán)限分為公共模塊,管理員模塊,教師模塊三個(gè)模塊。公共模塊:可通過(guò)輸入學(xué)號(hào),學(xué)期查詢相應(yīng)的成績(jī)信息。教師模塊:此模塊需要登錄用戶擁有教師權(quán)限,用戶登錄后可以通過(guò)選擇查詢條件查詢相關(guān)的成績(jī)信息、成績(jī)統(tǒng)計(jì)報(bào)表、成績(jī)分布柱狀圖。管理員模塊:此模塊需要登錄用戶擁有管理員權(quán)限,用戶登錄后除了可以通過(guò)選擇查詢條件查詢相關(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)行管
18、理,實(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ù)庫(kù)設(shè)計(jì)設(shè)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)時(shí)應(yīng)首先了解用戶各個(gè)方面的需求,包括現(xiàn)有的以及將來(lái)可能增加的需求,用戶的需求具體體現(xiàn)在各種信息的提供、保存、更新和查詢,這就要求數(shù)據(jù)庫(kù)結(jié)構(gòu)能充分滿足各種信息的輸入和輸出。收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)以及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)
19、字典,為后面的具體設(shè)計(jì)打下基礎(chǔ)。針對(duì)本考試成績(jī)分析系統(tǒng)的需求,通過(guò)對(duì)考試成績(jī)的管理、統(tǒng)計(jì)、分析過(guò)程分析,需要使用管理員和教師信息表保存系統(tǒng)管理員和教師的基本信息,使用學(xué)生信息表保存學(xué)生的個(gè)人信息,使用課程信息表保存所開(kāi)設(shè)的課程的信息,使用成績(jī)信息表保存考試成績(jī)數(shù)據(jù)。3.4.1數(shù)據(jù)庫(kù)的表設(shè)計(jì)首先在SQL Server中創(chuàng)建名為score的數(shù)據(jù)庫(kù),根據(jù)對(duì)系統(tǒng)的分析可以得出本系統(tǒng)需要的表如下:管理員和教師信息表(admin):用來(lái)存放管理員或教師ID、姓名、登錄密碼和用戶類型(系統(tǒng)管理員或普通教師)信息。Type:此字段用來(lái)標(biāo)示用戶為普通教師或系統(tǒng)管理員;字段值為“1” :用戶為系統(tǒng)管理員,擁有管理
20、員權(quán)限,可訪問(wèn)查詢分析模塊和數(shù)據(jù)管理模塊,可對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行添加、修改、刪除操作;字段值為“2” :用戶為普通教師,擁有非管理員教師權(quán)限,只能訪問(wèn)查詢分析模塊,不能對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行添加、修改、刪除操作。表3-1管理員和教師信息表(admin)字段名字段數(shù)據(jù)類型字段長(zhǎng)度允許空簡(jiǎn)要說(shuō)明IDVarchar20否登錄ID、主鍵NameVarchar20是教師或管理員姓名PasswordVarchar20是登錄密碼TypeInt4是用戶類型、權(quán)限學(xué)生信息表(student):用來(lái)存放學(xué)生的學(xué)號(hào)、姓名、性別、所在年級(jí)和所在班級(jí)信息。Gender:此字段用來(lái)標(biāo)示學(xué)生的性別:字段值為“0” ,性別為:女;字段值為
21、“1” ,性別為:男。表3-2學(xué)生信息表(student)字段名字段數(shù)據(jù)類型字段長(zhǎng)度允許空簡(jiǎn)要說(shuō)明IDVarchar20否學(xué)生學(xué)號(hào)、主鍵NameVarchar20是學(xué)生姓名GenderBit1是學(xué)生性別ClassInt4否學(xué)生所在班級(jí)GradeVarchar20否學(xué)生所在年級(jí)課程信息表(course):用來(lái)存放課程ID、課程名、授課教師ID、課程描述和課程所在的學(xué)期信息。Term:此字段用來(lái)標(biāo)示課程所在的學(xué)期,字段值從一年級(jí)上半期為“1”開(kāi)始編號(hào),按學(xué)期增加的順序,字段值依次加1。如:一年級(jí)下半期為“2” 。表3-3課程信息表(course)字段名字段數(shù)據(jù)類型字段長(zhǎng)度允許空簡(jiǎn)要說(shuō)明IDVarc
22、har20否課程ID號(hào)NameVarchar20是課程名字TeacherIDVarchar20是授課教師ID號(hào)RemarkVarchar50是課程描述TermInt4否課程所在的學(xué)期成績(jī)信息表(score):用來(lái)存放成績(jī)對(duì)應(yīng)的學(xué)生學(xué)號(hào)、課程ID、分?jǐn)?shù)和考試類型信息,此表的由兩個(gè)外鍵“StudentID”和“CourseID”組成復(fù)合主鍵。Type:此字段用來(lái)標(biāo)示考試的類型;字段值為“1” ,表示正??荚嚕蛔侄沃禐椤?” ,表示補(bǔ)考。表3-4成績(jī)信息表(score)字段名字段數(shù)據(jù)類型字段長(zhǎng)度允許空簡(jiǎn)要說(shuō)明StudentIDVarchar20否考生學(xué)號(hào)、復(fù)合主鍵、外鍵CourseIDVarchar
23、20否課程ID號(hào)、復(fù)合主鍵、外鍵ScoreInt4是成績(jī)分?jǐn)?shù)TypeInt4是考試類型3.4.2 表間關(guān)系數(shù)據(jù)庫(kù)中所創(chuàng)建的表有如下的約束關(guān)系:課程信息表course中的“TeacherID”字段受教師信息表admin中的“ID”字段約束,成績(jī)信息表score中的“SrudentID”字段受學(xué)生信息表student中的“ID”字段約束,“CourseID”字段受課程信息表course中的“ID”字段約束。如圖3-2所示。CoursePKIDNameTeacherIDTermRemarkScorePKStudentIDPKCourseIDScoreTypeAdminPKIDNamePassword
24、TypeStudentPKIDNameGenderGradeClass1nn1n1圖3-2各表間的約束關(guān)系4 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)4.1 系統(tǒng)首頁(yè)系統(tǒng)首頁(yè)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ù)目。此頁(yè)面還為系統(tǒng)管理員和教師用戶提供了登錄頁(yè)面的鏈接,用戶點(diǎn)擊此鏈接可進(jìn)入系統(tǒng)登錄頁(yè)面進(jìn)行用戶登錄。系統(tǒng)首頁(yè)頁(yè)面效果如圖4-1所示。圖4-1 系統(tǒng)首頁(yè)首頁(yè)中查詢學(xué)生個(gè)人成績(jī)的存儲(chǔ)過(guò)程代碼如下:CREATE PR
25、OCEDURE sp_SearchScoreStudentID varchar(20),Term intAS Select d.name,a.StudentID,a.Score,(case a.Typewhen 1 then 正??荚?when 2 then 補(bǔ)考 end) as Type,b.Name as CourseName,c.Name as TeacherNamefrom Score a,Course b,admin c,student dwhere a.StudentID=StudentID and a.CourseID=b.ID and b.TeacherID = c.ID an
26、d b.Term=Term and d.ID=StudentIDGO4.2 系統(tǒng)登錄模塊系統(tǒng)管理員和教師用戶可通過(guò)系統(tǒng)登錄頁(yè)面Login.asp進(jìn)行登錄。填寫(xiě)完登錄信息,提交表單后系統(tǒng)通過(guò)LoginCheck.asp對(duì)用戶填寫(xiě)的登錄信息和數(shù)據(jù)庫(kù)中記錄的信息進(jìn)行對(duì)比,若用戶填寫(xiě)登錄信息有空項(xiàng),系統(tǒng)會(huì)提示“用戶和密碼不能為空” ,然后系統(tǒng)返回登錄頁(yè)面Login.asp;若用戶登錄信息填寫(xiě)錯(cuò)誤,頁(yè)面將提示“用戶名或密碼輸入有誤” ,然后系統(tǒng)返回登錄頁(yè)面Login.asp;若用戶登錄信息填寫(xiě)正確,系統(tǒng)將會(huì)對(duì)用戶的權(quán)限類型“Type”進(jìn)行檢查,若“Type=1”表示用戶為系統(tǒng)管理員,系統(tǒng)會(huì)將用戶的登錄信
27、息記錄在Cookies集合和Session變量中,然后系統(tǒng)轉(zhuǎn)到管理員頁(yè)面Manage.asp;若“Type=2”表示用戶為教師用戶,系統(tǒng)會(huì)將用戶的登錄信息記錄在Cookies集合和Session變量中后轉(zhuǎn)到教師頁(yè)面Teacher.asp。LoginCheck.asp中驗(yàn)證用戶信息的函數(shù)checkUser代碼如下:功能:驗(yàn)證用戶信息是否正確參數(shù):username用戶名, password密碼返回值:正確則返回1,不正確返回0 設(shè)置Cookies用戶ID(UserID)和登錄狀態(tài)(Login)Function checkUser(userid,password)Dim dbc_ClassSet d
28、bc_Class = New DBConn 建立存儲(chǔ)過(guò)程的輸入?yún)?shù)Set Cmd1 = Server.CreateObject(ADODB.Command)Set Param = Cmd1.CreateParameter(ID,adVarChar,adParamInput,20,userid)Cmd1.Parameters.Append ParamSet Param=Cmd1.CreateParameter(PassWord,adVarChar,adParamInput,20,password)Cmd1.Parameters.Append Param運(yùn)行名為sp_CheckUser的存儲(chǔ)過(guò)程C
29、all 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(UserName) = dbc_Class.Rs(Name)Session(UserID) = dbc_Class.Rs(ID)Session(UserType) = dbc_Class.Rs(Type
30、)dbc_Class.Rs.MoveNextWend成功時(shí)的返回值checkUser = 1End IfSet Cmd1 = nothingdbc_Class.CloseConn()End Function函數(shù)checkUser調(diào)用的存儲(chǔ)過(guò)程代碼如下:CREATE PROCEDURE sp_CheckUserID varchar(20),Password varchar(20)AS SELECT * FROM admin WHERE ID=ID and Password=PasswordGO4.3 管理員和教師頁(yè)面4.3.1管理員頁(yè)面擁有管理員權(quán)限的用戶登錄后即進(jìn)入管理員頁(yè)面Manage.as
31、p,頁(yè)面上方將顯示登錄用戶的用戶名。用戶可以點(diǎn)擊左上方的“退出”鏈接退出系統(tǒng),系統(tǒng)將轉(zhuǎn)到Logout.asp頁(yè)面,清空Cookies集合和Session變量后返回到系統(tǒng)首頁(yè)。管理員可通過(guò)此頁(yè)面進(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)管理員頁(yè)面效果如圖4-2所示。圖4-2 系統(tǒng)管理員頁(yè)4.3.2教師頁(yè)面擁有非管理員權(quán)限的教師用戶登錄后即進(jìn)入管理員頁(yè)面Teacher.asp,頁(yè)面上方將顯示登錄用戶的用戶名。用戶可以點(diǎn)擊左上方的“退出”鏈接退出系統(tǒng),系統(tǒng)將轉(zhuǎn)到Logout.asp頁(yè)面,清空Cookies集
32、合和Session變量后返回到系統(tǒng)首頁(yè)。教師用戶可通過(guò)此頁(yè)面進(jìn)入成績(jī)查詢與分析模塊,對(duì)成績(jī)數(shù)據(jù)進(jìn)行相應(yīng)的查詢與分析操作,并返回查詢分析報(bào)表。教師頁(yè)面效果如圖4-3所示。圖4-3 教師頁(yè) 4.4 系統(tǒng)數(shù)據(jù)管理模塊系統(tǒng)數(shù)據(jù)管理模塊只有擁有管理員權(quán)限的用戶才能進(jìn)入進(jìn)行操作,通過(guò)此模塊可以對(duì)包括成績(jī)錄入等一系列的系統(tǒng)數(shù)據(jù)進(jìn)行管理。此模塊又分為學(xué)生管理、課程管理、成績(jī)管理和用戶管理四個(gè)小模塊。4.4.1學(xué)生管理學(xué)生管理模塊完成了對(duì)學(xué)生信息進(jìn)行添加、修改、刪除操作,以達(dá)到對(duì)學(xué)生信息管理的目的。此模塊的主頁(yè)面為StudentManage.asp,管理員可通過(guò)輸入需要管理的班級(jí)的班級(jí)號(hào),查詢得到現(xiàn)有的學(xué)生信息
33、列表,通過(guò)列表中相應(yīng)的鏈接對(duì)學(xué)生信息進(jìn)行修改和刪除操作。學(xué)生管理主頁(yè)面效果如圖4-4所示。圖4-4學(xué)生管理主頁(yè)面(1)修改學(xué)生數(shù)據(jù)信息:管理員可通過(guò)點(diǎn)擊如圖4-4所示學(xué)生管理頁(yè)面的相應(yīng)學(xué)生的操作列中的筆型按鈕,即可進(jìn)入學(xué)生信息修改頁(yè)面EditStudent.asp,并將待修改學(xué)生的學(xué)號(hào)ID同時(shí)傳遞到該頁(yè)面。在EditStudent.asp頁(yè)面上,顯示有數(shù)據(jù)庫(kù)中記錄的待修改學(xué)生的全部信息,修改完該學(xué)生的信息點(diǎn)擊“提交”按鈕完成修改。提交修改后,系統(tǒng)會(huì)對(duì)提交的信息進(jìn)行檢查,若修改過(guò)程中存在沒(méi)有填寫(xiě)完整的項(xiàng),系統(tǒng)會(huì)提示該項(xiàng)信息不能為空,然后返回學(xué)生管理主頁(yè)面StudentManage.asp;若修改
34、學(xué)生信息對(duì)數(shù)據(jù)庫(kù)操作失敗,系統(tǒng)將會(huì)提示“更新數(shù)據(jù)時(shí)失敗” ,并返回學(xué)生管理主頁(yè)面StudentManage.asp。學(xué)生信息修改頁(yè)面效果如圖4-5所示。圖4-5 學(xué)生信息修改頁(yè)面修改學(xué)生信息調(diào)用的存儲(chǔ)過(guò)程代碼如下:CREATE PROCEDURE sp_UpdateStudent-為要更新的變量聲明參數(shù)IDvarchar(20),Name varchar(20),Genderint,Grade varchar(20),ClassintAS-將待更新的變量更新為參數(shù)傳入的值Update StudentSet ID=ID,Name=Name,Gender=Gender,Grade=Grade,Cl
35、ass=ClassWhere ID=IDGO(2)刪除學(xué)生數(shù)據(jù)信息:管理員可通過(guò)點(diǎn)擊如圖4-4所示學(xué)生管理頁(yè)面相應(yīng)學(xué)生的操作列中的叉型按鈕,即可完成對(duì)該行對(duì)應(yīng)學(xué)生的信息進(jìn)行刪除,刪除成功后系統(tǒng)將返回學(xué)生管理主頁(yè)面StudentManage.asp。刪除學(xué)生信息調(diào)用的存儲(chǔ)過(guò)程代碼如下:CREATE PROCEDURE sp_DelStudentID varchar(20)AS -先刪除從表數(shù)據(jù)再刪主表數(shù)據(jù) -刪除該學(xué)生的成績(jī)數(shù)據(jù) DELETE FROM Score WHERE StudentID = ID -刪除學(xué)生基本數(shù)據(jù) DELETE FROM Student WHERE Student.I
36、D = IDGO(3)添加學(xué)生數(shù)據(jù)信息:管理員可通過(guò)點(diǎn)擊學(xué)生管理頁(yè)面StudentManage.asp或管理員頁(yè)面Manage.asp下方的“添加學(xué)生”按鈕,即可進(jìn)入添加學(xué)生信息頁(yè)面AddStudent.asp。在該頁(yè)面填寫(xiě)完該學(xué)生的信息點(diǎn)擊“提交”按鈕完成對(duì)學(xué)生信息的添加。提交后,系統(tǒng)會(huì)對(duì)提交的信息進(jìn)行檢查,若存在沒(méi)有填寫(xiě)完整的項(xiàng),系統(tǒng)會(huì)提示該項(xiàng)信息不能為空,然后返回添加學(xué)生信息頁(yè)面AddStudent.asp;若添加學(xué)生信息時(shí)對(duì)數(shù)據(jù)庫(kù)操作失敗,系統(tǒng)將會(huì)提示“錄入數(shù)據(jù)時(shí)失敗” ,并返回添加學(xué)生信息頁(yè)面AddStudent.asp。添加學(xué)生信息調(diào)用的存儲(chǔ)過(guò)程如下:CREATE PROCEDUR
37、E 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課程管理課程管理模塊可以對(duì)課程信息進(jìn)行添加、修改、刪除操作,以達(dá)到對(duì)課程開(kāi)設(shè)進(jìn)行管理的目的。此模塊的主頁(yè)面為CourseManage.asp,管理員可通過(guò)頁(yè)面中的下拉菜單選擇相應(yīng)的課程,點(diǎn)
38、擊“課程信息”按鈕后頁(yè)面會(huì)返回該課程的詳細(xì)信息,管理員可以通過(guò)列表中相應(yīng)的鏈接對(duì)課程信息進(jìn)行修改和刪除操作。課程管理主頁(yè)面效果如圖4-6所示。圖4-6課程管理頁(yè)面(1)修改課程數(shù)據(jù)信息:管理員可通過(guò)點(diǎn)擊如圖4-6所示的相應(yīng)課程的操作列中的筆型按鈕,即可進(jìn)入課程信息修改頁(yè)面EditCourse.asp,并將待修改課程ID同時(shí)傳遞到該頁(yè)面。轉(zhuǎn)到EditCourse.asp頁(yè)面后,頁(yè)面顯示有數(shù)據(jù)庫(kù)中記錄的待修改課程的全部信息,修改完該課程的信息點(diǎn)擊“提交”按鈕完成修改。提交修改后,系統(tǒng)會(huì)對(duì)提交的信息進(jìn)行檢查,若修改過(guò)程中存在沒(méi)有填寫(xiě)完整的項(xiàng),系統(tǒng)會(huì)提示該項(xiàng)信息不能為空,然后返回課程管理頁(yè)面Cours
39、eManage.asp;若修改課程信息對(duì)數(shù)據(jù)庫(kù)操作失敗,系統(tǒng)將會(huì)提示“更新數(shù)據(jù)時(shí)失敗” ,并返回課程管理頁(yè)面CourseManage.asp。修改課程信息調(diào)用的存儲(chǔ)過(guò)程代碼如下:CREATE PROCEDURE sp_UpdateCourse-為要修改的字段聲明參數(shù)IDvarchar(20),Name varchar(20),TeacherIDvarchar(20),Remarkvarchar(50),Term intASUpdate CourseSet ID=ID,Name=Name,TeacherID=TeacherID,Remark=Remark,Term=TermWhere ID=ID
40、GO(2)刪除課程數(shù)據(jù)信息:管理員可通過(guò)點(diǎn)擊如圖4-6所示相應(yīng)課程操作列中的叉型按鈕,即可完成對(duì)該課程信息的刪除,刪除成功后系統(tǒng)將返回課程管理主頁(yè)面CourseManage.asp。 刪除課程信息調(diào)用的存儲(chǔ)過(guò)程代碼如下:CREATE PROCEDURE sp_DelCourseID varchar(20)AS -應(yīng)先刪除從表數(shù)據(jù)再刪主表數(shù)據(jù) -刪除該課程相關(guān)的成績(jī)數(shù)據(jù) DELETE FROM Score WHERE CourseID = ID -刪除課程基本數(shù)據(jù) DELETE FROM Course WHERE Course.ID = IDGO(3)添加課程數(shù)據(jù)信息:管理員可通過(guò)點(diǎn)擊課程管理頁(yè)
41、面CourseManage.asp或管理員頁(yè)面Manage.asp下方的“添加課程”按鈕,即可進(jìn)入添加課程信息頁(yè)面AddCourse.asp。在該頁(yè)面填寫(xiě)完該課程的信息點(diǎn)擊“提交”按鈕完成對(duì)課程信息的添加。提交后,系統(tǒng)會(huì)對(duì)提交的信息進(jìn)行檢查,若存在沒(méi)有填寫(xiě)完整的項(xiàng),系統(tǒng)會(huì)提示該項(xiàng)信息不能為空,然后返回添加課程信息頁(yè)面AddCourse.asp;若添加課程信息時(shí)對(duì)數(shù)據(jù)庫(kù)操作失敗,系統(tǒng)將會(huì)提示“錄入數(shù)據(jù)時(shí)失敗” ,并返回添加課程信息頁(yè)面AddCourse.asp。添加課程信息調(diào)用的存儲(chǔ)過(guò)程如下:CREATE PROCEDURE sp_AddCourse ID varchar(20), Name v
42、archar(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)行管理的目的。此模塊的主頁(yè)面為ScoreManage.asp,管理員通過(guò)輸入需要對(duì)成績(jī)進(jìn)行管理的班級(jí)的班級(jí)號(hào),并從頁(yè)面的下來(lái)菜單中選擇相應(yīng)的學(xué)期和課程,查詢得到某個(gè)班級(jí)某學(xué)期某門(mén)課程的成績(jī)信息列表,通過(guò)列表中相應(yīng)的鏈接對(duì)成績(jī)信息進(jìn)行修改和刪除操作。成績(jī)管理主頁(yè)面效果
43、如圖4-7所示。圖4-7 成績(jī)管理頁(yè)面(1)修改成績(jī)數(shù)據(jù)信息:管理員可通過(guò)點(diǎn)擊如圖4-7所示的相應(yīng)成績(jī)的操作列中的筆型按鈕,即可進(jìn)入成績(jī)信息修改頁(yè)面EditScore.asp,并將待修改成績(jī)對(duì)應(yīng)的學(xué)號(hào)和課程ID同時(shí)傳遞到該頁(yè)面。瀏覽器轉(zhuǎn)到EditCourse.asp頁(yè)面后,顯示有數(shù)據(jù)庫(kù)中記錄的待修改成績(jī)相關(guān)的全部信息,修改后點(diǎn)擊“提交”按鈕完成修改。提交修改后,系統(tǒng)會(huì)對(duì)提交的信息進(jìn)行檢查,若修改過(guò)程中存在沒(méi)有填寫(xiě)完整的項(xiàng),系統(tǒng)會(huì)提示該項(xiàng)信息不能為空,然后返回成績(jī)管理頁(yè)面ScoreManage.asp;若修改成績(jī)信息對(duì)數(shù)據(jù)庫(kù)操作失敗,系統(tǒng)將會(huì)提示“更新數(shù)據(jù)時(shí)失敗” ,并返回成績(jī)管理頁(yè)面Score
44、Manage.asp。修改成績(jī)數(shù)據(jù)信息調(diào)用的存儲(chǔ)過(guò)程代碼如下:CREATE PROCEDURE sp_UpdateScore-為要修改的字段聲明參數(shù)StudentIDvarchar(20),CourseIDvarchar(20),Score int,Type intASUpdate ScoreSet Score = Score,Type= TypeWhere StudentID=StudentID and CourseID=CourseIDGO(2)刪除成績(jī)數(shù)據(jù)信息:管理員可通過(guò)點(diǎn)擊如圖4-7所示成績(jī)管理頁(yè)面相應(yīng)成績(jī)操作列中的叉型按鈕,即可完成對(duì)該成績(jī)信息的刪除,刪除成功后系統(tǒng)將返回課程成績(jī)管
45、理主頁(yè)面ScoreManage.asp。刪除成績(jī)信息調(diào)用的存儲(chǔ)過(guò)程代碼如下:CREATE PROCEDURE sp_DelScoreStudentID varchar(20),CourseID varchar(20)AS-從Score表中刪除字段StudentID值為參數(shù)StudentID的值,且字段CourseID的值為參數(shù)CourseID的值的記錄 DELETE FROM Score WHERE StudentID = StudentID and CourseID=CourseIDGO(3)添加成績(jī)數(shù)據(jù)信息:管理員可通過(guò)點(diǎn)擊成績(jī)管理頁(yè)面ScoreManage.asp或管理員頁(yè)面Manage
46、.asp下方的“添加成績(jī)”按鈕,即可進(jìn)入添加成績(jī)信息頁(yè)面AddScore.asp。在該頁(yè)面管理員需要從下拉菜單中選擇要添加成績(jī)的學(xué)生和課程信息,而不能自己填寫(xiě) 填寫(xiě)該項(xiàng)的信息。這樣做的目的是避免為數(shù)據(jù)庫(kù)中不存在的學(xué)生或不存在的課程添加成績(jī)。填寫(xiě)完成績(jī)的相關(guān)信息點(diǎn)擊“提交”按鈕完成對(duì)成績(jī)信息的添加。提交后,系統(tǒng)會(huì)對(duì)提交的信息進(jìn)行檢查,若存在沒(méi)有填寫(xiě)完整的項(xiàng),系統(tǒng)會(huì)提示該項(xiàng)信息不能為空,然后返回添加成績(jī)信息頁(yè)面AddScore.asp;若添加成績(jī)信息時(shí)對(duì)數(shù)據(jù)庫(kù)操作失敗,系統(tǒng)將會(huì)提示“錄入數(shù)據(jù)時(shí)失敗” ,并返回添加成績(jī)信息頁(yè)面AddScore.asp。添加成績(jī)信息頁(yè)面效果如圖4-8所示。圖4-8 添
47、加成績(jī)頁(yè)面添加成績(jī)信息調(diào)用的存儲(chǔ)過(guò)程如下: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ì)管理員和教師信息進(jìn)行添加、修改、刪除操作,以達(dá)到對(duì)登錄用戶信息進(jìn)行管理的目的。此模塊的主頁(yè)面為UserManage.asp,管理員可通過(guò)輸入需要管理的用戶的登錄ID號(hào)
48、,可以查詢得到該用戶的相關(guān)信息信息列表,通過(guò)列表中相應(yīng)的鏈接可以對(duì)用戶信息進(jìn)行修改和刪除操作。管理員還可通過(guò)點(diǎn)擊用戶管理頁(yè)面UserManage.asp或管理員頁(yè)面Manage.asp下方的“添加用戶”按鈕,即可進(jìn)入添加用戶信息頁(yè)面AddUser.asp。在該頁(yè)面填寫(xiě)完添加用戶的信息提交后,系統(tǒng)會(huì)對(duì)提交的信息進(jìn)行檢查,若存在沒(méi)有填寫(xiě)完整的項(xiàng),系統(tǒng)會(huì)提示該項(xiàng)信息不能為空,然后返回添加用戶信息頁(yè)面AddUser.asp;若添加用戶時(shí)對(duì)數(shù)據(jù)庫(kù)操作失敗,系統(tǒng)將會(huì)提示“錄入數(shù)據(jù)時(shí)失敗” ,并返回添加用戶信息頁(yè)面AddUser.asp。4.5 查詢分析模塊4.5.1單科報(bào)表單科報(bào)表模塊包括了班級(jí)單科成績(jī)報(bào)
49、表CourseScoreReport.asp和年級(jí)單科成績(jī)報(bào)CourseScoreGradeReport.asp表兩個(gè)頁(yè)面,完成了對(duì)選定班級(jí)或年級(jí)的某門(mén)課程成績(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ì),并通過(guò)統(tǒng)計(jì)結(jié)果計(jì)算出該班或該年紀(jì)在這門(mén)課程的及格率。現(xiàn)根據(jù)班級(jí)單科成績(jī)報(bào)表對(duì)單科報(bào)表模塊做進(jìn)一步說(shuō)明。班級(jí)單科成績(jī)報(bào)表查詢時(shí)調(diào)用的存儲(chǔ)過(guò)程代碼如下:CREATE PROCEDURE sp_CourseScoreReport-為查詢條件的變量聲明參數(shù)Class int,CourseID varchar(20)AS-查詢符合
50、條件“課程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,Course b,Score c where b.id=CourseID and a.Class=Class and a.id=c.StudentID and
51、b.id=c.CourseID Order by c.Score DescGO班級(jí)單科成績(jī)報(bào)頁(yè)面效果如圖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è)頁(yè)面,完成了對(duì)選定班級(jí)或年級(jí)的某學(xué)期各科成績(jī)的查詢和對(duì)查詢結(jié)果的匯總統(tǒng)計(jì)。查詢的結(jié)果按成績(jī)平均分?jǐn)?shù)由高到底排序,并統(tǒng)計(jì)出名次。匯總統(tǒng)計(jì)通過(guò)使用交叉表和動(dòng)態(tài)SQL語(yǔ)句完成了對(duì)學(xué)期各科成績(jī)的匯總、計(jì)算總分、各科平均分。在本成績(jī)統(tǒng)計(jì)模塊中交叉表和動(dòng)態(tài)SQL語(yǔ)句的使用是一個(gè)難點(diǎn),可以說(shuō)本模塊頁(yè)面
52、調(diào)用的存儲(chǔ)過(guò)程sp_ClassScoreReport和sp_GradeScoreReport是本模塊的靈魂。另外,對(duì)學(xué)生名次的統(tǒng)計(jì)是通過(guò)ASP程序來(lái)完成的?,F(xiàn)根據(jù)班級(jí)學(xué)期成績(jī)報(bào)表頁(yè)面對(duì)成績(jī)統(tǒng)計(jì)模塊做進(jìn)一步說(shuō)明。班級(jí)學(xué)期成績(jī)報(bào)表頁(yè)面CourseScoreReport.asp報(bào)表部分代碼:If Search = 1 Then Response.Write(你查找的是:&Trim(Request(Classn)&班第&Trim(Request(Term)&學(xué)期的成績(jī)) Response.Write()Response.Write()Response.Write( )Term = Cint(Trim(
53、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 & ) Next Response.Write(&班名次&)Response.Write()If not sc_Class.dbc_Class.Rs.Eof
54、 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 & ) sc_Class.dbc_Class.Rs.MoveNext LoopElseResponse.Write(沒(méi)有查找到匹配的數(shù)據(jù)!) End Ifsc
55、_Class.dbc_Class.CloseConn() Response.Write( )End If班級(jí)學(xué)期成績(jī)報(bào)表頁(yè)面CourseScoreReport.asp調(diào)用的存儲(chǔ)過(guò)程代碼如下:CREATE PROCEDURE sp_ClassScoreReport-為查詢條件的變量聲明參數(shù)Class int, Term int AS-聲明局部變量,用來(lái)存放動(dòng)態(tài)SQL語(yǔ)句declare sql nvarchar(4000) select sql= select sql=sql+,+Name+=sum(case CourseID when +CourseID+ then Score else 0 e
56、nd)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語(yǔ)句的查詢語(yǔ)句,并將結(jié)果集存放在臨時(shí)表“#linshi”里面 exec(select StudentID 學(xué)號(hào)+sql+,總成績(jī)=sum(Score) ,平均分=Convert(dec(5,1),avg(Score) into #linshi from Score as a group by S
57、tudentID-從臨時(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)表頁(yè)面效果如圖4-10所示:圖4-10班級(jí)學(xué)期成績(jī)報(bào)表4.5.3成績(jī)分析成績(jī)分析模塊包括了班級(jí)各科成績(jī)分析ClassCourseAnalysis.asp和年級(jí)各科成績(jī)分析GradeCourseAnalysis.asp兩個(gè)頁(yè)面,其任務(wù)是對(duì)選定班級(jí)
58、或年級(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)通過(guò)擴(kuò)展TeeChart組件完成了對(duì)各科各分?jǐn)?shù)段人數(shù)統(tǒng)計(jì)結(jié)果以柱狀圖的形式展現(xiàn)?,F(xiàn)根據(jù)年級(jí)各科成績(jī)分析頁(yè)面對(duì)成績(jī)分析模塊做進(jìn)一步說(shuō)明。年級(jí)各科成績(jī)分析頁(yè)面效果如圖4-11所示:圖4-11年級(jí)各科成績(jī)分析頁(yè)面利用TeeChart組件生成各分?jǐn)?shù)段人數(shù)統(tǒng)計(jì)柱狀圖的主要代碼:Set TChart1 = CreateObject( TeeChart.TChart ) 首先創(chuàng)建一個(gè)T
59、eeChart對(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ǔ)過(guò)程來(lái)獲取對(duì)應(yīng)分?jǐn)?shù)段的人數(shù),并靜態(tài)向圖表中添加顯示數(shù)據(jù),參數(shù)依次為數(shù)值大小,名稱,顏色 Call sc_Class.getNOInGrade90_100(CourseID,Grade) TChart1.Series(0).Add sc_Class.dbc_Class.Rs(RenShu), 90-100 ,RGB(35,70,128) Cal
- 溫馨提示:
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. 裝配圖網(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《增值稅法》全文學(xué)習(xí)解讀(規(guī)范增值稅的征收和繳納保護(hù)納稅人的合法權(quán)益)
- 2024《文物保護(hù)法》全文解讀學(xué)習(xí)(加強(qiáng)對(duì)文物的保護(hù)促進(jìn)科學(xué)研究工作)
- 銷售技巧培訓(xùn)課件:接近客戶的套路總結(jié)
- 20種成交的銷售話術(shù)和技巧
- 銷售技巧:接近客戶的8種套路
- 銷售套路總結(jié)
- 房產(chǎn)銷售中的常見(jiàn)問(wèn)題及解決方法
- 銷售技巧:值得默念的成交話術(shù)
- 銷售資料:讓人舒服的35種說(shuō)話方式
- 汽車銷售績(jī)效管理規(guī)范
- 銷售技巧培訓(xùn)課件:絕對(duì)成交的銷售話術(shù)
- 頂尖銷售技巧總結(jié)
- 銷售技巧:電話營(yíng)銷十大定律
- 銷售逼單最好的二十三種技巧
- 銷售最常遇到的10大麻煩