畢業(yè)設(shè)計(論文)基于數(shù)據(jù)庫,ASP.NET上的網(wǎng)上輔助教學(xué)系統(tǒng)的開發(fā)與應(yīng)用_第1頁
畢業(yè)設(shè)計(論文)基于數(shù)據(jù)庫,ASP.NET上的網(wǎng)上輔助教學(xué)系統(tǒng)的開發(fā)與應(yīng)用_第2頁
畢業(yè)設(shè)計(論文)基于數(shù)據(jù)庫,ASP.NET上的網(wǎng)上輔助教學(xué)系統(tǒng)的開發(fā)與應(yīng)用_第3頁
畢業(yè)設(shè)計(論文)基于數(shù)據(jù)庫,ASP.NET上的網(wǎng)上輔助教學(xué)系統(tǒng)的開發(fā)與應(yīng)用_第4頁
畢業(yè)設(shè)計(論文)基于數(shù)據(jù)庫,ASP.NET上的網(wǎng)上輔助教學(xué)系統(tǒng)的開發(fā)與應(yīng)用_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、南 開 大 學(xué)本 科 生 畢 業(yè) 論 文(設(shè) 計)基于數(shù)據(jù)庫,asp.net上的網(wǎng)上輔助教學(xué)系統(tǒng)的開發(fā)與應(yīng)用學(xué) 號:姓 名:年 級:2001級學(xué) 院:現(xiàn)代遠(yuǎn)程教育學(xué)院專 業(yè):計算機(jī)科學(xué)與技術(shù)完成日期: 指導(dǎo)教師:基于數(shù)據(jù)庫,asp.net上的網(wǎng)上輔助教學(xué)系統(tǒng)的開發(fā)與應(yīng)用sql,asp.net network teaching system姓 名:專 業(yè):計算機(jī)科學(xué)與技術(shù)指導(dǎo)教師:答辯日期:基于數(shù)據(jù)庫,asp.net上的網(wǎng)上輔助教學(xué)系統(tǒng)的開發(fā)與應(yīng)用 摘要摘 要本文主要介紹了我們開發(fā)的網(wǎng)上輔助教學(xué)系統(tǒng)的網(wǎng)站。此網(wǎng)站能夠?qū)崿F(xiàn)學(xué)生從題庫中抽取題目,回答題目,老師向題庫中添加題目,修改題目及管理員添加用

2、戶,刪除用戶等功能。文中介紹了制作此網(wǎng)站所需要的開發(fā)工具及開發(fā)過程中所應(yīng)用到的各種實(shí)用技術(shù),總體上列舉了整個網(wǎng)站的組成和基本功能的實(shí)現(xiàn),并且詳細(xì)介紹了網(wǎng)站數(shù)據(jù)庫的搭建和用戶登陸功能的實(shí)現(xiàn)。關(guān)鍵字sql server數(shù)據(jù)庫,asp.net,ado.net,sql abstracttitle:sql,asp.net network teaching systemauthor:du yonghaomajor:computer science and technologyadvisor:wang juan this article introduces the web server of networ

3、k teaching system that we designed. in the web server of network teaching system, student cramp out the title, answer the title from it, teacher add to the title, amend the title in it, manager add to the user, delete the user in it. in the artitle, we list several technologies used in the software,

4、 tell every modules function together with its implement summarily, and discuss the sql server 2000 database and user to land function.keyword sql server database,asp.net,ado.net,sql 第 26 頁基于數(shù)據(jù)庫,asp.net上的網(wǎng)上輔助教學(xué)系統(tǒng)的開發(fā)與應(yīng)用內(nèi)容目錄內(nèi) 容 目 錄摘 要1abstract2第一章前言61.1論文背景介紹61.2問題提出6第二章開發(fā)工具以及語言環(huán)境的選擇72.1sql server72.2

5、關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言sql92.3asp.net102.4ado.net訪問數(shù)據(jù)庫的原理及優(yōu)勢11第三章網(wǎng)站總體設(shè)計及功能分析133.1總體構(gòu)成設(shè)計133.1.1總體設(shè)計分析133.1.2系統(tǒng)構(gòu)成133.2系統(tǒng)功能分析14第四章數(shù)據(jù)庫設(shè)計與登陸功能的實(shí)現(xiàn)154.1數(shù)據(jù)庫的搭建154.1.1數(shù)據(jù)庫中表單及關(guān)系圖的建立154.1.2數(shù)據(jù)庫與網(wǎng)頁連接方法分析194.2系統(tǒng)登陸功能204.2.1系統(tǒng)登陸功能的主要代碼及其實(shí)現(xiàn)20第五章總結(jié)23參考文獻(xiàn)24致 謝25圖 目 錄圖2-1 sql企業(yè)管理器8圖2-2 asp.net系統(tǒng)結(jié)構(gòu)模型10圖3-1 系統(tǒng)構(gòu)成圖14圖4-1 數(shù)據(jù)庫關(guān)系圖18圖4-2 系統(tǒng)

6、登陸界面20表 目 錄表4-1學(xué)生表結(jié)構(gòu)15表4-2教師表結(jié)構(gòu)16表4-3管理員表結(jié)構(gòu)16表4-4選擇題表結(jié)構(gòu)17表4-5判斷題表結(jié)構(gòu)18基于數(shù)據(jù)庫,asp.net上的網(wǎng)上輔助教學(xué)系統(tǒng)的開發(fā)與應(yīng)用 前言第一章 前言1.1 論文背景介紹在internet飛速發(fā)展的今天,互聯(lián)網(wǎng)成為人們快速獲取、發(fā)布和傳遞信息的重要渠道,它在人們政治、經(jīng)濟(jì)、學(xué)習(xí)、生活等各個方面發(fā)揮著重要的作用。因特網(wǎng)技術(shù)與印刷出版、飛機(jī)、個人電腦并列,作為歷史上最具革命性的技術(shù)之一。在沉寂了20多年后,因特網(wǎng)走出不為人所知的角落,引起來了全世界所有人的關(guān)注和想象。 眾所周知,internet上發(fā)布信息主要是通過網(wǎng)站來實(shí)現(xiàn)的,獲取信

7、息也是要在internet“海洋”中按照一定的檢索方式將所需要的信息從網(wǎng)站上下載下來。因此網(wǎng)站建設(shè)在internet應(yīng)用上的地位顯而易見,它已成為政府、企事業(yè)單位信息化建設(shè)中的重要組成部分,從而倍受人們的重視。1.2 問題提出伴隨著網(wǎng)絡(luò)的出現(xiàn),網(wǎng)站逐漸融入人們的生活。快速及時的新聞瀏覽,五彩繽紛的網(wǎng)上信息,網(wǎng)絡(luò)與人們的生活息息相關(guān)。制作網(wǎng)站是企業(yè)和個人的宣傳自己的重要手段,同時也是學(xué)習(xí)者獲取學(xué)習(xí)信息的重要手段,尤其是在教育領(lǐng)域,在素質(zhì)教育與終身教育成為必然的今天,人們對信息的需求有了更新,更高的要求,而網(wǎng)站由于本身所具有的信息量大,傳遞快速,沒有時空限制等特點(diǎn)恰好滿足這種要求。所以網(wǎng)站也逐漸成

8、為一種新興的教育資源。本文介紹的正是我們對網(wǎng)上輔助教學(xué)系統(tǒng)的開發(fā)與設(shè)計過程,包括開發(fā)工具以及語言環(huán)境的選擇、設(shè)計思想、具體實(shí)施、調(diào)試以及運(yùn)行的一系列過程。下面就讓我們進(jìn)入論文的主體部分。基于數(shù)據(jù)庫,asp.net上的網(wǎng)上輔助教學(xué)系統(tǒng)的開發(fā)與應(yīng)用 開發(fā)工具以及語言環(huán)境的選擇第二章 開發(fā)工具以及語言環(huán)境的選擇2.1 sql serversql server最早是由關(guān)系數(shù)據(jù)庫sybase演變而來的。1988年由sybase,microsoft,ashton-tate三家公司共同開發(fā)了os/2版本,后來又應(yīng)用于windows nt操作系統(tǒng)中。1994年microsoft公司和sybase公司的合作正式

9、結(jié)束,如今sybase公司致力于開發(fā)基于unix下的數(shù)據(jù)庫系統(tǒng),而microsoft公司繼續(xù)開發(fā)基于windows nt和sql server系列數(shù)據(jù)庫系統(tǒng)。其發(fā)展歷程如下: 1995年發(fā)行了sql server6.0版本 1996年發(fā)行了sql server6.5版本 1998年發(fā)行了sql server7.0版本 2000年正式發(fā)行了sql server2000版本在sql server的發(fā)展歷程中,有三個具有里程碑的版本:sql server6.5、sql server7.0以及sql server2000,下面我們重點(diǎn)介紹一下sql server2000的新特點(diǎn): 簡單的圖形化管理工具

10、sql server企業(yè)管理器是一個基于圖形用戶界面的繼承管理工具,利用它可以配置管理sql server服務(wù)器,管理數(shù)據(jù)庫和數(shù)據(jù)庫對象,備份和恢復(fù)數(shù)據(jù),調(diào)度任務(wù)和管理警報,實(shí)現(xiàn)數(shù)據(jù)復(fù)制和數(shù)據(jù)轉(zhuǎn)換等。它的界面圖2-1所示:圖2-1 sql企業(yè)管理器 隱含的并發(fā)控制能力sql server利用動態(tài)鎖定功能防止用戶在查詢和更新并發(fā)操作時相互間發(fā)生沖突,動態(tài)鎖定是隱含的,用戶不必關(guān)心縮定過程。 豐富的編程接口工具sql server2000提供了豐富的編程接口工具,為用戶進(jìn)行程序設(shè)計提供了更大的選擇余地。此外,它還支持odbc和ole db規(guī)范,可以使用odbc和ole db接口函數(shù)訪問sql se

11、rver數(shù)據(jù)庫。 多線程體系結(jié)構(gòu) sql server支持多線程操作,在多用戶并發(fā)訪問時,系統(tǒng)在產(chǎn)生較小額外負(fù)擔(dān)的情況下,能夠進(jìn)行并發(fā)處理,從而減小內(nèi)存需求,提高系統(tǒng)的吞吐量,在用戶數(shù)量增加時,sql server的運(yùn)行速度也不會明顯減慢。 具有很好的伸縮性sql server2000既能運(yùn)行在windows 2000操作系統(tǒng)下,又可以運(yùn)行在windows nt, workstation,windows nt server等操作系統(tǒng)下,并且利用了nt的許多功能,如發(fā)送和接受消息,管理登錄安全性等。同時,sql server也可以很好地與microsoft backoffice產(chǎn)品集成。 基于s

12、ql server以上的5個特點(diǎn),我們選擇了它為網(wǎng)站搭建數(shù)據(jù)庫, 使網(wǎng)站能夠更快更好的完成數(shù)據(jù)庫操作。2.2 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言sqlsql是一種介于關(guān)系代數(shù)與關(guān)系演算之間的結(jié)構(gòu)化查詢語言,其功能并不僅僅是查詢。sql是一個通用的、功能極強(qiáng)的關(guān)系數(shù)據(jù)庫語言。sql之所以能夠?yàn)橛脩艉蜆I(yè)界所接受,并成為國際標(biāo)準(zhǔn),是因?yàn)樗且粋€綜合的、功能極強(qiáng)同時又簡捷易學(xué)的語言。sql語言集數(shù)據(jù)查詢(data query)、數(shù)據(jù)操縱(data manipulation)、數(shù)據(jù)定義(data definition)和數(shù)據(jù)控制(data control)功能與一體,主要特點(diǎn)包括: 統(tǒng)一的語言sql可用于所有用戶的db

13、活動模型,包括系統(tǒng)管理員、數(shù)據(jù)庫管理員、應(yīng)用程序員、決策支持系統(tǒng)人員及許多其它類型的終端用戶?;镜膕ql命令只需很少時間就能學(xué)會,最高級的命令在幾天內(nèi)便可掌握。sql為許多任務(wù)提供了命令,包括:查詢數(shù)據(jù)在表中插入、修改和刪除記錄,建立、修改和刪除數(shù)據(jù)對象,控制對數(shù)據(jù)和數(shù)據(jù)對象的存取,保證數(shù)據(jù)庫一致性和完整性。以前的數(shù)據(jù)庫管理系統(tǒng)為上述各類操作提供單獨(dú)的語言,而sql將全部任務(wù)統(tǒng)一在一種語言中 高度非過程化sql是一個非過程化的語言,因?yàn)樗淮翁幚硪粋€記錄,對數(shù)據(jù)提供自動導(dǎo)航。sql允許用戶在高層的數(shù)據(jù)結(jié)構(gòu)上工作,而不對單個記錄進(jìn)行操作,可操作記錄集。所有sql語句接受集合作為輸入,返回集合作

14、為輸出。sql的集合特性允許一條sql語句的結(jié)果作為另一條sql語句的輸入。sql不要求用戶指定對數(shù)據(jù)的存放方法。這種特性使用戶更易集中精力于要得到的結(jié)果。所有sql語句使用查詢優(yōu)化器,它是rdbms的一部分,由它決定對指定數(shù)據(jù)存取的最快速度的手段。查詢優(yōu)化器知道存在什么索引,使用在哪兒合適,而用戶從不需要知道表是否有索引,表有什么類型的索引 面向集合的操作方式sql語言采用集合操作方式,不僅操作對象、查找結(jié)果可以是元組的集合,而且一次插入、刪除、更新操作的對象也可以是元組的集合。 以同一種語法結(jié)構(gòu)提供兩種使用方式sql語言既是自含式語言,又是嵌入式語言。作為自含式語言,它能夠獨(dú)立地用于聯(lián)機(jī)交

15、互的使用方式,用戶可以在終端鍵盤上直接鍵入sql命令對數(shù)據(jù)庫進(jìn)行操作,作為嵌入式語言,sql語句能夠嵌入到高級語言(例如c,cobol,fortran,pl/1)程序中,供程序員設(shè)計程序時使用。而在兩種不同的使用方式下,sql語言的語法結(jié)構(gòu)基本上是一致的。這種以統(tǒng)一的語法結(jié)構(gòu)提供兩種不同的使用方式的做法,提供了極大的靈活性與方便性。 語言簡捷,易學(xué)易用sql語言功能極強(qiáng),但由于設(shè)計巧妙,語言十分簡捷,完成核心功能只用了9個動詞,sql語言接近英語口語,因此容易學(xué)習(xí),容易使用。2.3 asp.netasp全名active server pages,是一套微軟開發(fā)的服務(wù)器端腳本環(huán)境,產(chǎn)生和運(yùn)行動態(tài)

16、的、交互的、高性能的web服務(wù)應(yīng)用程序。asp采用腳本語言vbscript或jscript作為開發(fā)語言。asp的出現(xiàn)使得網(wǎng)絡(luò)應(yīng)用程序開發(fā)變得相當(dāng)容易,但由于它是通過解釋執(zhí)行,而且腳本程序和靜態(tài)網(wǎng)頁混合在一起,所以從程序的執(zhí)行速度和程序的可移植性上都存在一些問題,由于這樣的原因,微軟推出了asp.net。asp.net結(jié)構(gòu)是一個三層系統(tǒng):ui層、業(yè)務(wù)邏輯層和數(shù)據(jù)層,如圖2-2所示。圖2-2 asp.net系統(tǒng)結(jié)構(gòu)模型由于asp本身的局限性使得系統(tǒng)有一些不可克服的缺陷,而采取了asp.net技術(shù)的系統(tǒng)性能上有了很大的改善,其主要表現(xiàn)在以下幾方面: 由于asp頁面每次打開都必須經(jīng)過先編譯后解釋的過程

17、,所以頁面在反復(fù)打開時速度沒有任何提升,而asp.net頁面只需要一次編譯后不需要重新編譯,直到該頁面被修改或web應(yīng)用程序重新啟動。這使得在多次訪問時速度有了極大的提升。 由于asp沒有提供任何輸出數(shù)據(jù)為內(nèi)容的元件,所以在使用asp撰寫數(shù)據(jù)庫頁面時只能借助ado的recordset對象逐筆讀取記錄,而asp.net通過ado.net提供的datagrid等數(shù)據(jù)庫元件可以直接和數(shù)據(jù)庫聯(lián)系。 asp.net支持應(yīng)用程序的實(shí)時更新。管理員不必關(guān)掉網(wǎng)絡(luò)服務(wù)器或者甚至不用停止應(yīng)用程序的運(yùn)行就可以更新應(yīng)用文件。應(yīng)用程序文件永遠(yuǎn)不會被加鎖,因此甚至在程序運(yùn)行時文件就可以被覆蓋。當(dāng)文件更新后,系統(tǒng)會溫和地轉(zhuǎn)

18、換到新的版本。 asp.net采取code-behind方式編寫代碼使得代碼更易于編寫,結(jié)構(gòu)更清晰,降低了系統(tǒng)的開發(fā)與維護(hù)的復(fù)雜度和費(fèi)用。2.4 ado.net訪問數(shù)據(jù)庫的原理及優(yōu)勢與數(shù)據(jù)庫相連,ado.net提供了如下3種方式:通過odbc相連;通過oledb相連;直接與sql server相連。3種方式由于應(yīng)用層次的差異,使得效率由低到高,獨(dú)立性由高到低。對于相連數(shù)據(jù)庫的數(shù)據(jù)處理,也有2種方式,即一種是通過dataset來隔離異構(gòu)的數(shù)據(jù)源,另一種是以流方式從數(shù)據(jù)源讀取(datareader方式)。 傳統(tǒng)的應(yīng)用程序是通過先建立到數(shù)據(jù)庫的連接,在程序的整個運(yùn)行過程中維護(hù)連接的方式來設(shè)計的。as

19、p.net采取了斷開連接方式的數(shù)據(jù)結(jié)構(gòu)。當(dāng)瀏覽器向web服務(wù)器請求網(wǎng)頁時,服務(wù)器處理這個請求,并將所請求的網(wǎng)頁發(fā)送給瀏覽器,然后連接就被斷開,直到瀏覽器發(fā)出下一個請求。 ado.net的另一個創(chuàng)新是引入了數(shù)據(jù)集(dataset)。一個數(shù)據(jù)集是內(nèi)存中提供數(shù)據(jù)關(guān)系圖的高速緩沖區(qū)。數(shù)據(jù)集對數(shù)據(jù)源一無所知,它們可以由程序或通過從數(shù)據(jù)倉庫中調(diào)入數(shù)據(jù)而被生成、填充。不論數(shù)據(jù)從何處獲取,數(shù)據(jù)集都是通過使用同樣的程序模板而被操作的,并且它使用相同的潛在的數(shù)據(jù)緩沖區(qū)。由于ado.net采用不連接的數(shù)據(jù)集,可以把數(shù)據(jù)集想象是一個本地的小型數(shù)據(jù)庫,并且采用關(guān)系數(shù)據(jù)庫的模型,通過豐富的程序接口可以更快速、更有效的處理

20、數(shù)據(jù)。ado.net提供對microsoft sql server等數(shù)據(jù)源以及通過ole db和xml公開的數(shù)據(jù)源的一致訪問。數(shù)據(jù)共享使用者應(yīng)用程序可以使用ado.net來連接到這些數(shù)據(jù)源,并檢索、操作和更新數(shù)據(jù)。ado.net有效地從數(shù)據(jù)操作中將數(shù)據(jù)訪問分解為多個可以單獨(dú)使用或一前一后使用的不連接組件。ado.net包含用于連接到數(shù)據(jù)庫、執(zhí)行命令和檢索結(jié)果的.net數(shù)據(jù)提供程序??梢灾苯犹幚頇z索到的結(jié)果,或?qū)⑵浞湃隺do.net dataset對象,以便與來自多個源的數(shù)據(jù)或在層之間進(jìn)行遠(yuǎn)程處理的數(shù)據(jù)組合在一起,以特殊方式向用戶公開。ado.net的dataset對象也可以獨(dú)立于.net數(shù)據(jù)提

21、供程序使用,以管理應(yīng)用程序本地的數(shù)據(jù)或源自xml的數(shù)據(jù)。基于數(shù)據(jù)庫,asp.net上的網(wǎng)上輔助教學(xué)系統(tǒng)的開發(fā)與應(yīng)用 網(wǎng)站總體設(shè)計及功能分析第三章 網(wǎng)站總體設(shè)計及功能分析3.1 總體構(gòu)成設(shè)計3.1.1 總體設(shè)計分析 要實(shí)現(xiàn)網(wǎng)絡(luò)教學(xué)系統(tǒng)的功能,一個重要的技術(shù)就是要實(shí)現(xiàn)通過瀏覽器來訪問數(shù)據(jù)庫。這個功能可以通過asp.net與ado.net的結(jié)合來完成。ado.net是微軟提供的使asp.net具有訪問數(shù)據(jù)庫功能的構(gòu)件。在設(shè)計用戶界面的時候,把頁面都設(shè)計成asp的,然后用asp去訪問數(shù)據(jù)庫。用asp訪問數(shù)據(jù)庫涉及創(chuàng)建數(shù)據(jù)源、創(chuàng)建鏈接、創(chuàng)建數(shù)據(jù)對象、操作數(shù)據(jù)對象、關(guān)閉并釋放數(shù)據(jù)對象等環(huán)節(jié)。這其中又涉及d

22、sn(data source name)的配置以及用asp訪問數(shù)據(jù)庫的各種語法格式。 在實(shí)際的設(shè)計中,對數(shù)據(jù)庫的訪問操作設(shè)計是結(jié)合用戶界面的設(shè)計同時進(jìn)行的。換句話說,我們要設(shè)計的用戶界面幾乎都是asp格式的。用戶界面的設(shè)計包括網(wǎng)頁的外觀設(shè)計和網(wǎng)頁的層次結(jié)構(gòu)設(shè)計。其中網(wǎng)頁的外觀設(shè)計可借助網(wǎng)頁設(shè)計工具來進(jìn)行,其基本原則是:實(shí)用、方便和美觀。網(wǎng)頁的層次結(jié)構(gòu)應(yīng)能滿足教學(xué)系統(tǒng)的基本需要。具體來說,一方面學(xué)生能夠通過網(wǎng)站方便地登錄進(jìn)行測試和考試,并能查閱本人考試成績。另一方面教師能夠通過網(wǎng)站方便地對考生和題庫進(jìn)行后臺管理。3.1.2 系統(tǒng)構(gòu)成網(wǎng)絡(luò)輔助教學(xué)系統(tǒng)選擇登陸身份管理員管理系統(tǒng) 系統(tǒng)刪 除用 戶添

23、加用 戶教師出題系統(tǒng)修 改題 目添 加題 目學(xué)生答題系統(tǒng)平 時練 習(xí)進(jìn) 行考 試圖3-1 系統(tǒng)構(gòu)成圖我們設(shè)計的這個網(wǎng)絡(luò)輔助教學(xué)系統(tǒng)的網(wǎng)站,主要由以上幾大部分組成,包括,教師出題子系統(tǒng),管理員維護(hù)子系統(tǒng)和學(xué)生答題子系統(tǒng)。如圖3-1所示:3.2 系統(tǒng)功能分析 此網(wǎng)站主要以網(wǎng)絡(luò)輔助教學(xué)為主,其所能實(shí)現(xiàn)的功能主要分為3大塊:包括學(xué)生測試功能,教師出題功能及管理員管理功能。學(xué)生測試功能中包括答題類型(測試和考試)和題目類型(選擇和判斷),學(xué)生可以根據(jù)自己的喜好自由選擇,選擇完畢后,系統(tǒng)會隨機(jī)抽出相應(yīng)的題目進(jìn)行測試,當(dāng)回答完后,系統(tǒng)會自動提示對錯,并給出相應(yīng)的正確答案和成績。教師出題功能中包括出題和修改題

24、,教師既可以將題目輸入到數(shù)據(jù)庫中,也可以從數(shù)據(jù)庫中調(diào)出題目進(jìn)行修改和更新,十分方便和簡捷。管理員功能中包括想數(shù)據(jù)庫中添加和刪除用戶,這些用戶包括老師,學(xué)生,和管理員。這些就是網(wǎng)站基本的功能,下面我們主要介紹一下網(wǎng)站后臺數(shù)據(jù)庫的搭建和登陸功能的實(shí)現(xiàn)?;跀?shù)據(jù)庫,asp.net上的網(wǎng)上輔助教學(xué)系統(tǒng)的開發(fā)與應(yīng)用 數(shù)據(jù)庫設(shè)計和登陸功能的實(shí)現(xiàn)第四章 數(shù)據(jù)庫設(shè)計與登陸功能的實(shí)現(xiàn)4.1 數(shù)據(jù)庫的搭建4.1.1 數(shù)據(jù)庫中表單及關(guān)系圖的建立網(wǎng)絡(luò)輔助教學(xué)系統(tǒng)的開發(fā)設(shè)計工作包括運(yùn)行于前臺的網(wǎng)頁頁面的設(shè)計以及運(yùn)行于后臺的數(shù)據(jù)庫的設(shè)計。其中的數(shù)據(jù)庫設(shè)計就是通過microsoft sql server 建立數(shù)據(jù)庫,根據(jù)網(wǎng)

25、站所能實(shí)現(xiàn)的功能,我們建了一個名為“bishe”的數(shù)據(jù)庫,在數(shù)據(jù)庫中建立5個表,分別存儲,學(xué)生名,教師名,管理員,選擇題,判斷題,題目,答案等。定義了各個字段的數(shù)據(jù)類型,并設(shè)置了數(shù)據(jù)庫的訪問權(quán)限和修改權(quán)限。前臺建立了一個比較人性化的界面。利用ado.net調(diào)用sql語句操縱系統(tǒng)的數(shù)據(jù)源,實(shí)現(xiàn)了的查詢,插入,刪除,修改,更新等功能,利用vbscript實(shí)現(xiàn)了后臺的運(yùn)算和事務(wù)處理。下面我們來一起分析一下數(shù)據(jù)庫中5個表單的構(gòu)成。(1) 學(xué)生表表4-1學(xué)生表結(jié)構(gòu) 表中包含2個字段 student 學(xué)生名char類型 最大允許長度為10個字符,主鍵,必填字段,不允許為空。 psd 用戶口令nvarcha

26、r類型 最大允許長度為50個字符,不允許為空。(2) 教師表表4-2教師表結(jié)構(gòu)表中包含2個字段 teacher 教師名char類型 最大允許長度為10個字符,主鍵,必填字段,不允許為空。 psd 用戶口令nvarchar類型 最大允許長度為50個字符,不允許為空。(3) 管理員表表4-3管理員表結(jié)構(gòu)表中包含2個字段 manager 管理員名char類型 最大允許長度為10個字符,主鍵,必填字段,不允許為空。 psd 用戶口令nvarchar類型 最大允許長度為50個字符,不允許為空。(4) 選擇題表表4-4選擇題表結(jié)構(gòu)表中包含7個字段 tid 題號int類型 長度為4個字節(jié),不允許空。 tit

27、le 題目char類型 最大允許長度為200個字符,主鍵,必填字段,不允許空。 answer 正確答案char類型 最大允許長度為200個字符,不允許空。 a 選項(xiàng)achar類型 最大允許長度為200個字符,不允許空。 b 選項(xiàng)bchar類型 最大允許長度為200個字符,不允許空。 c 選項(xiàng)cchar類型 最大允許長度為200個字符,不允許空。 d 選項(xiàng)dchar類型 最大允許長度為200個字符,不允許空。 teacher 教師名char類型 最大允許長度為10個字符,不允許為空。(5) 判斷題表表4-5判斷題表結(jié)構(gòu)表中包含3個字段 tid 題號int類型 長度為4個字節(jié),不允許空。 titl

28、e 題目nvarchar類型 最大允許長度為200個字符,主鍵,必填字段,不允許空。 answer 正確答案nchar類型 最大允許長度為10個字符,不允許空。 teacher 教師名char類型 最大允許長度為10個字符,不允許為空。 圖4-1 數(shù)據(jù)庫關(guān)系圖 建立好表和關(guān)系圖,我們就可以向表單中添加所需要的數(shù)據(jù)(包括用戶名,試題,答案等等),完成數(shù)據(jù)庫的功能。另外,在sql sever屬性-安全性中,我們選擇了sql server和windows混合模式登陸數(shù)據(jù)庫,登陸名和密碼分別為sa和111。4.1.2 數(shù)據(jù)庫與網(wǎng)頁連接方法分析從總體上看,本網(wǎng)站使用了 b/s 模式,即前臺的網(wǎng)頁界面與后

29、臺的數(shù)據(jù)庫處理系統(tǒng)。在此次網(wǎng)站的設(shè)計過程中,我們主要使用了ado.net方式訪問數(shù)據(jù)庫,下面我們結(jié)合登陸頁面中的管理員登陸代碼來分析一下這種方式。 ado.net方式訪問數(shù)據(jù)庫dim con as new sqlconnection(constr) 建立一個新的與sql數(shù)據(jù)源的連接 sql = select * from manager where manager= & userid da = new sqldataadapter(sql, con) ds = new dataset() 首先聲明一個字符串sql即為要執(zhí)行的sql語句。然后由對象con執(zhí)行,執(zhí)行結(jié)果將返回dataset,解析更

30、新,記錄在數(shù)據(jù)集dataset中。da.fill(ds, manager) if ds.tables(manager).rows.count = 1 then if pwd = trim(ds.tables(manager).rows(0)(psd) then session(userid) = userid response.redirect(mcontrol.aspx) else lbinfo.text = password error! end if else lbinfo.text = the user doesnt exist! end if 對數(shù)據(jù)集data進(jìn)行操作,并驗(yàn)證用戶名和

31、密碼是否匹配,如果匹配則進(jìn)入mcontrol.aspx界面,不匹配則顯示password error!或the user doesnt exist! 總的說來,ado.net訪問數(shù)據(jù)庫,一般要通過以下四個步驟: 1、創(chuàng)建一個到數(shù)據(jù)庫的鏈路,即ado.connection; 2、查詢一個數(shù)據(jù)集合,即執(zhí)行sql,產(chǎn)生一個recordset; 3、對數(shù)據(jù)集合進(jìn)行需要的操作; 4、關(guān)閉數(shù)據(jù)鏈路。4.2 系統(tǒng)登陸功能4.2.1 系統(tǒng)登陸功能的主要代碼及其實(shí)現(xiàn)系統(tǒng)登陸界面由兩個文本輸入框textbox和一個下拉列表框dropdownlist,用于區(qū)分用戶的身份,如圖4-1所示:圖4-2 系統(tǒng)登陸界面代碼分

32、析: dim sql as string dim constr as string = server = ; uid = ; pwd = ; database = bishe dim con as new sqlconnection(constr) dim da as sqldataadapter dim ds as datasetserver =sql服務(wù)器名稱或ip地址; uid =用戶名; pwd =數(shù)據(jù)庫密碼; database =數(shù)據(jù)庫名稱管理員登陸模塊: if id = 管理員 then sql = select * from manager where manager= & us

33、erid da = new sqldataadapter(sql, con) ds = new dataset() da.fill(ds, manager) if ds.tables(manager).rows.count = 1 then if pwd = trim(ds.tables(manager).rows(0)(psd) then session(userid) = userid response.redirect(mcontrol.aspx) else lbinfo.text = password error! end if else lbinfo.text = the user

34、doesnt exist! end if教師登陸模塊:elseif id = 教師 then sql = select * from teacher where teacher= & userid da = new sqlclient.sqldataadapter(sql, con) ds = new dataset() da.fill(ds, teacher) if ds.tables(teacher).rows.count = 1 then if pwd = trim(ds.tables(teacher).rows(0)(psd) then session(userid) = userid response.redirect(jiaoshi.aspx) else lbinfo.text = password error! end if else lbinfo.text = the user doesnt exist! end if學(xué)生登陸模塊:elseif id = 學(xué)生 then sql = select * from student where student= & userid da = new sqlclient.sqldataadapter(sql, con) ds = new dataset() da.fill(ds, stu

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論