首頁 > 文章中心 > 正文

      網上考試系統設計

      前言:本站為你精心整理了網上考試系統設計范文,希望能為你的創作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。

      網上考試系統設計

      摘要給出了用ASP和SQL技術實現網上考試系統的一個實例。

      關鍵詞:ADOASPSQL

      0.引言

      隨著網絡技術的發展,傳統的考試形式已日益顯示出其不足。本文用asp技術和sql結構化查詢語言實現了網上的無紙化考試。

      1.設計

      系統基本原理是:用access建立一個數據庫文件,用來存儲試題及用戶的驗證信息。當用戶登陸時,首先提示要輸入驗證信息,當輸入用戶信息后,通過sql語言查詢此用戶是否合法,如果不合法,則顯示提示信息。否則,進入考試系統,由服務器抽取試題并顯示到考生屏幕上。當考生做完題并遞交后,由系統自動評分并顯示成績。

      在本系統中,數據庫的建立是用ACCESS實現的。其中包括兩個表:user和test。

      User表存儲用戶信息,test表存儲考試內容。

      user表結構如下:

      字段名類型含義

      User文本存儲用戶名

      Passwd文本存儲密碼

      Score數字存儲成績

      Test表結構如下:

      字段名類型含義

      Question文本存儲考試題目

      A文本存儲選項A的答案

      B文本存儲選項B的答案

      C文本存儲選項C的答案

      D文本存儲選項D的答案

      Answer文體存儲正確答案

      在提取用戶端信息以及反饋信息時用到了ASP的內置對象。現說明如下:

      Request對象

      可以使用Request對象訪問任何用HTTP請求傳遞的信息,包括從HTML表格用POST方法或GET方法傳遞的參數、cookie和用戶認證。本系統通過REQUEST獲取用戶輸入的用戶名和密碼。代碼為:

      REQUEST.FORM(“name”)和REQUEST.FORM(“passwd”)。

      Response對象

      可以使用Response對象控制發送給用戶的信息。包括直接發送信息給濟覽器、重定向瀏覽器到另一個URL或設置Cookie的值。本系統通過RESPONSE將成績反饋給用戶。

      RESPONSE.WRITE“你的成績是”&score

      試題的讀取和成績的錄入是通過ADO來進行的。ADO(ActiveXDataObject,ActiveX數據對象)是一個ASP內置的ActiveX服務器組件(ActiveXServerComponet),用于數據庫訪問,對數據庫進行查詢、插入、更新、刪除等操作。對數據庫的查詢是用SQL的select命令,成績的錄入是用SQL的update命令。

      存取數據庫的具體步驟是:首先確定數據源,然后打開或連接數據庫,,并執行響應的操作,執行完畢關閉數據庫。以上操作是通過ADO對象來實現的。connection對象負責打開或連接數據庫,recordset對象負責存取數據表,execute負責執行SQL命令。

      設定數據來源的方法是:在服務器上打開“我的電腦”中的“控制面板”,雙擊“ODBC”;在“系統DSN”下選“添加”,選出預先設好的數據庫種類、名稱和位置。這里要用到的是access數據庫,數據源名稱為exam,主數據庫名稱為excise.mdb。打開或連接數據庫的方法是:先用Server.CreatObject取得對象“ADODB.Connection”的一個實例,然后用“Open”打開待訪問的數據庫:

      SetConn=Server.CreatObject(“ADODB.Connection”)

      Conn.Open“exam"

      然后執行SQL命令,即對數據庫進行操作,這里要使用Execute命令

      setrs=server.createobject(“adodb.recordset")

      sql=“select*fromrest"

      setrs=conn.execute(sql)

      2.具體實現

      主頁文件index.asp的源代碼如下:

      〈html〉

      〈head〉

      〈metahttp-equiv=”Content-Type"content=”text/html;charset=gb2312"〉

      〈metaname=“GENERATOR"content=”MicrosoftFrontPage4.0"〉

      〈metaname=“Progld"content=”Fronpage.Editor.Document"〉

      〈title〉用戶口令檢查〈/title〉

      〈/head〉

      〈bodybgcolor=”#008080”〉

      〈formmethod=”post"action=”login.asp"〉

      〈palign=”center"〉〈fontsize=”6"face=”黑體"〉網上考試系統v4.0〈/font〉〈/p>

      〈palign=”center"〉〈fontcolor=“#0000FF"〉作者:尹春勇孫如霞〈/font>〈/p〉

      〈palign=”center"〉2002.4.24〈/p〉

      〈palign=”center"〉用戶:〈inputtype=”text"name”name"size=”20"〉〈/p〉

      〈palign=”center”〉口令:〈inputtype=”password”name=”passwd”size=“20"〉〈/p>

      〈pailgn=”center"〉〈inputtype=”submit"value=“提交"name=“B1"〉

      〈inputtype=“reset"value=”全部重寫"name=”B2"〉〈/p〉

      〈/form〉

      〈/body〉

      〈/html〉

      信息遞交后驗證源代碼login.asp如下:

      〈%

      name=request.form(“name")

      passwd=request.form(“passwd")

      setrs=server.createobject(“adodb.recordset”)

      setconn=server.createobject(“adodb.connection")

      connstr=“excise"

      conn.openconnstr

      sql=“select*fromuserwhereuser=`“&name&"’"

      setrs=conn.execute(sql)

      ifnot(rs.eof)then

      ifrs(“score")〈〉Othen

      response.writers(“user")&“的成績是"&rs(“score")

      else

      session(“pass")=1

      session(“user")=name

      response.redirect“test.asp"

      endif

      else

      response.write“對不起,用戶和口令不正確!"

      endif

      %〉信息通過后抽取試題源代碼test.asp如下:

      〈%@language=vbscript%〉

      〈%

      ifsession(“pass")〈〉1thenresponse.redirect”login.asp"

      setrs=server.createobject(“adodb.recordset")

      setconn=server.createobject(“adodb.connection")

      connstr=“excise"

      conn.openconnstr

      sql=“select*fromtest"

      setrs=conn.execute(sql)

      %〉

      〈html〉

      〈bodybgcolor=“#COCOCO"〉

      〈formmethod=“POST"action=“result.asp"〉

      〈%

      i=1

      rs.movefirst

      dowhilenot(rs.eof)%〉

      〈%=i%〉

      〈%=rs(“question")%〉

      〈br〉〈hr〉

      〈tableborder=“O"width=“100%"〉

      〈tr〉

      〈tdwidth=”50%"〉〈inputtype=radioname=ans〈%=i%〉value=”a"〉A〈%=rs(“a")%〉〈/td〉

      〈tdwidth=“50%"〉〈inputtype=radioname=ans〈%=i%〉value=”b"〉B〈%=rs(“b")%〉〈/td〉

      〈/tr〉

      〈tr〉

      〈tdwidth=”50%”〉〈inputtype=radioname=ans〈%=i%〉value=”c”〉C〈%=rs(“c”)%〈/td〉

      〈tdwidth=”50%"〉〈inputtype=radioname=ans〈%=i%〉value=”d"〉D〈%=rs(“d")%〉〈/td〉

      〈/tr〉

      〈/table〉

      〈%

      i=i+1

      rs.movenext

      loop

      %〉

      〈inputtype=”submit"name=”submit1"value=”交卷"〉

      〈inputtype=”reset"name=”reset1"value=“重做"〉

      〈/form〉

      〈/body〉

      〈/html〉

      評分源代碼result.asp如下:

      〈%@language=vbscript%〉

      〈%

      setrs=server.createobject(“adodb.recorbset”)

      setconn=server.createobje

      ct(“adodb.connection")

      connser=”excise"

      conn.openconnstr

      sql=”selectansfromtest"

      setrs=conn.execute(sql)

      correct=0

      count=0

      dowhilenotrs.eof

      count=count+1

      ifrequest.form(count)=rs(“ans")then

      correct=correct+1

      endif

      rs.movenext

      loop

      scores=correct/count*100

      response.write“你的成績是:"&scores

      sql=”updateusersetscore=”&scores&whereuser=''''”&session(“user")&"''''"

      conn.execute(sql)

      %〉

      老色鬼久久亚洲AV综合| 亚洲精品免费网站| 亚洲欧好州第一的日产suv| 亚洲视频在线观看网站| 久久精品国产96精品亚洲| 亚洲色成人中文字幕网站| 久久亚洲国产成人影院网站| 亚洲熟伦熟女新五十路熟妇| 亚洲国产精品一区二区三区久久| 国产AV无码专区亚洲AV蜜芽 | 中文字幕无码精品亚洲资源网| 亚洲精品97久久中文字幕无码| 亚洲 自拍 另类小说综合图区| jzzijzzij在线观看亚洲熟妇| 久久久亚洲精华液精华液精华液| 亚洲AV无码一区二区三区电影 | 亚洲精品无码专区| 亚洲AV日韩AV永久无码色欲| 国产亚洲高清在线精品不卡| 亚洲国产aⅴ综合网| 国产成人亚洲综合无码| 亚洲色成人WWW永久网站| 亚洲精品白浆高清久久久久久| 亚洲gv白嫩小受在线观看| 亚洲一区二区影院| 亚洲欧洲视频在线观看| 亚洲人成7777影视在线观看| 亚洲粉嫩美白在线| 亚洲Av永久无码精品黑人| 亚洲国产中文字幕在线观看| 亚洲日韩精品无码专区网址| 亚洲AV无码成人网站久久精品大 | 最新亚洲人成网站在线观看| 亚洲国产精品国产自在在线| 中文字幕第13亚洲另类| 久久精品国产亚洲av成人| 亚洲第一成年人网站| 亚洲天堂2016| 青草久久精品亚洲综合专区| 亚洲AⅤ永久无码精品AA| 在线精品亚洲一区二区小说|