• <em id="6vhwh"><rt id="6vhwh"></rt></em>

    <style id="6vhwh"></style>

    <style id="6vhwh"></style>
    1. <style id="6vhwh"></style>
        <sub id="6vhwh"><p id="6vhwh"></p></sub>
        <p id="6vhwh"></p>
          1. 国产亚洲欧洲av综合一区二区三区 ,色爱综合另类图片av,亚洲av免费成人在线,久久热在线视频精品视频,成在人线av无码免费,国产精品一区二区久久毛片,亚洲精品成人片在线观看精品字幕 ,久久亚洲精品成人av秋霞

            ASP+SQL Server典型網(wǎng)站建設(shè)案例

            更新時間:2023-11-19 14:23:01 閱讀: 評論:0

            美好的祝福-我衷心的謝謝你

            ASP+SQL Server典型網(wǎng)站建設(shè)案例
            2023年11月19日發(fā)(作者:一件開心的事作文)f文檔可能在W

            辣大叔醬板鴨

            AP端瀏覽體驗不佳。建議您優(yōu)先選擇TXT,或下載源文件到本機查看。

            2

            ASP+SQL Server 典型網(wǎng)站建設(shè)案例

            1.1

            應(yīng) 用 背 景

            隨著社會的進步和商品經(jīng)濟的不斷發(fā)展,社會對勞動者和技術(shù)人員的知識和能力水平的要求越來 越高.考試作為衡量人的能力的重要手段,在現(xiàn)代生活中的地位進一步提高,并深入到社會的各個方 面.各種各樣的學(xué)歷考試,資格證書考試層出不窮.同時,Internet 技術(shù)的發(fā)展使得考試的技術(shù)手段和 載體發(fā)生了革命性的變化.Internet 的開放性和分布性的特點以及基于 Internet 的巨大計算能力使得考 試突破了時間和空間的限制.基于 Internet 的考試系統(tǒng)正成為人們的研究熱點之一.例如在英國,已經(jīng) 實現(xiàn)了英語資格考試的網(wǎng)上學(xué)習(xí)和水平認證全過程. 計算機應(yīng)用迅猛發(fā)展,網(wǎng)絡(luò)應(yīng)用不斷擴大,如遠程教育和虛擬大學(xué)的出現(xiàn)等,使得基于 Web 的在 線考試系統(tǒng)成為現(xiàn)實.基于 Web 的在線考試系統(tǒng)可以發(fā)揮網(wǎng)絡(luò)的優(yōu)勢,建立大型,高效,共享的題庫 和實現(xiàn)隨時隨地的考試,降低考試成本,減少人為干擾,減輕教師負擔(dān),節(jié)約人力,物力和財力. 根據(jù)考試管理的實際要求,結(jié)合試卷管理的工作流程,系統(tǒng)應(yīng)實現(xiàn)以下功能: 掌握本考試范圍內(nèi)所有考生的基本情況,包括學(xué)號,姓名,成績等. 試卷的自動生成,答題完成后,系統(tǒng)對照正確答案,給出試卷分數(shù). 對試題庫進行增加,刪除,修改等更新操作. 不同用戶的管理功能不同.管理員類用戶可以創(chuàng)建試卷,策劃每期考試題型及分數(shù),對試題庫 進行維護,批準補考,查詢學(xué)生以往考試成績等功能.考生類用戶可以參加考試,完成答卷.

            1.2

            系 統(tǒng) 設(shè) 計

            一個好的系統(tǒng)離不開科學(xué),詳實的系統(tǒng)設(shè)計.系統(tǒng)只有建立在系統(tǒng)設(shè)計基礎(chǔ)上,才能成為一個好 的系統(tǒng).

            1.2.1 系統(tǒng)構(gòu)架

            系統(tǒng)設(shè)計的基礎(chǔ)是系統(tǒng)構(gòu)架. 1.基于 B/S 體系 整個系統(tǒng)采用 Browr/Web/DataBa 的 3 層體系結(jié)構(gòu). Browr/Server 的系統(tǒng)中, 用戶可以通過瀏 覽器向分布在網(wǎng)絡(luò)上的服務(wù)器發(fā)出請求,服務(wù)器對瀏覽器的請求進行處理,將用戶所需信息返回到瀏 覽器.B/S 結(jié)構(gòu)簡化了客戶機的工作,客戶機上只需配置 Web 瀏覽器即可.服務(wù)器將擔(dān)負更多的工作, 對數(shù)據(jù)庫的訪問和應(yīng)用程序的執(zhí)行將在服務(wù)器上完成.瀏覽器發(fā)出請求,而其余如數(shù)據(jù)請求,加工, 結(jié)果返回以及動態(tài)網(wǎng)頁生成等工作全部由 Web Server 完成. 在 Browr/Server 三層體系結(jié)構(gòu)下,表示層(prentatioon),功能層(business logic),數(shù)據(jù)層 (data rvice)被割成 3 個相對獨立的單元. 第一層(表示層):Web瀏覽器.在表示層中包含系統(tǒng)的顯示邏輯,位于客戶端.它的任務(wù)

            第1章

            在線考試系統(tǒng)

            3

            是由Web瀏覽器向網(wǎng)絡(luò)上的Web服務(wù)器提出服務(wù)請求,Web服務(wù)

            器對用戶身份進行驗證后用 HTTP協(xié)議把所需的主頁傳送給客戶端,客戶機接受傳來的主頁文件,并把它顯示在Web瀏覽 器



            序擴展功能的Web服務(wù)器.在功能層中包含系統(tǒng)的事務(wù)處理 邏輯,位于Web服務(wù)器端.它的任務(wù)是接受用戶的請求,首先需要執(zhí)行相應(yīng)的擴展應(yīng)用程序 與數(shù)據(jù)庫進行連接,通過SQL等方式向數(shù)據(jù)庫服務(wù)器提出數(shù)據(jù)處理申請,而后等數(shù)據(jù)庫服務(wù) 器將數(shù)據(jù)處理的結(jié)果提交給Web服務(wù)器,再由Web服務(wù)器傳送回客戶端. 第三層(數(shù)據(jù)層):數(shù)據(jù)庫服務(wù)器.在數(shù)據(jù)層中包含系統(tǒng)的數(shù)據(jù)處理邏輯,位于數(shù)據(jù)庫服務(wù) 器端.它的任務(wù)是接受Web服務(wù)器對數(shù)據(jù)庫操縱的請求,實現(xiàn)對數(shù)據(jù)庫查詢,修改,更新等 功能,把運行結(jié)果提交給Web服務(wù)器.系統(tǒng)采用SQL Server 2000數(shù)據(jù)庫. Browr/Server 三層體系結(jié)構(gòu),如圖 1.1 所示. 2.系統(tǒng)總體構(gòu)架圖 在線考試系統(tǒng)總體構(gòu)架圖,如圖 1.2 所示.

            前端應(yīng)用管理系統(tǒng) B/S 結(jié)構(gòu) 用戶資

            辣大叔醬板鴨

            料系統(tǒng)

            客戶機 HTTP 服務(wù)器 Web 服務(wù) 器(IIS) 瀏覽器 HTML Web 應(yīng)用 程序 數(shù)據(jù)庫

            考試系統(tǒng)

            后端應(yīng)用管理系統(tǒng) B/S 結(jié)構(gòu) 管理員資料系統(tǒng) IIS SQL Server 2000 Windows 2000/NT/XP/98 考試管理系統(tǒng)

            圖 1.1

            B/S 三層體系結(jié)構(gòu)圖

            圖 1.2

            在線考試系統(tǒng)總體框架圖

            1.2.2 系統(tǒng)功能模塊設(shè)計

            系統(tǒng)主要功能如下: 學(xué)生在線注冊成功后可以登錄到考試中心,參加由系統(tǒng)按最新一期試卷的設(shè)置隨機產(chǎn)生的試 題的考試. 學(xué)生提交答題,系統(tǒng)自動對照數(shù)據(jù)庫正確答案算出分數(shù),即學(xué)生當(dāng)期考試的成績提交到成績 庫中. 學(xué)生只能對每一期考試提交一次成績,如果不及格,后臺管理員(教師)可以設(shè)置補考機會, 一個人一期考試只能有一次補考機會. 題庫的維護(包括判斷題,選擇題和填空題),試卷的維護,成績的統(tǒng)計,學(xué)生的查詢與管 理等. 系統(tǒng)主要分為前端,后端兩大管理系統(tǒng),包括 4 大功能模塊,如圖 1.3 所示. 1.用戶類型 系統(tǒng)用戶分為兩類:學(xué)生類用戶和管理員(教師)類用戶.學(xué)生類用戶是指當(dāng)前系統(tǒng)中所有的學(xué) 生.此類用戶只能對自己的信息進行初次注冊及瀏覽,不具有瀏覽和查詢他人信息的權(quán)利,也不能對

            4

            ASP+SQL Server 典型網(wǎng)站建設(shè)案例

            自身和他人的信息進行管理.管理員(教師)類用戶可以對自己和他人的信息進行瀏覽,查詢以及修 改等管理.同時具有題庫的維護,試卷的維護和成績的統(tǒng)計等功能.

            管理員信息系統(tǒng) 后 端 管 理 系 統(tǒng) 考試管理系統(tǒng) 管理員信息修改

            判斷題管理

            選擇題管理

            填空題管理

            試卷管理

            成績管理

            學(xué)生管理

            前 端 管 理 系 統(tǒng)

            學(xué)生資料系統(tǒng)

            新學(xué)生考試資格注冊

            參加考試

            考試系統(tǒng)

            以往成績查詢

            查看答案分析結(jié)果 圖 1.3 功能模塊

            2.后臺考試管理模塊 此模塊只對管理員(教師)類

            用戶開放.管理員(教師)類用戶可以對題庫(包括判斷題,選擇 題和填空題)進行增加,刪除,修改等操作.如果當(dāng)

            可以在現(xiàn)有信息中進行查詢.不僅可以對策劃試卷的題型,分數(shù)等進行創(chuàng)建,修改和刪除 操作,而且可以對考試成績進行查詢,根據(jù)實際情況對具有補考資格的學(xué)生批準補考,還可以對學(xué)生 資料進行查找和刪除. 3.考試管理模塊 此模塊對學(xué)生類用戶開放.學(xué)生類用戶可以瀏覽自己以往的學(xué)習(xí)成績,也可以參加考試,對創(chuàng)建

            第 1 章 在線考試系統(tǒng)

            5

            的試卷中的題目進行回答.答題完畢,系統(tǒng)自動對照數(shù)據(jù)庫正確答案算出分數(shù),即學(xué)生當(dāng)期考試的成 績提交到成績庫中.

            1.2.3 系統(tǒng)主要工作流程

            1.管理員(教師)在線考試后臺管理 管理員(教師)在線考試后臺管理程序流程圖,如圖 1.4 所示.

            判斷題管理 type_ 選擇題管理 type_ 填空題管理 type_ 試卷管理 成績管理 學(xué)生管理 student_ 管理員資料

            管理員(教師)登錄頁面 admin/

            登錄 失敗

            成功

            在線考試后臺管理頁面

            圖 1.4

            管理員(教師)在線考試后臺管理程序主要流程圖

            2.學(xué)生在線考試 學(xué)生在線考試前臺管理程序流程圖,如圖 1.5 所示.

            學(xué)生注冊頁面 學(xué)生登錄頁面

            登錄 成功 在線考試管理頁面

            失敗

            以往考試成績查詢頁面 my_

            在線考試答題頁面

            圖 1.5

            學(xué)生在線考試前臺管理程序流程圖

            6

            ASP+SQL Server 典型網(wǎng)站建設(shè)案例

            1.2.4 數(shù)據(jù)庫的分析與設(shè)計

            本次開發(fā)的數(shù)據(jù)庫包括 4 方面. 題庫數(shù)據(jù):包括了判斷題,選擇題和填空題 3 種類型題目.包括題目的題干,答案和加入日 期信息. 管理員,學(xué)生資料信息數(shù)據(jù):包括姓名,密碼,性別,班級和學(xué)號等基礎(chǔ)數(shù)據(jù). 成績資料表數(shù)據(jù):包括學(xué)生學(xué)號,分數(shù),考試日期和是否補考等基礎(chǔ)數(shù)據(jù). 考試題型數(shù)據(jù):包括考題數(shù)據(jù),每題分數(shù)等基礎(chǔ)數(shù)據(jù). 本系統(tǒng)將使用 SQL Server 2000 作為數(shù)據(jù)庫管理系統(tǒng).安裝 SQL Server 2000,打開企業(yè)管理器,新 建一個數(shù)據(jù)庫,將其命名為 數(shù)據(jù)庫中包含的數(shù)據(jù)表及其相應(yīng)功能如表 1.1 所示.

            表 1.1 test數(shù)據(jù)庫包含的數(shù)據(jù)表及其功能 數(shù) 據(jù) 表 功 能

            admin student examination test rightorwrong lecting filling

            存放管理員(教

            辣大叔醬板鴨

            師)類用戶基本信息 存放學(xué)生類用戶基本信息 存放學(xué)生考試成績基本信息 存放試卷基本信息 系統(tǒng)判斷題題庫 系統(tǒng)選擇題題庫 系統(tǒng)填空題題庫

            注意:雖然 SQL Server 建立的數(shù)據(jù)表中字段的名稱可以支持中文,但是從以往經(jīng)驗來看,用于系統(tǒng) 開發(fā)而建立的數(shù)據(jù)庫最好不要使用中文,而是使用對應(yīng)于中文意義的英文.這是基于以下兩 點:在某些不支持中文的系統(tǒng)中,字

            段名稱含有中文的數(shù)據(jù)庫將不能夠被識別,這樣數(shù)據(jù)庫 就不能夠使用,從而使數(shù)據(jù)庫的可

            dows 操作系統(tǒng)中, 在某些情況下中文字段也有可能會不能識別,或者不能很好地識別. 1.管理員(教師)信息表 admin 管理員 (教師) 信息表用于存放管理員 (教師) 類用戶的基本信息, 包括管理員 (教師) (admin) 姓名 , 管理員 (教師) 密碼 (adminpassword) 兩項基本信息. 在已創(chuàng)建的 SQL Server 數(shù)據(jù)庫 test 中, 右擊 "表" 創(chuàng)建一個表,名為 admin.向表中添加字段 admin 和 adminpassword.其中,admin(姓名)字段作為該 表的主關(guān)鍵字(primary key),惟一標(biāo)識了一個管理員(教師)用戶記錄的信息.管理員(教師)信 息數(shù)據(jù)表結(jié)構(gòu)如表 1.2 所示.

            表 1.2 admin 字 段 名 數(shù)據(jù)類型及長度 說 明 備 注

            admin adminpassword

            nvarchar(10) nvarchar(6)

            管理員姓名 管理員密碼

            主關(guān)鍵字 不能為空

            第 1 章 在線考試系統(tǒng)

            7

            2.學(xué)生信息表 student 學(xué)生信息表主要用于存放學(xué)生類用戶的基本信息.包括學(xué)生學(xué)號(studentnumber),學(xué)生姓名 (studentname) 學(xué)生密碼 , (studentpassword) 學(xué)生性別 , (x) 學(xué)生班級 , (class) 和注冊日期 (registerdata) 6 個字段.其中,studentnumber(學(xué)生學(xué)號)字段作為主關(guān)鍵字.學(xué)生信息表結(jié)構(gòu)如表 1.3 所示.

            表 1.3 student 字 段 名 數(shù)據(jù)類型及長度 說 明 備 注

            studentnumber studentname studentpassword x class registerdata

            nvarchar(8) nvarchar(10) nvarchar(6) char(2) nvarchar(30) smalldatetime

            學(xué)生學(xué)號 學(xué)生姓名 學(xué)生密碼 學(xué)生性別 學(xué)生班級 注冊日期

            主關(guān)鍵字 不能為空 不能為空 允許為空 允許為空 允許為空

            3.考試成績信息表 examination 考試成績信息表主要用于存放學(xué)生類用戶的考試成績,是否獲得補考及其補考成績等基本信息. 包 括 試 卷 編 號 ( examinationid ) , 學(xué) 生 學(xué) 號 ( studentnumber ) , 學(xué) 生 成 績 ( score ) , 考 試 日 期 (examinationdata),是否補考(pass),補考成績(makeup)和補考日期(makeupdata)7 個字段. 其中,examinationid(試卷編號)與 studentnumber(學(xué)生學(xué)號)作為主關(guān)鍵字.pass(是否補考)默認 值為 0,makeup(補考成績)默認值為 0.考試成績信息表結(jié)構(gòu)如表 1.4 所示.

            表 1.4 examination 字 段 名 數(shù)據(jù)類型及長度 說 明 備 注

            examinationid studentnumber score examinationdata pass makeup makeupdat

            辣大叔醬板鴨

            a

            int nvarchar(8) int smalldatetime bit int smalldatetime

            試卷編號 學(xué)生學(xué)號 學(xué)生成績 考試日期 是否補考 補考成績 補考日期

            不能為空 不能為空 允許為空 允許為空 允許為空 允許為空 允許為空

            4.考試題型信息表 test 每次考試之前,由管理員(教師)為用戶創(chuàng)建本次考試的試卷,試卷信息被保存在試卷信息表中. 包括試卷編號(examinationid),判斷題數(shù)(rightorwrongid),判斷題每題分數(shù)(rightorwrongscore), 選擇題數(shù) (lectid)

            選擇題每題分數(shù) , (lectscore) 填空題數(shù) , (fillingid) 填空題每題分數(shù) , (fillingscore) 和設(shè)置日

            //

            inationid(試卷編號)作為主關(guān)鍵字.examinationid(試 卷編號)標(biāo)識為"是",標(biāo)識種子為"1",標(biāo)識增量為"1".考試題型信息表結(jié)構(gòu)如表 1.5 所示.

            8

            ASP+SQL Server 典型網(wǎng)站建設(shè)案例

            表 1.5 字 段 名 數(shù)據(jù)類型及長度

            test 說 明 備 注

            examinationid rightorwrongid rightorwrongscore lectid lectscore fillingid fillingscore tupdata

            int int int int int int int smalldatetime

            試卷編號 判斷題數(shù) 判斷題每題分數(shù) 選擇題數(shù) 選擇題每題分數(shù) 填空題數(shù) 填空題每題分數(shù) 設(shè)置日期

            不能為空 允許為空 允許為空 允許為空 允許為空 允許為空 允許為空 允許為空

            5.判斷題信息表 rightorwrong 判斷題是考試系統(tǒng)能夠支持的考試題型的一種,判斷題信息保存在判斷題信息表中.包括判斷題 編號(rightorwrongid),題目內(nèi)容(question),正確答案(answer)和加入日期(tupdata)4 個字 段.其中,rightorwrongid(判斷題編號)作為主關(guān)鍵字.rightorwrongid(判斷題編號)標(biāo)識為"是", 標(biāo)識種子為"1",標(biāo)識增量為"1".判斷題信息表結(jié)構(gòu)如表 1.6 所示.

            表 1.6 rightorwrong 字 段 名 數(shù)據(jù)類型及長度 說 明 備 注

            rightorwrongid question answer tupdata

            int nvarchar(250) bit smalldatetime

            判斷題編號 題目內(nèi)容 正確答案 加入日期

            不能為空 允許為空 允許為空 允許為空

            6.選擇題信息表 lecting 選擇題除問題本身外,具有 4 個可選答案,選擇題信息保存在選擇題信息表中.包括選擇題編號 (lectid) 題目內(nèi)容 , (question) 答案選項 1 , (result1) 答案選項 2 , (result2) 答案選項 3 , (result3) , 答案選項 4(result4),正確答案(answer)和加入日期(tupdata)8 個字段.其中,lectid(選擇 題編號)作為主關(guān)鍵字.lectid(選擇題編號)標(biāo)識為"是",標(biāo)識種子為"1",標(biāo)識增量為"1". 選擇題信息表結(jié)構(gòu)如表 1.7 所示.

            表 1.7 lecting 字 段 名 數(shù)據(jù)類型及長度 說 明 備 注

            lectid question result1 result2 result3

            int nvarchar(250) nvarchar(100) nvarchar(100) nvarchar(100)

            選擇題編號 題目內(nèi)容 選項1 選項2 選項3

            不能為空 允許為空 允許為空 允許為空 允許為空

            第 1 章 在線考試系統(tǒng)

            9 續(xù)表







            數(shù)據(jù)類型及長度









            result4 answer tupdata

            nvarchar(100) nvarchar(100) smalldatetime

            選項4 正確答案 加入日期

            允許為空 允許為空 允許為空

            7.填空題信息表 filling 填空題信息保存在填空題信息表中,包括填空題編號(fillingid),題目內(nèi)容(question),正確答 案(answer)和加入日期(tupdata)4 個字段.其中,fillingid(填空題編號)作為主關(guān)鍵字.fillingid (填空題編號)標(biāo)識為"是",標(biāo)識種子為"1",標(biāo)識增量為"1".填空題信息表結(jié)構(gòu)如表 1.8 所示.

            表 1.8 filling 字 段 名 數(shù)據(jù)類型及長度 說 明 備



            fillingid question answer tupdata

            int nvarchar(250) nvarchar(250) smalldatetime

            填空題編號

            許為空

            8.以上各表的關(guān)系 從實際關(guān)系來說,學(xué)習(xí)成績信息表中的試卷編號,學(xué)生學(xué)號與考試題型信息表中的試卷編號和學(xué) 生信息表中的學(xué)生學(xué)號存在著必然的聯(lián)系.因此需要建立 examination 表,test 表,student 表相對應(yīng)字 段的關(guān)系.定義下列兩組參照關(guān)系: examination表中的examinationid字段與test表中的examinationid字段為多對一關(guān)系. examination表中的studentnumber字段與student表中的studentnumber字段為多對一關(guān)系. 各

            辣大叔醬板鴨

            表的關(guān)系反映在 SQL Server 的數(shù)據(jù)庫關(guān)系設(shè)計圖中,如圖 1.6 所示.

            圖 1.6

            表間關(guān)系圖

            10

            ASP+SQL Server 典型網(wǎng)站建設(shè)案例

            注意:在數(shù)據(jù)庫設(shè)計中,表與表之間存在著不可或缺的關(guān)系.在所有關(guān)系中,主關(guān)鍵字(PK)和外 部關(guān)鍵字(FK)最為重要.主關(guān)鍵字——能惟一標(biāo)識表中的每一列的一列或多列的組合,這 樣的列就成為主關(guān)鍵字.每個表都必須有且只能有一個主關(guān)鍵字,其值惟一地標(biāo)識表中的每 一行.外關(guān)鍵字——用于建立和加強兩個表數(shù)據(jù)之間的鏈接的一列或多列的組合,其值或是 與主關(guān)鍵字相同,或是為空(NULL),外關(guān)鍵字可有多個.

            1.3

            1.在線考試后臺管理主窗口

            程序主要頁面設(shè)計

            單擊判斷題管理,選擇題管理,填空題管理,試卷管理等,實現(xiàn)對試題題庫增加,修改或刪除管 理.單擊成績管理,學(xué)生管理,系統(tǒng)管理,實現(xiàn)對系統(tǒng)基本信息管理.在線考試后臺管理主窗口如 圖 1.7 所示.

            圖 1.7

            在線考試后臺管理主窗口

            2.判斷題管理窗口 可以對判斷題題目進行編輯,刪除和添加,同時也可以對判斷題題目進行查找,分頁及頁面跳轉(zhuǎn) 功能,將在此處闡述,以后不再雷同介紹,判斷題管理窗口如圖 1.8 所示. 單擊"編輯"按鈕,進入編輯界面.可以對判斷題題目,答案進行修改,并單擊"提交"按鈕保 存到數(shù)據(jù)庫中.判斷題修改窗口如圖 1.9 所示.

            第 1 章 在線考試系統(tǒng)

            11

            圖 1.8

            判斷題管理窗口

            圖 1.9

            判斷題修改窗口

            單擊"添加新題"按鈕,進入添加新題界面.可以對判斷題題目進行添加,并單擊"提交"按鈕, 保存到數(shù)據(jù)庫中.添加判斷題窗口如圖 1.10 所示. 3.選擇題管理窗口 可以對選擇題進行編輯,刪除和添加,同時也可以對選擇題題目進行查找.選擇題管理窗口如 圖 1.11 所示.

            12

            ASP+SQL Server 典型網(wǎng)站建設(shè)案例

            圖 1.10

            添加判斷題窗口

            圖 1.11

            選擇題管理窗口

            4.填空題管理窗口 可以對填空題進行編輯,刪除和添加,同時也可以對填空題題目進行查找.填空題管理窗口如 圖 1.12 所示.

            第 1 章 在線考試系統(tǒng)

            13

            圖 1.12

            填空題管理窗口

            5.試題管理窗口 可以對設(shè)定考期試卷題型題目,分數(shù)進行修改.修改之后在修

            改復(fù)選框內(nèi)用"√"表示.如圖 1.13 所示為試題管理

            "按鈕,進入試卷設(shè)置窗口,如 圖 1.14 所示.填寫完畢,單擊"增加"按鈕,保存試卷設(shè)置.

            圖 1.13

            試題管理窗口

            圖 1.14

            試卷設(shè)置窗口

            6.成績統(tǒng)計管理窗口 可以查詢每個考試批次的學(xué)生成績,以及是否批準補考和補考考試成績等信息.可以按學(xué)生姓名

            14

            ASP+SQL Server 典型網(wǎng)站建設(shè)案例

            查找學(xué)生成績.單擊下拉菜單,選擇考試批

            辣大叔醬板鴨

            次,下方顯示考生姓名,分數(shù),補考設(shè)置和補考成績信息. 單擊"批準補考"鏈接,批準考生補考.成績統(tǒng)計管理窗口如圖 1.15 所示.

            圖 1.15

            成績統(tǒng)計管理窗口

            7.學(xué)生統(tǒng)計管理窗口 顯示學(xué)號,考生姓名,性別,班號信息,以及是否刪除信息,可以按照考生姓名進行查詢,單擊 "查找"按鈕,如圖 1.16 所示. 8.系統(tǒng)管理窗口 填寫賬號,密碼,單擊"修改賬號"按鈕,修改后臺管理系統(tǒng)賬號及密碼,如圖 1.17 所示.

            圖 1.16

            學(xué)生統(tǒng)計管理窗口

            圖 1.17

            系統(tǒng)管理窗口

            第 1 章 在線考試系統(tǒng)

            15

            9.學(xué)員注冊窗口 在表格內(nèi),填寫新學(xué)員注冊信息,單擊"提交"按鈕保存學(xué)員注冊信息,如圖 1.18 所示.

            圖 1.18

            學(xué)生注冊窗口

            10.考試預(yù)備窗口 顯示當(dāng)前考試基本考試題型及分數(shù).單擊"進入考試"鏈接,進入考試窗口界面,如圖 1.19 所示.

            圖 1.19

            考試預(yù)備窗口

            11.考試窗口 對試卷進行相應(yīng)的解答,解答完畢單擊"提交"按鈕,彈出考試在線判卷窗口,顯示考試答案及 成績.如圖 1.20 所示為考試窗口.

            16

            ASP+SQL Server 典型網(wǎng)站建設(shè)案例

            圖 1.20

            考試窗口

            1.4

            1.4.1 IIS 配置

            IIS 配置與 SQL Server 數(shù)據(jù)庫連接

            IIS 是 Internet Information Server 的縮寫,是微軟提供的 Internet 服務(wù)器軟件,包括 Web,FTP, Mail 等服務(wù)器.本文以 Windows 2000 服務(wù)器版操作系統(tǒng)為例,介紹 Web 服務(wù)器的安裝和設(shè)置方法. 目前運行 IIS 的最理想平臺是 Windows 2000 服務(wù)器版和高級服務(wù)器版. Windows 9x/Me 里也有 IIS, 但只是 PWS(個人 Web 服務(wù)器),功能很有限,只支持 1 個連接.Windows XP 里的 IIS 也只支持 10 個連接. IIS 是 Windows 操作系統(tǒng)自帶的組件.如果在安裝操作系統(tǒng)時沒有安裝 IIS,則應(yīng)手動安裝.安裝 步驟如下: (1)打開"控制面板"窗口,雙擊"添加或刪除程序"圖標(biāo),運行"添加或刪除程序"窗口. (2)選擇"添加或刪除程序"窗口內(nèi)"添加/刪除 Windows 組件"選項,彈出"Windows 組件向 導(dǎo)"對話框. (3)選中"Internet 信息服務(wù)(IIS)"復(fù)選框,單擊"下一步"按鈕,執(zhí)行操作.IIS 安裝完畢. 接下來,就是要對系統(tǒng)進行新建虛擬目錄操作: (1)打開"控制面板"窗口,雙擊"管理工具"圖標(biāo),進入"管理工具"窗口. (2)雙擊"Internet 服務(wù)管理器"圖標(biāo),進入"Internet 信息服務(wù)"窗口. (3)單擊"操作"目錄,選擇下拉菜單"新建"|"虛擬目錄"命令,如圖 1.21 所

            示.

            第 1 章 在線考試

            "歡迎"窗口,單擊"下一步"按鈕. (5)在"別名"文本框中輸入映射后的名字,如 zxks,單擊"下一步"按鈕. (6)在"目錄"文本框中輸入要映射的目錄,如 d:softwarezxks,單擊"下一步"按鈕,進入設(shè) 置訪問權(quán)限窗口,如圖 1.22 所示.

            圖 1.22

            設(shè)置訪問權(quán)限窗口

            (7)在這里選擇正確的訪問權(quán)限,再單擊"下一步"按鈕,即完成設(shè)置. 刪除映射的方法:打開"Internet 信息服務(wù)"窗口,在虛擬目錄別名上單擊鼠標(biāo)右鍵,選擇"刪除" 命令即可.

            1.4.2 創(chuàng)建 SQL Server 數(shù)據(jù)庫

            打開 SQL Server 2000 的"企業(yè)管理器"窗口.右擊"數(shù)據(jù)庫"分支,彈出右鍵目錄,如圖 1.23 所示.選擇"新建數(shù)據(jù)庫"命令,彈出"數(shù)據(jù)庫屬性"窗口,如圖 1.24 所示.在"名稱"文本框內(nèi)輸

            18

            ASP+SQL Server 典型網(wǎng)站建設(shè)案例

            入 test,單擊"確定"按鈕,完成創(chuàng)建.

            圖 1.23

            新建數(shù)據(jù)庫窗口

            圖 1.24

            "數(shù)據(jù)庫屬性"窗口

            按照要求建好數(shù)據(jù)庫后,需要建立網(wǎng)站頁面與后臺服務(wù)器的鏈接,頁面名稱為 .以后當(dāng) 需要對程序中的數(shù)據(jù)庫進行操作時,只需要用命令就可以直接調(diào)用該程 序,打開數(shù)據(jù)庫,提高程序的可讀性,同時也提高程序便捷性.代碼如下:

            <% Set conn = Object("tion") '創(chuàng)建一個數(shù)據(jù)庫鏈接對象 conn,方便后面調(diào)用 connstr="Provider=SQLOLEDB;Data Source=(local);Initial Catalog=test;Ur ID=sa;Password=yanyan;" '創(chuàng)建一個數(shù)據(jù)庫的 recordt 對象,方便以后調(diào)用 connstr '打開數(shù)據(jù)庫 %>

            第 1 章 在線考試系統(tǒng)

            19

            1.5

            用戶登錄頁面

            用戶登錄頁面主要是為用戶提供登錄的窗口,用戶通過在頁面內(nèi)輸入正確的用戶名及密碼,取得 登錄系統(tǒng)的權(quán)利.否則不能登錄系統(tǒng),實現(xiàn)在線考試. 用戶登錄頁面主要分為兩個部分:頂部為"在線考試系統(tǒng)"的信息圖片;中間左側(cè)為用戶登錄框, 右側(cè)為系統(tǒng)圖片.它用 firework 創(chuàng)建系統(tǒng)圖片文件,存為 jpg 格式或 gif 格式,作為各動態(tài)頁面頂部 或頁面中圖片.主要由頂部圖片頁面()和用戶登錄頁面()組成,頁面如圖 1.25 所示.

            圖 1.25

            用戶登錄頁面

            1.5.1 頂部圖片頁面

            頂部圖片頁面():為了

            辣大叔醬板鴨

            使頁面標(biāo)準和美觀,同時避免重復(fù),節(jié)約代碼,將頂部頭文件制 作成為模塊,以后通過命令直接調(diào)用.頂部圖片頁面如圖 1.26 所示. 創(chuàng)建新的頁面,首先在頁面上添加一個 1×1 的表格用來固定圖片的位置,設(shè)置表格的各項屬性, 包括邊框?qū)傩?長度和寬度等,最后加入文件夾 images 下事先保存的圖片.代碼如下:



            注意:圖片最好選用相對路徑,這樣可以防止因為文件夾位置變動而引起的圖片路徑丟失.

            20

            ASP+SQL Server 典型網(wǎng)站

            建設(shè)案例



            1.5.2 用戶登錄頁面

            用戶登錄頁面()是一個靜態(tài)頁面,如圖 1.27 所示.

            圖 1.27

            用戶登錄頁面

            創(chuàng)建新頁面,在頁面中添加一個 1×1 的表格 a,在表格 a 內(nèi)加入一個表單,給表單命名. 在表單內(nèi)插入一個 1×3 的表格 b,在 b 的第三列單元格內(nèi)加入圖片,第二列單元格內(nèi)插入一個 3×5 列的表格 c. 最后在表格 c 內(nèi)第二列單元內(nèi)加入文本對話框兩個,將按鈕控件移至第二列單元格內(nèi).給兩個文 本框命名,分別命名為 student 和 的 type 屬性定義為 password,這樣用戶輸入字符都將顯示 為"*"號,以隱藏密碼. 設(shè)置表格,文本對話框的各項屬性.定義"提交"按鈕 onclick 事件:onclick="check()". 1.用戶登錄頁面 ASP 代碼 用戶登錄頁面通過 ASP 代碼判斷用戶名及密碼是否填寫,填寫是否正確.若填寫正確,則將用戶 信息賦值給 ssion 變量,以方便以后調(diào)用.代碼如下:

            <%'調(diào)用 連接數(shù)據(jù)庫 %>

            使用 JavaScript 語言,定義過程 check(),判斷用戶名及其密碼是否為空.為空則彈出錯誤"警示"

            第 1 章 在線考試系統(tǒng)

            21

            對話框.代碼如下:

            //使用 javascript 語言,創(chuàng)建函數(shù) check(),檢測用戶姓名及密碼是否為空 <script language=javascript> function check() { //如果 student 文本框內(nèi)容為空,彈出"警示"對話框提醒"請輸入用戶名" if (==" ") {alert("請輸入用戶名"); (); //將焦點集中在 student 文本框 return fal;} //避免提交失敗,防止 IE 重載該頁面 /

            辣大叔醬板鴨

            /如果 pwd 文本框內(nèi)容為空,彈出"警示"對話框提醒"請輸入用戶密碼" if (==" ") {alert("請輸入用戶密碼"); (); //將焦點集中在 pwd 文本框 return fal;} //避免提交失敗,防止 IE 重載該頁面 //獲取引藏域名為 ctype 的值,直接給 ctype 賦值為 add ="add"; (); //提交 form1 表單 } </script>

            使用 VBScript 語言,如果用戶名及密碼不為空,查找表 student,檢驗用戶名及密碼是否正確.代 碼如下:

            t=125 '定義超時時間為 125 '獲取提交變量 ctype 的值,如果 ctype 的值為 add,則將 ssion 變量各值賦值為空 if trim(request("ctype"))="add" then ssion("student")=" " ssion("class")=" " ssion("id")=" " ssion("number")=" " ssion("x")=" " sql="lect * from student where studentname=' "&trim(request("student"))&' " and studentpassword=' "&trim(request("pwd"))&" ' " 'sql 語句定義查詢條件 t rs=e(sql) '執(zhí)行 sql 語句 '如果用戶名或密碼不正確,使用 javascript 語言, 彈出"警示"對話框 if then %> <script language=javascript> alert("無此學(xué)員!請先注冊"); </script> <%'使用 vbscript 語言,如果用戶及密碼正確,

            則賦值 ssion 變量姓名,學(xué)號等信

            tudent")=rs("studentname") ssion("class")=rs("class") ssion("number")=rs("studentnumber") ssion("x")=rs("x") ssion("timen")=now %>

            22

            ASP+SQL Server 典型網(wǎng)站建設(shè)案例

            <script language=javascript> //使用 javascript,顯示 頁面 var now=new Date() //顯示 窗口,同時避免 IE 使用 history 記錄 te("?time="+e()); </script> <%end if end if %>

            2.用戶登錄頁面正文代碼 頁面正文代碼勾畫頁面表格,表單,文本框,文字和按鈕等控件屬性.頁面代碼如下:

            <%'調(diào)用 頁面%> …
            辣大叔醬板鴨

            "100"> <%'表格 a 屬性%> <%xt '指針下移一個記錄 wend%> …

            1.13

            成績管理頁面

            成績管理頁面()主要對學(xué)生成績進行管理,頁面如圖 1.44 所示.

            圖 1.44

            成績管理頁面

            50

            ASP+SQL Server 典型網(wǎng)站建設(shè)案例

            創(chuàng)建頁面,

            標(biāo)題"成績統(tǒng)計管理",插入表格 a,在表格 a 內(nèi)輸入文字"各期考試統(tǒng) 計","學(xué)生基本資料==> 性別: 班號: 學(xué)號:","(參加過 期考試,最高 分,最低 分, 次 不及格)".在表格 a 內(nèi)輸入一個 2×3 的表格 b,表格 b 第一行第一列單元格內(nèi)輸入文字"期數(shù)", 第一行第二列單元格輸入文字"分數(shù)",第一行第三列單元格內(nèi)輸入文字"補考成績",第二行第一 列單元格內(nèi)輸入文字"第 期".然后插入表單,在表單內(nèi)輸入文字"查找其他考生 請輸入考生姓名" 文本框.最后設(shè)置各控件屬性.頁面代碼如下:

            <%'調(diào)用 頁面連接數(shù)據(jù)庫%> <%'調(diào)用 頁面檢測登錄用戶名%>

            1.查詢學(xué)生成績 查詢學(xué)生成績最高分數(shù),最低分數(shù),補考最低分數(shù)和補考最高分數(shù).代碼如下:

            <%sql="lect student.* from student where tnumber="&request("studentnumber") 'sql 語 言的查詢語句 t rs=e(sql) '執(zhí)行查詢語句 t rs1=e("lect * from examination where studentnumber="&request("studentnumber")) t rs2=e("lect * from examination where studentnumber="&request("studentnumber")) '如果 rs2 的記錄不為空,則執(zhí)行查詢語句,對比找出學(xué)生成績最大,最小數(shù)據(jù),最大,最小補考成績.為空,則 最大成績,最小成績,最大補考成績,最小補考成績變量賦值為 0 if not then sql3="lect count(studentnumber) as ci, max(score) as hf ,max(makeup) as hbf,min(score) as lf,min(makeup) as lbf from examination where studentnumber="&request("studentnumber")&" group by studentnumber" t rs3=e(sql3) ci=rs3("ci") if rs3("hf")>rs3("hbf") then hf=rs3("hf") el hf=rs3("hbf") end if if rs3("lf")>rs3("lbf") then lf=rs3("lf") el lf=rs3("lbf") end if sql4="lect count (*) as bjg from examina

            辣大叔醬板鴨

            tion where studentnumber="&request("studentnumber")&" and score<60 or makeup<60 group by studentnumber" 'sql 語言的查詢語句 t rs4=e(sql4) '執(zhí)行查詢語句 bjg=rs4("bjg") el ci=0 hf=0 lf=0 bjg=0 end if %>

            第 1 章 在線考試系統(tǒng)

            51

            2.成績管理頁面正文代碼 頁面正文代碼勾畫頁面,循環(huán)插入學(xué)生成績.代碼如下:

            … … <%while not '循環(huán)語句,直到記錄不為空 sqls="lect * from examination where studentnumber="&request("studentnumber")&" and examinationid ="&rs1("examinationid") t rss=e(sqls) '執(zhí)行查詢語句 if then '如果記錄為空,則變量 fen,bfen 賦值為"未參

            n="未參加" el t rsss=e("lect * from test where examinationid="&rss("examinationid")) zf=rsss("rightorwrongid")*rsss("rightorwrongscore")+rsss("lectid")*rsss("lectscore")+ rsss("fillingid")*rsss("fillingscore") '判斷成績是否及格,不及格分數(shù)用紅色顯示 if rss("score")>=cint(zf*6/10) then fen=""&rss("score")&"分" el fen=""&rss("score")&"分" end if '判斷是否取得補考資格,取得判斷是否補考,參加補考成績是否及格,不及格分數(shù)用紅色顯示 if rss("pass")=1 then IF rss("makeup")=0 then bfen="無" el if rss("makeup")>=cint(zf*6/10) then bfen=""&rss("makeup")&"分" el bfen=""&rss("makeup")&"分" end if end if el bfen="未參加" end if end if %>

            52

            ASP+SQL Server 典型網(wǎng)站建設(shè)案例

            <%xt wend%> …

            1.14

            學(xué)生管理界面

            學(xué)生管理界面分為學(xué)生管理頁面(),主要是對學(xué)生基本信息進行瀏覽;批準考試頁面 (test_),批準學(xué)生是否補考.

            1.14.1 學(xué)生管理頁面

            學(xué)生管理頁面()如圖 1.45 所示.

            圖 1.45

            學(xué)生管理頁面

            創(chuàng)建頁面,首先輸入頁面標(biāo)題"學(xué)生統(tǒng)計管理",插入表格 a,在表格 a 內(nèi)輸入文字"往期統(tǒng)計",

            第 1 章 在線考試系統(tǒng)

            53

            插入下拉菜單. 隨后插入表單 a, 在表單 a 內(nèi)輸入文字 "以下為姓名為 的考生列表 輸入考生姓名" , 插入文本框. 接著插入一個 3×4 的表格 b. 在表格 b 中, 第一行第一列內(nèi)單元格輸入文字 "考生姓名" , 第一行第二列單元格內(nèi)輸入文字"分數(shù)",第一行第三列單元格內(nèi)輸入文字"補考設(shè)置",第一行第 四列單元格內(nèi)輸入文字"補考成績".合并第二行四個單元格,輸入文字"暫無此學(xué)員信息".在表 格

            b 后插入表單 b,表單 b 內(nèi)插入文字,文本框.最后設(shè)置控件屬性.代碼如下:

            <%'調(diào)用 頁面連接數(shù)據(jù)庫%> <%'調(diào)用 頁面檢測登錄用戶名%>

            1.創(chuàng)建過程 創(chuàng)建過程 check (),檢查跳轉(zhuǎn)頁面是否輸入,是否為數(shù)字類型.代碼如下:

            <script Language="vbscript"> '采用 vbscript 語言,創(chuàng)建過程 check() sub check() c= '賦值變量 c 為表單值 '如果 c 不為空,則檢測 c 是否

            數(shù)字則彈出"警示"對話框,退出函數(shù).否則結(jié)束 if 語 句.為空則彈出"警示"對話框,退出函數(shù) if c<>" " then if not IsNumeric(c) then msgbox " 頁數(shù)只能輸入數(shù)字" () exit sub el end if el msgbox"請輸入想要轉(zhuǎn)到頁數(shù)" () exit sub end if () end sub </script>

            2.查詢學(xué)生信息 查詢數(shù)據(jù)庫內(nèi)學(xué)生成績信息,試卷信息,并輸出試卷試題信息.代碼如下:

            <%flag1=0 '賦值變量 flag2=0 repor

            辣大叔醬板鴨

            tid=trim(request("reportid")) t rs=Object("t") sqls="lect * from examination " 'sql 語言的查詢語句 t rss=e(sqls) '執(zhí)行查詢語句 '如果記錄為空,則 titles 文字變?yōu)?暫無成績信息",flag1 賦值為 1 if then titles="暫無成績信息" flag1=1 el '如果記錄為空,即 reportid 為空,則 reportid 賦值為 examinationid,flag2 賦值為 1 if reportid=" " then

            54

            ASP+SQL Server 典型網(wǎng)站建設(shè)案例

            reportid=rss("examinationid") flag2=1 el '如果 reportid 不為空,reportid 值不變 reportid=reportid end if t rs1=e("lect * from examination where examinationid="&reportid&" ") '執(zhí)行查詢語句 title="第 "&rs1("examinationid")&" 期考試統(tǒng)計" if flag2=1 then title=title&"(最新一期)"http://如果 flage2 值為 1,則 title 文字顯示 "(最新一期)" t rs2=e("lect * from test where examinationid="&rs1("examinationid")&" ") 執(zhí)行 查詢語句 titles=title&"

            (判斷題數(shù)"&rs2("rightorwrongid")&"題/"&rs2("rightorwrongscore")&"分,選擇題數(shù) "&rs2("lectid")&"題/"&rs2("lectscore")&"分,填空題數(shù)"&rs2("fillingid")&"題/"&rs2("fillingscore")&"分)

            " zf=rs2("rightorwrongid")*rs2("rightorwrongscore")+rs2("lectid")*rs2("lectscore")+rs2("fillingid")*rs 2("fillingscore") '算出總分數(shù) end if %>

            3.在下拉列表內(nèi)循環(huán)插入試卷期數(shù) 在下拉列表內(nèi)循環(huán)插入試卷期數(shù),方便以后查詢調(diào)用.代碼如下:

            <% t rs3=e("lect distinct examinationid from examination order by examinationid desc") '執(zhí) 行查詢語句 while not 'while 循環(huán)語句直到記錄不為空%> <% xt '指針下移 wend%>    <%=titles%>

            4.顯示并查詢考生信息 定義表單,在表格內(nèi)循環(huán)插入考生信息.并定義變量 keyword,在文本框 keyword 內(nèi)輸入關(guān)鍵字, 單擊"查詢"按鈕查詢考生信息.代碼如下:

            <%'表單屬性%> <%keyword=trim(request("keyword")) '限定查詢條件是否為所有考生 if keyword="

            eywords="所有考生" el keywords=keyword end if %>

            以下為姓名為 <%=keywords%> 的考生列表  輸入考生姓名 
            第 1 章 在線考試系統(tǒng)

            55

            style="width: 60; height: 22; border-style: solid; border-width: 1px; background-color: #FFFFFF"> … <% if flag1=1 then '如果 flag1 不為 1,則執(zhí)行查詢語句,查詢記錄以 10 個記錄為 1 頁分頁顯示 el sql="lect student.*,examination.* from student,examination where tname like '%"&keyword&"%' and tnumber=tnumber and examination. examinationid= "&rs1("examinationid")&" order by tnumber desc" sql,conn,3,1,1 ze=10 if not ( and ) then Page = cint(tring("Page")) If Page < 1 Then Page = 1 If Page > unt Then Page = unt showpages rs,Page %> <% el%>

            <% end if%> <% Sub showpages( rs,Page ) tePage = Page for i=0 to ze-1 j=j+1 if j mod 2 =0 then bg="#EFEFF7" el bg="#ffffff" end if if rs("score")>=cint(zf*6/10) then '如果分數(shù)大于 60, 則為"不需要" 考試, 否則為"需 要"考試 fen=""&rs("score")&"分" bk="不需要" bfen="不需要" el fen=""&rs("score")&"分" bk="批準補考" '單擊 "批 準補考"字樣,調(diào)用頁面 test_,批準補考 '判斷是否批準補考.如果未批準補考,檢測字段 make

            辣大叔醬板鴨

            up 是否為 0 判斷是否還為補考,如果補考依據(jù)成績是 否及格,不及格顯示成績?yōu)榧t色 bfen="需要補考" if rs("pass")=True then bk="已批準補考" if rs("makeup")=0 then bfen="還未補考" el if rs("makeup")>=cint(zf*6/10) then bfen=""&rs("makeup")&"分"

            56

            ASP+SQL Server 典型網(wǎng)站建設(shè)案例

            el bfen=""&rs("makeup")&"分" end if end if end if

            end if %> > <% xt If Then Exit For Next%> <% End Sub end if %>

            5.翻頁程序 定義表單,單擊"第一頁","上一頁","下一頁","最后一頁"等鏈接,實現(xiàn)頁面跳轉(zhuǎn)翻 頁功能.代碼如下:

            您將要參加的第 <%=ssion("qi")%> 期考試情況如下: …

            本 期 考 試 <%=pd%> 道 判 斷 題 , <%=xz%> 道選擇題,<%=tk%> 道填空題,總分 <%=zfen%>



            1.16.2 在線考試設(shè)計頁面

            在線考試頁面是動態(tài)頁面,在考試預(yù)備頁面,單擊"進入考試= = =>"鏈接,進入在線考試頁面, 如圖 1.48 所示.

            圖 1.48

            在線



            ASP+SQL Server 典型網(wǎng)站建設(shè)案例

            創(chuàng)建頁面,首先插入表單,在表單內(nèi)插入表格 a,然后在表格 a 內(nèi)輸入頁面標(biāo)題內(nèi)容,第一行輸入 文字"第 期考試",第二行輸入文字"(本期考試 道判斷題, 道選擇題, 道填空題,總分 分)", 第三行輸入文字"考生姓名:性別:班級:學(xué)號:",在相應(yīng)位置插入代碼,顯示數(shù)據(jù)庫內(nèi)相應(yīng)信息. 隨后插入 4×1 的表格 b,在表格 b 后插入 5×1 的表格 c,表格 c 后插入 4×1 的表格 d.將按鈕移至表 格 a 內(nèi). 在表格 b 內(nèi)第一行單元格內(nèi)輸入文字"一,判斷題(共 道,每題 分)",第二行單元格內(nèi)輸入 文字"本次考無判斷題",第三行單元格內(nèi)輸入文字"題庫里暫無判斷題",第四行單元格內(nèi)輸入文 字",",插入下拉框. 在表格 c 內(nèi)第一行單元格內(nèi)輸入文字"一,選擇題(共 道,每題 分)",第二行單元格內(nèi)輸入 文字"本次考無選擇題",第三行單元格內(nèi)輸入文字"題庫里暫無選擇題",第四行單元格內(nèi)插入 4 個單選按鈕. 在表格 d 內(nèi)第一行單元格內(nèi)輸入文字"一,填空題(共 道,每題 分)",第二行單元格內(nèi)輸入 文字"本次考無填空題",第三行單元格內(nèi)輸入文字"題庫里暫無填空題",第四行單元格內(nèi)輸入文 字" ,您的答案:",插入文本框. 最后設(shè)置文字,下拉框,表單,表格和單選按鈕等所有控件屬性.頁面代碼如下:

            <%'調(diào)用 頁面連接數(shù)據(jù)庫%> <%'調(diào)用 頁面檢測登錄用戶名%>

            1.查詢試卷信息 查詢表 test,查詢試卷題型及題量信息.判斷考生是否參加過補考.代碼如下:

            <% '采用 vbscript 語言,將 flagpd,flagxz,flagtk 3 個變量賦值為 0 flagpd=0 flagxz=0 flagtk=0 randomize '初始化隨機數(shù)生成器 t rss=e("lect * from examination where studentnumber="&ssion("number")&" and (pass=0 or makeup<>0) order by examinationid desc ") '執(zhí)行查詢語句查詢表 examination,查詢補考人員 是否參加補考 '如果記錄為空,則變量 qi 值為 1.否則變量 qi 等于 examinationid 值+1 if then qi=1 el qi=rss("examinationid")+1 end if t rss=e("lect * from examination where studentnumber="&ssion("number")&" and (pass=1 and makeup=0) order

            by

            辣大叔醬板鴨

            examinationid desc ") '執(zhí)行查詢語句查詢表 examination,是否存在補考用戶 if not then '如果記錄不為空,則變量 qi 等于 examinationid qi=rss("examinationid") end if '執(zhí)行查詢語句,查詢表 test t rss=e("lect * from test order by examinationid desc") if then '如果記錄為空,則彈出"警示"對話框,頁面返回.否則為變量賦值 %> <script language=javascript>

            第 1 章 在線考試系統(tǒng)

            63

            alert("請先出題!再進行考試!"); (); </script> <% el pd=rss("rightorwrongid") '判斷題數(shù)量變量賦值 pds=rss("rightorwrongscore") '判斷題每題分數(shù)變量賦值 xz=r

            "lectid"

            辣大叔醬板鴨

            ) '選擇題數(shù)量變量賦值 xzs=rss("lectscore") '選擇題每題分數(shù)變量賦值 tk=rss("fillingid") '填空題數(shù)量變量賦值 tks=rss("fillingscore") '填空題每題分數(shù)變量賦值 ssion("ttime")=rss("testdata") 'ssion 變量 ttime 賦值 zf=pd*pds+xz*xzs+tk*tks '總分數(shù)變量賦值 testid=rss("examinationid") '試卷編號變量賦值 t rs=e("lect * from rightorwrong order by rightorwrongid desc") '執(zhí)行查詢語句, 查詢表 rightorwrong maxtype1=rs("rightorwrongid") '變量 maxtype1 賦值 '執(zhí)行查詢語句 t rs=e("lect * from lecting order by lectid desc") maxtype2=rs("lectid") '變量 maxtype2 賦值 t rs=e("lect * from filling order by fillingid desc") '執(zhí)行查詢語句 maxtype3=rs("fillingid") '變量 maxtype3 賦值 'sql 語言的查詢語句,查詢表 exa



            什么叫股權(quán)激勵-大香蕉一人在線

            ASP+SQL Server典型網(wǎng)站建設(shè)案例

            本文發(fā)布于:2023-11-19 14:23:00,感謝您對本站的認可!

            本文鏈接:http://m.newhan.cn/zhishi/a/1700374981220012.html

            版權(quán)聲明:本站內(nèi)容均來自互聯(lián)網(wǎng),僅供演示用,請勿用于商業(yè)和其他非法用途。如果侵犯了您的權(quán)益請與我們聯(lián)系,我們將在24小時內(nèi)刪除。

            本文word下載地址:ASP+SQL Server典型網(wǎng)站建設(shè)案例.doc

            本文 PDF 下載地址:ASP+SQL Server典型網(wǎng)站建設(shè)案例.pdf

            標(biāo)簽:建設(shè)網(wǎng)站
            <%'表格 b 屬性%> … <%'表單屬性%>
            <%'表格 c 屬性%> … <%'用戶名文本框?qū)傩?> … <%'密碼文本框?qū)傩?> … <%' "提交","重置"按鈕屬性%> … <%'單擊"新學(xué)生注冊"進入新學(xué)生注冊頁面%> … <%'單擊"后臺管理程序入口"進入后 臺管理程序頁面%> … <%'圖片位置%> …

            1.6

            用戶注冊頁面

            用戶注冊主要由兩個頁面構(gòu)成:頂部圖片頁面()和注冊頁面().用戶注冊 頁面主要用于用戶完成用戶注冊.注冊成功后,用戶才可以進入在線考試系統(tǒng).

            第 1 章 在線考試系統(tǒng)

            23

            1.6.1 頂部圖片頁面

            頂部圖片頁面()與 top 的目的及做法類似,以后可以通過 命令直接調(diào)用,如圖 1.28 所示.

            圖 1.28

            頂部圖片頁面

            頁面代碼與 頁面基本類似,只需將 src=" images/"改為 src=" images/".頁面代碼 不再重復(fù).

            1.6.2 用戶注冊頁面

            用戶注冊頁面()是一個靜態(tài)頁面.它的主要功能是注冊新的學(xué)生用戶,并對數(shù)據(jù)庫進

            行更新,如圖 1.29 所示.

            圖 1.29

            用戶注冊頁面

            創(chuàng)建新

            1×1 的表格 a,在表格 a 內(nèi)加入一個表單,給表單命名.在表單 內(nèi)插入一個 6×3 的表格 b,在單元格內(nèi)添加文本對話框及文本,將按鈕控件移至第二列單元格內(nèi).設(shè) 置表格,文本對話框及按鈕各項屬性. 1.用戶注冊頁面 ASP 代碼 用戶注冊頁面 ASP 判斷用戶名是否輸入完全;判斷加入的學(xué)生是否已經(jīng)注冊過,避免重復(fù)注冊;

            24

            ASP+SQL Server 典型網(wǎng)站建設(shè)案例

            將新學(xué)生注冊信息存入數(shù)據(jù)庫中,提示注冊成功.代碼如下:

            <%'調(diào)用 頁面連接數(shù)據(jù)庫%>

            使用 JavaScript 語言,創(chuàng)建過程 check(),判斷文本是否輸入完全.代碼如下:

            <script language=javascript> function check() { if (==" ") //判斷學(xué)生姓名文本框是否為空 {alert("請輸入學(xué)生姓名!"); //彈出"警示"對話框 (); //焦點集中在學(xué)生姓名文本框 return fal; //避免提交失敗,防止 IE 重載該頁面 } if (==" ") //判斷密碼文本框是否為空 {alert("請輸入密碼!"); //彈出"警示"對話框 (); //焦點集中在密碼文本框 return fal; //避免提交失敗,防止 IE 重載該頁面 } if (==" ") //判斷班級文本框是否為空 {alert("請輸入班級!"); //彈出"警示"對話框 (); //焦點集中在班級文本框 return fal; //避免提交失敗,防止 IE 重載該頁面 } if (==" ") //判斷學(xué)號文本框是否為空 {alert("請輸入學(xué)號!"); //彈出"警示"對話框 (); //焦點集中在學(xué)號文本框 return fal; //避免提交失敗,防止 IE 重載該頁面 } //獲取引藏域名為 ctype 的值,直接給 ctype 賦值為 add ="add"; (); //提交 form1 表單 } </script>

            使用 VBScript 語言判斷注冊學(xué)生學(xué)號是否存在.如果存在,則使用 JavaScript 語言,彈出"警示" 對話框提示存在此學(xué)生.代碼如下:

            '判斷提交變量 ctype 的值,如果 ctype 的值為 add,查詢此學(xué)號的學(xué)生是否存在 if trim(request("ctype"))="add" then sqlfind="lect * from student where studentnumber=' "&trim(request("number"))&" ' " 'sql 查詢語句查找 此學(xué)號的學(xué)生是否存在 t rsfind=e(sqlfind) '執(zhí)行 sql 語句 if not then '如果此學(xué)號存在,則彈出"警示"對話框提示存在此學(xué)生 '否則將學(xué)生信息存入數(shù)據(jù)庫 studen

            辣大叔醬板鴨

            t 表中 %> <script language=javascript> //使用 javascript 語言 alert("已有此學(xué)員,請重新錄入!"); </script>

            第 1 章 在線考試系統(tǒng)

            25

            使用 VBScript 語言,將新的學(xué)生信息存入數(shù)據(jù)庫 student 表中.執(zhí)行成功,使用 JavaScript 語言彈 出"警示"對話框,進入用戶登錄

            p 頁面.代碼如下:

            el sqlin="inrt into student (studentname,studentpassword,x

            number) values(' "&trim (request("student"))&" (); //焦點集中在 id 文本框 return fal;} // 避免提交失敗,防止 IE 重載該頁面 if (docume

            lue==" ") //如果 pwd 文本框為空 {alert ("請輸入密碼!"); //彈出"警示"對話框 (); //焦點集中在 pwd 文本框 return fal;} // 避免提交失敗,防止 IE 重載該頁面 ="types"; // 獲取引藏域名為 ctype 的值,直接給 ctype 賦值為 add

            第 1 章 在線考試系統(tǒng)

            (); } </script> //提交 form1 表單

            27

            使用 VBScript 語言判斷填寫是否正確.若填寫正確,則將用戶信息賦值給 ssion 變量,進入管理 員界面首頁 頁面.代碼如下:

            if request("ctype")="types" then sqlfind="lect * from admin where admin=' "&trim(request("id"))&" ' and adminpassword=' "&trim (request("pwd"))&" ' " 'sql 語言的查詢語句查詢表 admin t rs=e (sqlfind) '執(zhí)行 sql 語句 '如果數(shù)據(jù)庫中不存在該用戶及密碼,則彈出"警示"對話框,瀏覽器后退.如果存在,則保存登錄用戶 admin,進入 頁面 if then %> <script language=javascript> //使用 javascript 語言 alert("錯誤:無此管理員,或管理員密碼錯誤!"); (); //瀏覽器后退 </script> <% el ssion("adminid")=rs("admin") '保存登錄用戶 admin %> <script language=javascript> te(""); '進入管理員界面首頁 頁面 </script> <%end if el %>

            2.管理員登錄頁面正文代碼 頁面正文代碼勾畫頁面表格,表單,文本框,文字和按鈕等控件屬性.頁面代碼如下:


            辣大叔醬板鴨

            tml> … <%'表單屬性設(shè)置%>
            <%'按鈕屬性設(shè)置%> …

            28

            … <%end if %>

            ASP+SQL Server 典型網(wǎng)站建設(shè)案例

            1.8

            管理員界面首頁

            管理員界面首頁由 3 個頁面組成:歡迎頁面(),檢驗用戶名頁面()和管 理界面首頁().通過管理界面首頁實現(xiàn)在線考試系統(tǒng)后臺試題,題庫,學(xué)生和成績等管理.

            1.8.1 檢驗用戶名頁面

            檢驗用戶名頁面()用于檢測管理員用戶名是否為空.同時避免重復(fù)并節(jié)約代碼.將檢 查用戶名頁面制作成為模塊,以后通過命令直接調(diào)用.頁面代碼如下:

            <% '采用 vbscript 語言 if trim(ssion("adminid"))=" " then%>
            ript language=javascript> te(""); </script> <%end if %> '如果 ssion 變量的 adminid 值為空,則進入管理員登錄頁面 //

            .2 歡迎頁面

            歡迎頁面()用于在系統(tǒng)進入管理員界面首頁時,先是在右側(cè)嵌入式框架內(nèi)插入文字 或圖片.此處可以根據(jù)個人喜好及風(fēng)格等隨意制作,本系統(tǒng)中采用簡單文本樣式.首先創(chuàng)建新頁面, 在頁面中插入一個 1×1 的表格,設(shè)定表格屬性.然后在表格內(nèi)插入文字.歡迎頁面如圖 1.31 所示.

            圖 1.31

            歡迎頁面

            頁面代碼如下:



            第 1 章 在線考試系統(tǒng)



            29

            新學(xué)生注冊后臺管理程序入口
            <%'表格屬性%> <%'插入的文字%> …

            1.8.3 管理界面首頁

            管理界面首頁()后臺管理程序全部在此頁面上運行.它的頁面主要分為 3 部分:頂部 為系統(tǒng)圖片,左側(cè)為工具條,右側(cè)為嵌入式框架,頁面如圖 1.32 所示.

            圖 1.32

            管理界面首頁

            創(chuàng)建新頁面,首先在頁面中插入一個 1×1 的表格 a,在表格 a 內(nèi)插入所選圖片.然后在表格 a 下 方插入 1×2 的表格 b,在表格 b 第一列單元格內(nèi)插入 10×1 的表格 c,在表格 c 中插入文字.在表格 b 第二列單元格內(nèi)插入嵌入式框架.在嵌入式框架內(nèi)單擊"設(shè)置初始頁面"鏈接,選擇歡迎頁面 ()作為初始頁面.最后設(shè)置頁面內(nèi)各控件及文字屬性.頁面代碼如下:

            <%'調(diào)用 檢測登錄用戶是否為空%> …
            歡迎進入在線考試后臺管理系統(tǒng)
            <%'表格 a 屬性%> <%'圖片路徑及屬性%> …
            <%'表格 b 屬性%> …

            30

            ASP+SQL Server 典型網(wǎng)站建設(shè)案例

            <%'表格 c 屬性%>

            "#111111" width="110" id="AutoNumber2">

            表格 c 內(nèi)顯示管理菜單.單擊菜單中相應(yīng)字樣,在右側(cè)嵌入式框架內(nèi)顯示相應(yīng)頁面.代碼如下:

            <%'文字%> … … …

            31

            1.9

            判斷題管理界面

            判斷題管理界面顯示當(dāng)前試題庫中的所有判斷題,并可以對判斷題進行查找,增加,刪除或修改 等操作.共分為 4 個頁面:判斷題管理頁面(type_),判斷題增加頁面(type_1_),判斷 題刪除頁面(type_1_),判斷題修改頁面(type_1_).

            1.9.1 判斷題管理頁面

            判斷題管理頁面(type_)是一個動態(tài)頁面,主要用于顯示數(shù)據(jù)庫中所有判斷題,并對其進行 查詢.頁面如圖 1.33 所示.

            圖 1.33

            判斷題管理頁面

            創(chuàng)建新頁面,首先加入表頭文字,插入一個 5×1 的表格.第一行是表單 a,在表單 a 內(nèi)插入文字, 同時插入一個文本框和一個按鈕.將第二,三,四行同時選中,單擊鼠標(biāo)右鍵,選擇"拆分單元格" 命令,單元格被拆分成 5 列.然后將第二行 5 列單元格同時全部選中,單擊鼠標(biāo)右鍵,選擇"合并單 元格"命令.

            辣大叔醬板鴨

            在二,三,四行表格內(nèi)插入文字.最后將第五行表格內(nèi)插入表單 b,在表單 b 中插入文字, 一個文本框,一個按鈕.設(shè)置文字,文本框,表單和表格等控件屬性. 判斷題管理頁面代碼如下:

            <%'調(diào)用 頁面連接數(shù)據(jù)庫%> <%'調(diào)用 頁面檢測登錄用戶名%>

            1.判斷題管理頁面ASP代碼 判斷題管理頁面通過 ASP 代碼判斷頁數(shù)是否為數(shù)字.代碼如下:

            <script Language="vbscript"> sub check() //使用 vbsc

            ript 語言,創(chuàng)建 check()函數(shù)

            32

            c= if c<>" " then

            ASP+SQL Server 典型網(wǎng)站建設(shè)案例

            //將 form1 表單內(nèi)文本框 page 的值賦于變量 c //如果 c 不等于空,則繼續(xù)檢

            否則彈出 警示框,退出函數(shù).等于空則彈出警示框,退出函數(shù) //如果 c 不是數(shù)字,則彈出警示框,退出函數(shù) //彈出"警示"對話框 //退出函數(shù) check()

            if not IsNumeric(c) then msgbox " 頁數(shù)只能輸入數(shù)字" () exit sub end if el msgbox"請輸入想要轉(zhuǎn)到頁數(shù)" () exit sub end if () end sub </script>

            //彈出警示框 //退出函數(shù) check() //提交 form1 表單

            2.判斷題管理頁面正文代碼 頁面正文代碼勾畫頁面.代碼如下:

            判斷題 題庫管理
            <%'表頭"判斷題 題庫管理" 文字屬性%> 添加新題

            <%'文字"添加新題"的超級鏈接%>

            后臺管理

            <%'單擊"判斷題管理"字樣,在右側(cè)嵌入式框架內(nèi)顯示判斷題管理頁面(type_)%> 判斷題管理
            <%'單擊"選擇題管理"字樣,在右側(cè)嵌入式框架內(nèi)顯示選擇題管理頁面(type_)%> 選擇題管理

            辣大叔醬板鴨ww



            <%'單擊"填空題管理"字樣,在右側(cè)嵌入式框架內(nèi)顯示填空題管理頁面(type_)%>
            get="right">填空題管理
            <%'單擊"試卷管理"字樣,在右側(cè)嵌入式框架內(nèi)顯示試卷管理頁面()%> 試卷  管理
            <%'單擊"成績管理"字樣,在右側(cè)嵌入式框架內(nèi)顯示成績管理頁面() %> 成績  管理
            <%'單擊"學(xué)生管理"字樣,在右側(cè)嵌入式框架內(nèi)顯示學(xué)生管理頁面(student_)%> 學(xué)生  管理 <%'單擊"管理員信息"字樣,在右側(cè)嵌入式框架內(nèi)顯示管理員信息頁面()%> 管理員信息
            <%'單擊"退出"字樣,整個頁面顯示管理員登錄頁面()%> 退出 <%'嵌入式框架屬性%>

            第 1 章 在線考試系統(tǒng)

            <%'表格屬性%>

            創(chuàng)建表單,文本框和按鈕等控件屬性,通過 VBScript 實現(xiàn)查詢題目.代碼如下:


            辣大叔醬板鴨

            action=" "> <%'表單 a 的屬性%> <% '使用 vbscript 語言, 如果文本框 keyword 的值為空, 則默認為選擇所有題目, 如果不為空, keyword 則 文本框內(nèi)容為查詢條件 keyword=trim(request("keyword")) if keyword=" " then keywords="所有題目" el keywords=keyword end if %> <%'文本框 keyword 的屬性及"查找"按鈕屬性%> <% '使用 vbscript 語言,查詢判斷題庫中符合查詢條件的數(shù)據(jù) t rs=Object("t") sql="lect * from rightorwrong where question like '%"&keyword&"%' order by rightorwrongid desc"

            第 1 章 在線考試系統(tǒng)

            'sql 語言的查詢語句 '打開判斷題庫 '每 10 條記錄分頁

            33

            sql,conn,3,1,1 ze=10 %>

            創(chuàng)建表格循環(huán)插入查詢數(shù)據(jù)結(jié)果記錄,且按照單雙數(shù)表格分色顯示記錄.代碼如下:

            … <% '使用 vbscript 語言,如果數(shù)據(jù)庫記錄不為空,則以 10 條記錄為一頁分頁顯示查詢記錄.如果記錄為空 則顯示"沒有你查的試題信息" if not ( and ) then Page = cint(tring("Page")) If Page < 1 Then Page = 1 If Page > unt Then Page = unt showpages rs,Page %> <% el%> <% end if%> <% Sub showpages( rs,Page ) tePage = Page for i=0 to ze-1 'sql 語言的循環(huán)語句 j=j+1 '如果行數(shù)能被 2 整除,則背景顏色為"#EFEFF7",否則為"#ffffff" if j mod 2 =0 then bg="#EFEFF7" el

            end if %> > <% xt '指針移到下一個記錄

            34

            ASP+SQL Server 典型網(wǎng)站建設(shè)案例

            If Then

            辣大叔醬板鴨

            Exit For '如果記錄結(jié)束,則退出 for 循環(huán)語句 Next%> <%End Sub%> <%xt '指針下移一個記錄 wend%> …

            1.12.2 試題增加頁面

            試題增加頁面()與試題管理頁面布局,控件基本類似,在此不再贅述,頁面如圖 1.43 所示.

            <%'調(diào)用頁面 連接數(shù)據(jù)庫%> <%'調(diào)用頁面 檢測用戶名是否為空%>

            1.創(chuàng)建過程 創(chuàng)建過程 btnadd(),如果單擊"增加"按鈕,判斷提交各個文本框是否為空,為空則彈出"警示"對 話框,焦點集中在空文本框.創(chuàng)建過程 btngiveup (),頁面跳轉(zhuǎn)至試題管理頁面().代碼如下:

            第 1 章 在線考試系統(tǒng)

            47

            圖 1.43

            試題增加頁面

            <script language=javascript> //采用 javascript 語言 function btnadd() { if ((!=" ") && (==" ")) {alert("數(shù)據(jù)不全,請重新輸入!"); (); return fal;} if ((!=" ") && (==" ")) {alert("數(shù)據(jù)不全,請重新輸入!"); (); return fal;} if ((!=" ") && (==" ")) {alert("數(shù)據(jù)不全,請重新輸入!"); (); return fal;} ="add"; //將表單變量 ctype 賦值為 add (); //表單提交 } function btngiveup() { var now=new Date(); //變量 now 賦值為當(dāng)前日期 te("?time="+e()) //跳轉(zhuǎn)至頁面 } </script>

            2.增加試卷記錄 查詢文本框內(nèi)容是否完全,不完全則彈出"警示"對話框;文本框內(nèi)容完全,則在數(shù)據(jù)庫內(nèi)插入 最近的試卷記錄.代碼如下:

            <% '采用 vbscript 語言

            t rs=e("lect * from test order by examinationid desc") '執(zhí)行查詢語句 flag=0 '變量 flag 賦值為 0 if request("ctype")="add" then '如果變量 ctype 的值為 add '如果文本框 tk 的值為空或者文本框 xz 的值為空或者文本框 pd 的值為空,則彈出"警示"對話框,頁面 返回

            48

            ASP+SQL Server 典型網(wǎng)站建設(shè)案例

            if trim(request("tk"))=" " or trim(request("xz"))=" " or trim(request("pd"))=" " th

            language=javascript> alert("數(shù)據(jù)不全,請重新錄入"); (); </script> <% El //否則在表 test 內(nèi)插入記錄 sqlin="inrt into test (lectid,lectscore,rightorwrongid,rightorwrongscore,fillingid,fillingscore,testdata,tupdata) values("&trim(request("xz"))&","&trim(request("xzs"))&","&trim(request("pd"))&","&trim(request("pds"))&","&trim(r equest("tk"))&","&trim(request("tks"))&")" 'sql 語言的插入語句 t rss=e(sqlin) '執(zhí)行插入語句 %> <script language=javascript> //采用 javascript 語言,彈出"警示"對話框,變量 now 賦值為當(dāng)前日期,頁面跳轉(zhuǎn)至 頁面 alert("試題類錄入成功!"); var now=new Date(); te("?time="+e()); </script> <% end if end if %>

            3.試題增加頁面正文代碼 頁面正文代碼勾畫頁面,代碼如下:

            … <%'表單屬性%>
            以下是按關(guān)鍵字 <%=keywords%> 的查詢結(jié) 果        查找 題目
            沒有你查的試題信息

            td>
            <%=rs("rightorwrongid")%> <%=rs("question")%> <% if rs("answer")=true then '如果 answer 的值為 true 則顯示"對"字樣,否則顯示"錯"字樣 d="對" el d="錯" end if d %> ">編輯 ">刪除

            method="get"name=form1> <%'表單 b 屬性%>

            使用 VBScript 語言,顯示分頁中的上一頁,下一頁,最后一頁等信息.實現(xiàn)頁面跳轉(zhuǎn),代碼如下:

            ze&"條一頁  " if Page=1 then "第一頁 " end if If Page <> 1 Then "第一頁 " "上 一頁 " End If If Page <> unt Then "下一 頁 " "最后一頁 " End If if page= unt then "最后一頁 " end if "總共有"&unt&"頁, 目前是第"&page&"頁" %> 轉(zhuǎn)到 > name="keyword"> 頁
            <%'文本框及按鈕屬性%> …

            1.9.2 判斷題增加頁面

            判斷題增加頁面(type_1_)是動態(tài)頁面,管理員(教師)用戶增加判斷題庫試題.頁面如 圖 1.34 所示. 創(chuàng)建新頁面,首先插入標(biāo)題,然后加入一個表單,在表單內(nèi)插入一個 4×1 的表格.第一行表格內(nèi) 插入文字,第二,三行表格都選中,單擊鼠標(biāo)右鍵,選擇"拆分單元格"命令,二,三行表格分為 3 列,在第二行 3 列內(nèi),插入相應(yīng)的表頭,第二行第二列內(nèi)插入文本框,第三列插入下拉框.將按鈕移 至第四行表格內(nèi).最后設(shè)置文字,文本框,下拉框和表格等控件屬性.

            第 1 章 在線考試系統(tǒng)

            35

            判斷題增加頁面代碼如下:

            <%'調(diào)用 頁面連接數(shù)據(jù)庫%> <%'調(diào)用 頁面檢測用戶名是否為空%> <% '采用 vbscript 語言 sql="delete from rightorwrong where rightorwrongid="&trim(request("id")) 'sql 語言的刪除語句 t rs=e(sql) '執(zhí)行 sql 語句 %> <script language=javascript> //調(diào)用 javascript 語言 alert("試題刪除成功!"); //

            辣大叔醬板鴨

            彈出"警示"對話框 var now=new Date(); //將 now 變量賦值為當(dāng)前日期 te("type_?time="+e());//當(dāng)前窗口返回 type_ </script>

            1.9.4 判斷題修改頁面

            判斷題修改頁面(type_1_)是動態(tài)頁面,主要用于對選定判斷題目進行修改.頁面的控件 與判斷題增加頁面完全一致,只有文本框及下拉框的名稱不相同.頁面如圖 1.35 所示.

            圖 1.35

            判斷題修改頁面

            頁面代碼如下所示:

            <%'調(diào)用 函數(shù)連接數(shù)據(jù)庫%> <script language=javascript> //采用 javascript 語言,創(chuàng)建 check 函數(shù)

            1.判斷題修改頁面 ASP 代碼 判斷題修改頁面通過 ASP 代碼判斷題庫內(nèi)是否已經(jīng)存在插入試題.如果存在則彈出"警示"對話 框,不存在則修改數(shù)據(jù)庫數(shù)據(jù).操作成功或失敗彈出"警示"對話框,提示操作成功或者失敗.代碼 如下:

            38

            ASP+SQL Server 典型網(wǎng)站建設(shè)案例

            function check() { //如果表單 form1 內(nèi)表格 t1 的值為空,則彈出"警示"對話框,焦點集中在文本框 t1 if (==" ") {alert("請錄入題干!"); (); return fal;} ="types"; //表單 form1 的引藏域名 ctype 的值為 types (); //提交 form1 表單 } </script> <%sql="lect * from rightorwrong where rightorwrongid="&trim(request("id")) 'sql 語言的查詢語句 t rs=e (sql) '執(zhí)行查詢語句 '如果引藏域名 ctype 的值為 types,則查詢表 rightorwrong 內(nèi)是否存在修改后的判斷題目及答案,如果存在, 則彈出"警示"對話框,頁面返回.如果不存在,則存入數(shù)據(jù)庫中 if request("ctype")="types" then sqlfind="lect * from rightorwrong where question=' "&trim(request("t1"))&" ' and answer=' "&request ("cate")&" ' and rightorwrongid<>"&request("id") 'sql 語言的查詢語句 t rss=e(sqlfind) '執(zhí)行語句 if not then '如果記錄不存在 %> <script language=j

            avascript> //采用 javascript 語言 alert("已有此試題!"); //彈出"警示"對話框 (); //頁面返回 </script> <% el '采用 vbscript 語言 sqledit="update rightorwrong t question=' "&trim(request("t1")) &" rwrong 變?yōu)?lecting,增加 4 個選擇項的內(nèi)容.頁面如圖 1.37 所示.

            圖 1.37

            選擇題增加頁面

            1.10.3 選擇題刪除頁面

            選擇題刪除頁面(type_2_)控件,代碼與判斷題刪除頁面基本類似,在此不再贅述.注意 選擇的數(shù)據(jù)表由 rightorwrong 變?yōu)?lecting.

            1.10.4 選擇題修改頁面

            選擇題修改頁面(type

            在此不再贅述.注意 選擇的數(shù)據(jù)表由 rightorwrong 變?yōu)?lecting,增加 4 個選擇項的內(nèi)容.頁面如圖 1.38 所示.

            圖 1.38

            選擇題修改頁面

            第 1 章 在線考試系統(tǒng)

            41

            1.11

            填空題管理界面

            填空題管理與判斷題管理基本相同.用于顯示當(dāng)前試題庫中的所有填空題,并可以對填空題進行 查找,增加,刪除或修改等操作.共分為 4 個頁面:填空題管理頁面(type_),填空題增加頁面 (type_3_),填空題刪除頁面(type_3_),填空題修改頁面(type_3_).

            1.11.1 填空題管理頁面

            填空題管理頁面(type_)控件,代碼與判斷題管理頁面基本類似,在此不再贅述.但要注意 選擇的數(shù)據(jù)表由 rightorwrong 變?yōu)?filling.頁面如圖 1.39 所示.

            圖 1.39

            填空題管理頁面

            1.11.2 填空題增加頁面

            填空題增加頁面(type_3_)控件,代碼與判斷題增加頁面基本類似,在此不再贅述.注意 選擇的數(shù)據(jù)表由 rightorwrong 變?yōu)?filling.頁面如圖 1.40 所示.

            圖 1.40

            填空題增加頁面

            42

            ASP+SQL Server 典型網(wǎng)站建設(shè)案例

            1.11.3 填空題刪除頁面

            填空題刪除頁面(type_3_)控件,代碼與判斷題刪除頁面基本類似,在此不再贅述.注意 選擇的數(shù)據(jù)表由 rightorwrong 變?yōu)?filling.

            1.11.4 填空題修改頁面

            填空題修改頁面(type_3_)控件,代碼與判斷題修改頁面基本類似,在此不再贅述.注意 選擇的數(shù)據(jù)表由 rightorwrong 變?yōu)?filling.頁面如圖 1.41 所示.

            圖 1.41

            填空題修改頁面

            1.12

            試題管理界面

            試題管理界面主要由試題管理頁面()和試題增加頁面()兩個頁面組成,完成 對試卷的創(chuàng)建和修改.

            1.12.1 試題管理頁面

            試題管理頁面()用于展示試卷信息,修改管理考試試卷信息,頁面如圖 1.42 所示. 創(chuàng)建頁面,首先輸入文字作為頁面標(biāo)題,插入表單,表單內(nèi)插入一個 1×8 的表格 a,表單外加入 1×1 的表格 b.在表格 a 內(nèi),第一行輸入文字"考卷設(shè)置(最新一期的)".將二,三,四,五,六 行

            辣大叔醬板鴨

            同時選中,單擊鼠標(biāo)右鍵,選擇"拆分單元格"命令,將單元格分為四列.第二行并列四個單元格 內(nèi)分別輸入"編號","數(shù)目","分數(shù)","修改"文字.第三行四列單元格合并,輸入文字"暫 無考卷設(shè)置信息".第四行第一列單元格內(nèi)輸入文字"判斷題",第二列單元格內(nèi)添加文本框名為 pd, 第二列添加文本框名為 pds,第三列添加復(fù)選框名為 C1.類似第五行第一列單元格內(nèi)輸入文字"選擇 題",

            第二列單元格內(nèi)添加文本框名為 xz,第二列添加文本框名為 xzs,第三列添加復(fù)選框名為 C2. 第六行第一列單元格內(nèi)輸入文字"填空題",第二列單元格內(nèi)添加文本框名為 tk,第二列添加文本框

            第 1 章 在線考試系統(tǒng)

            43

            名為 tks,第三列添加復(fù)選框名為 C3.將按鈕移至第八行單元格

            ".復(fù) 制"增加"按鈕,更名為"修改".在表格 b 中輸入圖標(biāo),文字"◆ 第 期(判斷題 道/ 分,選擇題 道/ 分,填空題 道/ 分)".

            圖 1.42

            試卷管理頁面

            頁面代碼如下:

            <%'調(diào)用 頁面連接數(shù)據(jù)庫%> <%'調(diào)用 頁面檢測登錄用戶名%>

            1.創(chuàng)建過程 創(chuàng)建過程 btnadd(),如果單擊"增加"按鈕,頁面跳轉(zhuǎn)至試題增加頁面().創(chuàng)建過程 btnedit (),判斷修改后提交各個文本框是否為空.代碼如下:

            <script language=javascript> //采用 javascript 創(chuàng)建函數(shù) btnadd(),btnedit() function btnadd() { te(""); //頁面轉(zhuǎn)至 頁面 } function btnedit() { //如果表單內(nèi)文本框值為空,則彈出"警示"對話框,焦點集中在文本框 pds if ((==" ") || (==" ") || (==" ")) {alert("你提交的為空記錄!"); (); return fal;} if ((!=" " )&&(==" " )) {alert("數(shù)據(jù)不全!"); (); return fal;} if ((!=" " )&&(==" " )) {alert("數(shù)據(jù)不全!"); (); return fal;} if ((!=" " )&&(==" " )) {alert("數(shù)據(jù)不全!"); ();

            44

            ASP+SQL Server 典型網(wǎng)站建設(shè)案例

            return fal;} docume

            辣大叔醬板鴨

            ="edit"; (); } </script>

            //表單 form1 的變量 ctype 賦值為 edit //表單 form1 提交

            2.查詢試卷記錄 查詢試卷記錄,如果沒有試卷,輸出提示.如果存在試卷,輸出最近一期試卷信息.代碼如下:

            <%flag=0 '采用 vbscript 語言,設(shè)變量值為 0 flags=0 sqlfind="lect * from test order by examinationid desc" 'sql 語言的查詢語句 t rss=e(sqlfind) '執(zhí)行查詢語句 if then '如果記錄為空,則 flag 變量賦值為 1,題目顯示"暫無"字樣 flag=1 title=" 暫無 " el '否則,執(zhí)行查詢語句,顯示最近一期的期數(shù) t rs=e("lect * from test order by examinationid desc") title="第 "&rs("examinationid")&" 期" end if

            3.修改試卷記錄 如果單擊"修改"按鈕,則查看選中的復(fù)選框,修改相應(yīng)試卷試題信息.操作完畢,彈出"警示" 對話框提示.代碼如下:

            if trim(request("ctype"))="edit" then '如果變量 ctype 的值為 edit '如果復(fù)選框 c1 賦值為 on,變量 flags 賦值為 1,執(zhí)

            行修改語句,修改試卷判斷題信息 if request("c1")="on" then flags=1 sqledit="update test t rightorwrongid="&trim(request("pd"))&", rightorwrongscore="&trim(request ("pds")) &" where examinationid="&rs("examinationid") t rdit=e(sqledit) end if '如果復(fù)選框 c2 賦值為 on,變量 flags 賦值為 1,執(zhí)行修改語句,修改試卷選擇題信息 i

            st("c2")="on" then flags=1 sqledit="update test t lectid="&trim(request("xz"))&",lectscore="&trim(request("xzs"))&" where examinationid="&rs("examinationid") t rdit=e(sqledit) end if '如果復(fù)選框 c3 賦值為 on,變量 flags 賦值為 1,執(zhí)行修改語句,修改試卷填空題信息 if request("c3")="on" then flags=1 sqledit="update test t fillingid="&trim(request("tk"))&",fillingscore="&trim(request("tks"))&" where examinationid="&rs("examinationid") t rdit=e(sqledit) end if if flags=1 then '如果變量 flags 為 1,則彈出"警示"對話框,頁面跳轉(zhuǎn)至 頁面 %> <script language=javascript>

            第 1 章 在線考試系統(tǒng)

            alert ("修改成功!"); now=new Date(); te("?time="+e()); </script> <% el '否則彈出"警示"對話框%> <script language=javascript> alert ("請選擇要修改項!"); </script> <% end if end if %>

            45

            4.試題管理頁面正文代碼 頁面正文代碼勾畫頁面,顯示試卷信息.代碼如下:

            … <%'表單屬性%> <%'表格 a 屬性%> … <%if flag=1 then '如果試卷信息存在則顯示試卷信息%> <%el%> <%'判斷題題數(shù)文本框?qū)傩?> <%'判斷題每題分數(shù)文本框?qū)傩?> <%'選 擇題題數(shù)文本框?qū)傩?> <%'選擇題每題分數(shù)文本框?qū)傩?>

            46

            ASP+SQL Server 典型網(wǎng)站建設(shè)案例

            <%'填空題 題數(shù)文本框?qū)傩?> <%' 填空題每題分數(shù)文本框?qū)傩?> … <%end if %>
            <%=title%> 考卷設(shè)置(最新一期的)
            暫無考卷設(shè)置信息
            判斷題 > >
            選擇題 > >
            填空題
            辣大叔醬板鴨

            >
            "> >
            <%if flag=0 then%> <%'按鈕屬性%> <%end if %>
            … <%while not '循環(huán)輸出每期試卷題型及分數(shù)信息%>
            ◆ 第 <%=rss("examinationid")%> 期 ( 判 斷 題 <%=rss("rightorwrongid")%> 道 / <%=rss ("rightorwrongscore"

            辣大叔醬板鴨

            )%> 分 , 選 擇 題 <%=rss("lectid")%> 道 / <%=rss("lectscore")%> 分 , 填 空 題 <%=rss("fillingid")%> 道/ <%=rss("fillingscore")%> 分)
            <%'表格屬性%> …

            第 1 章 在線考試系統(tǒng)



            49

            <%'按鈕屬性%>
            判斷題
            選擇題
            填空題
            … <%while not '采用 vbscript 語言,while 循環(huán)語句直到 test 表記錄不為空,插入試卷數(shù)據(jù)%>
            ◆ 第 <%=rs("examinationid")%> 期 ( 判 斷 題 <%=rs("rightorwrongid")%> 道 / <%=rs

            ("rightorwrongscore")%> 分 , 選 擇 題 <%=rs("lectid")%

            辣大叔醬板鴨

            > 道 / <%=rs("lectscore")%> 分 , 填 空 題 <%=rs("fillingid")%> 道/ <%=rs("fillingscore")%> 分)
            <%=rs("studentname")%>各期考試統(tǒng)計

            學(xué)生 基本資料==> 性別:<%=rs("x")%> 班號:<%=rs("class")%> 學(xué)號:<%=rs("stud

            entnumber")%>

            (參加過 <%=ci%> 期考試,最高 <%=hf%> 分,最 低 <%=lf%> 分, <%=bjg%> 次不及格)

            第 <%=rs1("examinationid")%> 期 <%=fen%> <%=

            辣大叔醬板鴨

            bfen%>
            <%'表單屬性%> <%keyword=trim(request("keyword")) '限定查詢條件是否為所有考生 if keyword=" " then keywords="所有考生" el keywords=keyword end if %> 查找其他考生  請輸入考生姓名 
            暫無此學(xué)員信息
            "><%= rs("studentname")% > <%=fen%> <%=bk%> <%=bfen%>
            &reportid=<%=reportid%> method="get" name= form1 > <% ze&"條一頁  " if Page=1 then "第一頁 " end if If Page <> 1 Then '如果頁面不等于 1,則顯示"第一頁","上一頁","下一頁","最后一頁"字樣 "
            &keyword&"&reportid="&reportid&"&Page=1>第一頁
            " "上一頁 " end If If Page <> unt Then "
            辣大叔醬板鴨

            "&keyword&"&reportid="&reportid&"&Page=" & (Page+1) & ">下一頁
            " "最后一頁 " end If if page= unt then "最后一頁 "

            第 1 章 在線考試系統(tǒng)

            end if "總共有"&unt&"頁, 目前是第"&page&"頁"

            57

            %> 轉(zhuǎn)到 > name="keyword"> name="reportid"> 頁


            1.14.2 批準考試頁面

            批準考試頁面(test_),用于管理類用戶批準考生補考.單擊學(xué)生管理頁面內(nèi)"批準補考" 鏈接,進入批準考試頁面,批準考生補考.頁面代碼如下:

            <%'調(diào)用 頁面連接數(shù)據(jù)庫%> <%'調(diào)用 頁面檢測登錄用戶名%> … <%t rs=e("update examination t pass=1 where studentnumber="&request("studentnumber")&" and examinationid="&request("reportid")&" ") '修改為批準考試%> <script language=javascript> var now=new Date(); te("?time="+e()); </script>

            1.15

            管理員信息頁面

            管理員信息頁面()對管理員的密碼進行修改,頁面如圖 1.46 所示. 創(chuàng)建頁面,輸入頁面標(biāo)題"系統(tǒng)管理",插入表單,在表單內(nèi)插入一個 3×2 的表格,在第一行第 一列單元格內(nèi)輸入文字"賬號",第二行第一列單元格輸入文字"密碼",第二列單元格添加文本框. 將第三行兩列單元格選中,單擊鼠標(biāo)右鍵,選擇"合并單元格"命令,將按鈕移至第三行單元格內(nèi). 設(shè)置文字,表格,表單,文本框和按鈕等控件屬性.頁面代碼如下:

            <%'

            調(diào)用 頁面連接數(shù)據(jù)庫%> <%'調(diào)用 頁面檢測登錄用戶名%> <%'采用 vbscript 語言,如果 ssion 變量 adminid 為空,則整個頁面跳轉(zhuǎn)至 頁面 if ssion("adminid")=" " then

            58

            ASP+SQL Server 典型網(wǎng)站建設(shè)案例

            %> <script language=javascript> te(""); </script> <% end if %>

            圖 1.46

            試題增加頁面

            1.創(chuàng)建過程檢查密碼是否輸入 創(chuàng)建過程函數(shù) check (),檢查密碼是否輸入.代碼如下:

            <script language=javascript> //采用 javascript 語言,創(chuàng)建函數(shù) check() function check() {

            d 為空,則彈出警示框,焦點集中在文本 pwd if (==" ") {alert("請輸入密碼!"); (); return fal; } ="edit"; //表單 form1 的變量 ctype 賦值為 edit (); //提交表單 } </script>

            2.修改管理員密碼 修改數(shù)據(jù)庫中管理員密碼,操作成功則彈出"警示"對話框.代碼如下:

            <% t rs=e("lect * from admin where admin="&ssion("adminid")) '執(zhí)行插敘語句 '如果變量 ctype 的值為 edit,執(zhí)行修改語句,將修改后的密碼,保存在數(shù)據(jù)庫中,彈出警示框,跳轉(zhuǎn)至頁面 if request("ctype")="edit" then t rdit=e ("update admin t admin=' "&trim(request("t1"))&" 鏈接, 進入在線考試頁面,頁面如圖 1.47 所示. 創(chuàng)建頁面,首先在頁面內(nèi)創(chuàng)建一個 1×1 的表格 a.然后在表格 a 內(nèi)插入一個 6×1 的表格 b.表格 b 的第一行單元格內(nèi)輸入文字",您好!",文字居中.在","前,代碼樣式下,添加代碼 "<%=ssion("student")%>",顯示用戶姓名.第二行單元格內(nèi)輸入文字"您將要參加的第 期考試情 況如下: , " 文字居中. "期" 在 字前, 代碼樣式下, 添加代碼 "<%=ssion("qi")%>" ,

            60

            ASP+SQL Server 典型網(wǎng)站建設(shè)案例

            顯示考試期次. 第三行單元格內(nèi)輸入文字 "本期考試 道判斷題, 道選擇題,

            字居中.在相應(yīng)位置前,插入代碼,顯示每種考題的數(shù)量,分數(shù)及總分數(shù).第四行單元格內(nèi)輸入文 字"進入考試= = =>",文字居右,設(shè)置超級鏈接,單擊它進入在線考試頁面().設(shè)置頁面內(nèi) 表格,文字其余屬性.頁面代碼如下:

            圖 1.47



            考試預(yù)備頁面

            <%'調(diào)用 頁面連接數(shù)據(jù)庫%> <%'調(diào)用 頁面檢測登錄用戶名%>

            1.查詢試卷信息 查詢表 test,查詢試卷題型及題量信息.代碼如下:

            <% '采用 vbscript 語言 t=125 '設(shè)定超時時間為 125 分鐘 flag=0 '將變量 flag 賦值為 0 '執(zhí)行查詢語句查詢表 test,并以 examinationid 字段降序排列 t rs=e("lect * from test order by examinationid desc ") if then '如果沒有記錄 flag=1 '變量 flag 賦值為 1 "

            =========================== ===========================

            " '輸出文字"暫無考試" ssion("qi")=0 '變量 ssion("qi")賦值為 0 pd=0 '判斷題數(shù)量變量賦值為 0 pds=0 '判斷題每題分數(shù)變量賦值為 0 xz=0 '選擇題數(shù)量變量賦值為 0 xzs=0 '選擇題每題分數(shù)變量賦值為 0 tk=0 '填空題數(shù)量變量賦值為 0 tks=0 '填空題每題分數(shù)變量賦值為 0 zfen=pd*pds+xz*xzs+tk*tks '總分數(shù)變量賦值 el '否則 '執(zhí)行查詢語句查詢表 examination,并以 examinationid 字段降序排列 t rss=e("lect * from examination order by examinationid desc ") '如果沒有記錄,變量 ssion("qi")賦值為 1.否則賦值為最大的 examinationid 字段值加 1 if then ssion("qi")=1 el ssion("qi")=rss("examinationid")+1 end if

            暫無考試

            第 1 章 在線考試系統(tǒng)

            pd=rs("rightorwrongid") pds=rs("rightorwrongscore") xz=rs("lectid") xzs=rs("lectscore") tk=rs("fillingid") tks=rs("fillingscore") zfen=pd*pds+xz*xzs+tk*tks end if %> '判斷題數(shù)量變量賦值 '判斷題每題分數(shù)變量賦值 '選擇題數(shù)量變量賦值 '選擇題每題分數(shù)變量 '填空題數(shù)量變量賦值 '填空題每題分數(shù)變量賦值 '總分數(shù)變量賦值

            61

            2.考試預(yù)備頁面正文代碼 頁面正文代碼勾畫頁面,顯示考生姓名及本期試卷信息.代碼如下:


            > …

            <%=ssion("student")%>,您好!

            進入考試===>
            留言與評論(共有 0 條評論)
               
            驗證碼:
            推薦文章
            排行榜
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實用文體寫作網(wǎng)旗下知識大全大全欄目是一個全百科類寶庫! 優(yōu)秀范文|法律文書|專利查詢|
            主站蜘蛛池模板: 99er热精品视频| 97在线精品视频免费| 亚洲一级毛片在线观播放| 色偷偷天堂av狠狠狠在| 久久人人97超碰爱香蕉| 狠狠色噜噜狠狠狠狠2021| 亚洲伊人五月丁香激情| 久久精品国产亚洲av天海翼 | 青青草原网站在线观看| 无码国产精品一区二区免费网曝| 亚洲一区久久蜜臀av| 久久亚洲精品11p| 深夜av在线免费观看| 国产成人av片在线观看| 国产成人剧情AV麻豆果冻| 亚洲精品国产自在现线最新| 欧美日韩精品一区二区三区高清视频| 亚洲国产初高中生女av| 不卡AV中文字幕手机看| 色图网免费视频在线观看十八禁 | 日韩午夜福利片段在线观看 | 亚洲国产成人久久综合区| 国产亚洲一区二区三区啪| 中文字幕不卡在线播放| 男女性高爱潮免费网站| 久草国产视频| 久久永久视频| 国产乱人伦AV在线麻豆A| 亚洲中文字幕无码av正片| 中文人妻AV大区中文不卡| 免费无码的av片在线观看| 四虎影视永久无码精品| 成人国产精品日本在线观看| 亚洲成a人片在线网站| 亚洲日韩AV秘 无码一区二区 | 亚洲人成网站77777在线观看| 无码内射中文字幕岛国片| 中文无码热在线视频| 欧美黑人XXXX性高清版| 婷婷六月色| 视频二区中文字幕在线|