基于bs的實(shí)驗(yàn)室預(yù)約系統(tǒng)畢業(yè)論文_第1頁
已閱讀1頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  基于B/S的實(shí)驗(yàn)室預(yù)約系統(tǒng)</p><p><b>  摘 要</b></p><p>  實(shí)驗(yàn)室是高等院校實(shí)施素質(zhì)教育、培養(yǎng)學(xué)生創(chuàng)新精神與實(shí)踐能力的重要基地。實(shí)驗(yàn)室對教師和學(xué)生開放,為教師和學(xué)生提供實(shí)踐教學(xué)條件是實(shí)現(xiàn)教學(xué)改革的重要內(nèi)容。目前各大學(xué)的實(shí)驗(yàn)項(xiàng)目日益繁多,如何合理預(yù)約實(shí)驗(yàn)室,已經(jīng)成為當(dāng)今各個(gè)大學(xué)實(shí)驗(yàn)室課程預(yù)約的難題?;贐/S結(jié)構(gòu)的開

2、放實(shí)驗(yàn)室預(yù)約系統(tǒng)針對原有手工管理效率低下,缺乏安全性、可控性等缺點(diǎn),以校園網(wǎng)為依托,采用科學(xué)、高效的教學(xué)管理方式,使教師預(yù)約實(shí)驗(yàn)室比原來更加方便、快捷。</p><p>  因此,本次設(shè)計(jì)的系統(tǒng)就是研究實(shí)驗(yàn)室預(yù)約的相關(guān)問題。實(shí)驗(yàn)室預(yù)約系統(tǒng)的設(shè)計(jì)主要是基于B/S模型,在Windows系統(tǒng)下,運(yùn)用ASP.NET平臺和Access2000數(shù)據(jù)庫實(shí)現(xiàn)實(shí)驗(yàn)室預(yù)約功能。該設(shè)計(jì)主要實(shí)現(xiàn)了實(shí)驗(yàn)室的預(yù)約和管理功能。預(yù)約功能包括老師

3、對實(shí)驗(yàn)室信息、實(shí)驗(yàn)項(xiàng)目和實(shí)驗(yàn)預(yù)約情況的查詢以及對實(shí)驗(yàn)室的預(yù)約;學(xué)生對老師預(yù)約情況和實(shí)驗(yàn)項(xiàng)目預(yù)約情況的查詢。管理功能包括教師、學(xué)生、管理員三者的登錄、注冊、個(gè)人資料管理,管理員對實(shí)驗(yàn)室的管理與對教師預(yù)約信息的刪除功能。最后通過調(diào)試、完善該系統(tǒng),基本實(shí)現(xiàn)了高校實(shí)驗(yàn)室預(yù)約、管理功能。</p><p>  關(guān)鍵詞:實(shí)驗(yàn)室預(yù)約;B/S;Access 2000;VB.NET</p><p>  LAB

4、 RESERVATION SYSTEM BASED ON B/S STRUCTURE</p><p><b>  ABSTRACT</b></p><p>  At present the University of pilot projects, there were more, how to reasonably make an appointment labor

5、atory, has become the university laboratory courses each reservation problems. Therefore, this laboratory is the research laboratory appointment booking system related problems. Lab Reservation System is mainly based on

6、B / S model, the Windows system, Access2000 database using ASP.NET platform and features in laboratory appointments. Main achieved the design lab appointments and management f</p><p>  KEY WORDS: Lab Reserva

7、tion; B/S; Access2000;VB.NET.目 錄</p><p><b>  前 言1</b></p><p><b>  第1章 緒論2</b></p><p>  1.1 研究背景2</p><p>  1.2 研究現(xiàn)狀2</p><p>  1

8、.3 研究目標(biāo)及意義2</p><p>  1.4 論文主要工作3</p><p>  第2章 相關(guān)技術(shù)4</p><p>  2.1 B/S技術(shù)4</p><p>  2.2 開發(fā)工具4</p><p>  2.2.1 ASP.NET概述4</p><p>  2.2.2 Acce

9、ss 概述6</p><p>  第3章 概要設(shè)計(jì)8</p><p>  3.1 功能模塊設(shè)計(jì)8</p><p>  3.1.1 功能模塊劃分8</p><p>  3.1.2 各功能模塊設(shè)計(jì)8</p><p>  3.2 數(shù)據(jù)庫設(shè)計(jì)9</p><p>  3.2.1 數(shù)據(jù)庫的引入

10、9</p><p>  3.2.2 數(shù)據(jù)庫的設(shè)計(jì)原則10</p><p>  3.2.3 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)與實(shí)現(xiàn)11</p><p>  第4章 詳細(xì)設(shè)計(jì)15</p><p>  4.1 模板頁的設(shè)計(jì)15</p><p>  4.2 教師模塊16</p><p>  4.2.1 預(yù)約界面

11、16</p><p>  4.3.3 教師查詢頁面22</p><p>  4.4 學(xué)生模塊23</p><p>  4.4.1 學(xué)生查詢23</p><p>  4.4.2 學(xué)生密碼修改24</p><p>  4.5 管理員模塊26</p><p><b>  結(jié) 論

12、31</b></p><p><b>  謝 辭32</b></p><p><b>  參考文獻(xiàn)33</b></p><p><b>  前 言</b></p><p>  信息技術(shù)的迅猛發(fā)展帶來了教育方式和管理方式的變革,隨著高校規(guī)模的不斷擴(kuò)大和教學(xué)管理需求

13、的不斷提高,引進(jìn)先進(jìn)的信息化手段,實(shí)現(xiàn)教學(xué)管理方式的網(wǎng)絡(luò)化和智能化成為教學(xué)改革的必然趨勢。實(shí)驗(yàn)室是高等院校實(shí)施素質(zhì)教育、培養(yǎng)學(xué)生創(chuàng)新精神與實(shí)踐能力的重要基地。目前高等學(xué)校實(shí)驗(yàn)教學(xué)改革正在不斷地深入,逐漸由封閉型向開放型過渡。實(shí)驗(yàn)室對教師和學(xué)生開放,為教師和學(xué)生提供實(shí)踐教學(xué)條件是實(shí)現(xiàn)教學(xué)改革的重要內(nèi)容。</p><p>  現(xiàn)在實(shí)驗(yàn)室管理人員的工作負(fù)擔(dān)越來越重,為了減輕實(shí)驗(yàn)室管理人員的工作負(fù)擔(dān),同時(shí)針對目前實(shí)驗(yàn)室預(yù)

14、約越來越龐雜的管理局面,開發(fā)一套實(shí)驗(yàn)室網(wǎng)上預(yù)約的管理系統(tǒng)勢在必行。</p><p>  基于B/S結(jié)構(gòu)的開放實(shí)驗(yàn)室預(yù)約系統(tǒng)針對原有手工管理效率低下,缺乏安全性、可控性等缺點(diǎn),以校園網(wǎng)為依托,采用科學(xué)、高效的教學(xué)管理方式,使教師預(yù)約實(shí)驗(yàn)室比原來更加方便、快捷。</p><p>  實(shí)驗(yàn)室預(yù)約系統(tǒng)將具有良好的開放性、擴(kuò)展性、完善的系統(tǒng)功能,能全面滿足對實(shí)驗(yàn)室大量信息進(jìn)行管理等需求。整個(gè)系統(tǒng)既為

15、學(xué)生、教師提供了一個(gè)簡單易用的瀏覽界面,也為管理員提供了一個(gè)通用的、友好的、易擴(kuò)展的管理界面,并對以后進(jìn)一步擴(kuò)大管理系統(tǒng)的規(guī)模提供了良好的建設(shè)平臺,具有很好的靈活性。</p><p><b>  第1章 緒論</b></p><p><b>  1.1 研究背景</b></p><p>  實(shí)驗(yàn)室是高等院校實(shí)施素質(zhì)教育、培

16、養(yǎng)學(xué)生創(chuàng)新精神與實(shí)踐能力的重要基地。實(shí)驗(yàn)室對教師和學(xué)生開放,為教師和學(xué)生提供實(shí)踐教學(xué)條件是實(shí)現(xiàn)教學(xué)改革的重要內(nèi)容。</p><p>  為了提高實(shí)踐教學(xué)水平,規(guī)范實(shí)驗(yàn)室開放管理,迫切需要一套能夠替代傳統(tǒng)管理方式的實(shí)驗(yàn)室預(yù)約系統(tǒng)。因此,決定開發(fā)本系統(tǒng),運(yùn)用信息技術(shù)和計(jì)算機(jī)管理技術(shù),建立實(shí)驗(yàn)室預(yù)約平臺,在網(wǎng)上公布實(shí)驗(yàn)室開放狀態(tài)等信息,并采用網(wǎng)上預(yù)約的形式,方便教師通過網(wǎng)絡(luò)實(shí)時(shí)查看實(shí)驗(yàn)室開放情況,也方便學(xué)生通過網(wǎng)絡(luò)了解

17、實(shí)驗(yàn)課程狀況。</p><p><b>  1.2 研究現(xiàn)狀</b></p><p>  目前,傳統(tǒng)的實(shí)驗(yàn)室管理方式為:教師通過電話或到實(shí)驗(yàn)室進(jìn)行實(shí)驗(yàn)室預(yù)約的申請,管理員用手工記錄實(shí)驗(yàn)室預(yù)約情況,管理員根據(jù)教師申請的具體條件和時(shí)間進(jìn)行實(shí)驗(yàn)室分配,電話通知教師實(shí)驗(yàn)室預(yù)約成功或失敗。傳統(tǒng)的操作方式比較繁瑣,工作量大,操作也不規(guī)范。</p><p>

18、  信息技術(shù)的迅猛發(fā)展帶來了教育方式和管理方式的變革,隨著高校規(guī)模的不斷擴(kuò)大和教學(xué)管理需求的不斷提高,引進(jìn)先進(jìn)的信息化手段,實(shí)現(xiàn)教學(xué)管理方式的網(wǎng)絡(luò)化和智能化成為教學(xué)改革的必然趨勢。目前高等學(xué)校實(shí)驗(yàn)教學(xué)改革正在不斷地深入,逐漸由封閉型向開放型過渡?,F(xiàn)在實(shí)驗(yàn)室管理人員的工作負(fù)擔(dān)越來越重,為了減輕實(shí)驗(yàn)室管理人員的工作負(fù)擔(dān),同時(shí)針對目前實(shí)驗(yàn)室預(yù)約越來越龐雜的管理局面,開發(fā)一套實(shí)驗(yàn)室網(wǎng)上預(yù)約的管理系統(tǒng)勢在必行。</p><p&

19、gt;  1.3 研究目標(biāo)及意義</p><p>  實(shí)驗(yàn)教學(xué)是高等教育的重要環(huán)節(jié),是培養(yǎng)學(xué)生實(shí)踐能力的重要場所。加強(qiáng)實(shí)驗(yàn)室建設(shè),不僅僅是硬件和資金的投入,更應(yīng)該發(fā)揮計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的優(yōu)勢。提出一種基于Web的網(wǎng)上預(yù)約管理系統(tǒng),有效合理地分配和使用開放性實(shí)驗(yàn)室資源,調(diào)動(dòng)學(xué)生進(jìn)行實(shí)驗(yàn)的主動(dòng)性。</p><p>  本次開發(fā),將實(shí)現(xiàn)實(shí)踐教學(xué)的動(dòng)態(tài)、開放性管理,達(dá)到提高實(shí)踐教學(xué)的工作效率,優(yōu)化資源

20、配置,提高實(shí)驗(yàn)管理水平的目的。設(shè)計(jì)的系統(tǒng)可以實(shí)現(xiàn)預(yù)約系統(tǒng)的基本功能,如老師對實(shí)驗(yàn)室的預(yù)約,管理員對現(xiàn)有的實(shí)驗(yàn)批次進(jìn)行管理,學(xué)生和老師可以對實(shí)驗(yàn)信息進(jìn)行相關(guān)的查詢等。</p><p>  1.4 論文主要工作</p><p>  本次開發(fā)的系統(tǒng)主要實(shí)現(xiàn)了三個(gè)角色權(quán)限下對應(yīng)的各種不同的功能,有教師對實(shí)驗(yàn)室的預(yù)約,教師對實(shí)驗(yàn)信息的查詢,學(xué)生對所在班級實(shí)驗(yàn)信息的查詢,管理員對實(shí)驗(yàn)信息及用戶信息的修

21、改,用戶密碼修改以及不同權(quán)限的注冊等功能。本論文中針對系統(tǒng)的主要模塊的部分功能及實(shí)現(xiàn)進(jìn)行了詳細(xì)的闡述,如教師預(yù)約功能,教師查詢功能,管理員對實(shí)驗(yàn)信息的修改功能以及學(xué)生查詢功能等。通過本論文的介紹使用戶在使用該系統(tǒng)前就可以對該系統(tǒng)的功能及實(shí)現(xiàn)過程有個(gè)大致的了解,對該系統(tǒng)的使用更加的容易。</p><p><b>  第2章 相關(guān)技術(shù)</b></p><p><b&

22、gt;  2.1 B/S技術(shù)</b></p><p>  B/S就是瀏覽器/服務(wù)器,是Brower/Server的縮寫??蛻魴C(jī)上只要安裝一個(gè)瀏覽器(Browser),如Netscape Navigator或Internet Explorer,服務(wù)器安裝Oracle、Sybase、Informix、Access或 SQL Server等數(shù)據(jù)庫。瀏覽器通過Web Server 同數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互。在B/

23、S結(jié)構(gòu)中,瀏覽器端與應(yīng)用服務(wù)器端采用請求/響應(yīng)模式進(jìn)行交互。交互的過程如下。 1. 客戶端接受用戶的請求; 2. 客戶端向應(yīng)用服務(wù)端發(fā)送請求:客戶端把請求消息(包含用戶名、 密碼等信息)發(fā)送到應(yīng)用服務(wù)器端,等待服務(wù)器端的響應(yīng); 3. 數(shù)據(jù)處理:應(yīng)用服務(wù)器端通常使用服務(wù)器端腳本語言,如JSP、ASP.Net等,來訪問數(shù)據(jù)庫,獲得查詢結(jié)果; 4. 發(fā)送響應(yīng):應(yīng)用服務(wù)器端

24、向客戶端發(fā)送響應(yīng)消息(一般是動(dòng)態(tài)生成的HTML頁面),并由用戶的瀏覽器端,解釋HTML文件,呈現(xiàn)用戶界面。</p><p><b>  2.2 開發(fā)工具</b></p><p>  2.2.1 ASP.NET概述</p><p>  ASP.NET又叫ASP+,但并不僅僅是ASP的簡單升級,而是MicroSoft推出的新一代Active Ser

25、ver Pages腳本語言。ASP.NET是微軟發(fā)展的新型體系結(jié)構(gòu).NET的一部分,它的全新技術(shù)架構(gòu)會讓每一個(gè)人的網(wǎng)絡(luò)生活都變得更簡單。ASP.NET是.NET框架中專門用來開發(fā)網(wǎng)上應(yīng)用程序的,它其實(shí)不是一種語言,而更像一個(gè)框架,在這個(gè)框架下可以采用VB.NET、C#等其它.NET語言開發(fā)網(wǎng)上程序。</p><p>  ASP.NET的功能和特點(diǎn)</p><p><b>  效率

26、增強(qiáng)</b></p><p>  采用編譯后運(yùn)行的方式,當(dāng)用戶第一次訪問頁面時(shí)對頁面進(jìn)行編譯,以后再訪問時(shí)就直接運(yùn)行,這樣盡管第一次會稍微慢些,單以后速度就會大大提高。</p><p><b>  頂級開發(fā)工具支持</b></p><p>  ASP.NET可以在Visual Studio.NET中開發(fā),支持所見即所得、拖放控件和自

27、動(dòng)部署等功能,可以使開發(fā)效率大大提高。</p><p><b>  程序結(jié)構(gòu)清晰</b></p><p>  在ASP中,ASP代碼和HTML標(biāo)記使參雜在一起的,其實(shí)是將ASP代碼嵌入到了HTML文檔中。而ASP.NET可以將程序代碼和HTML標(biāo)記分開,使得程序結(jié)構(gòu)更清晰。</p><p><b>  開發(fā)簡單</b>&l

28、t;/p><p>  ASP.NET中的很多特性使得開發(fā)更簡單。如它提供的驗(yàn)證控件可以方便地驗(yàn)證客戶是否正確填寫表單內(nèi)容,就不需要自己編寫大段驗(yàn)證代碼。另外,提交表單后,可以自動(dòng)保留客戶在表單內(nèi)輸入的內(nèi)容。</p><p><b>  移植方便</b></p><p>  在ASP.NET中,可以向目標(biāo)服務(wù)器直接復(fù)制該組件,當(dāng)需要更新時(shí),重新復(fù)制一

29、個(gè)即可。ASP.NET會自動(dòng)逐步用新的組件替換舊的組件。</p><p><b>  Web服務(wù)</b></p><p>  所謂Web服務(wù),就是一種特殊的Web組件,該組件有一些屬性和方法,其它網(wǎng)上應(yīng)用程序或傳統(tǒng)應(yīng)用程序可以遠(yuǎn)程調(diào)用這些屬性和方法,并返回一個(gè)簡單的結(jié)果。比如你提供了一個(gè)計(jì)算存儲利息的Web服務(wù),別人就可以用自己的程序中向你傳遞相應(yīng)的參數(shù),并返回計(jì)算后

30、的利息,然后繼續(xù)用在自己的程序中。</p><p>  ASP.NET的運(yùn)行環(huán)境</p><p>  要正確運(yùn)行ASP.NET,服務(wù)器必須安裝如下軟件:</p><p>  (1)Windows 2000 Professional或Windows 2000 Server或Windows 2000 Advance Server或Windows XP

31、Professional或更高版本,其中Windows 2000系列需要安裝Service Pack2.0;</p><p><b>  IIS 5.1</b></p><p><b>  MDAC 2.7</b></p><p>  .Net Framework</p><p>  客戶端只要是普

32、通的瀏覽器即可,如Internet Explorer5.0或更高版本。</p><p>  ASP.NET的開發(fā)工具</p><p>  開發(fā)ASP.NET文件,最好的工具是Microsoft Visual Studio.NET,利用它就可以實(shí)現(xiàn)所見即所得的編輯,并可以實(shí)現(xiàn)拖放控件、自動(dòng)部署、自動(dòng)分離程序代碼和HTML代碼等功能。</p><p>  本次設(shè)計(jì)用的是

33、Microsoft Visual Studio 2005來開發(fā)系統(tǒng)。Microsoft Visual Studio是開發(fā)ASP.NET文件最好的工具。利用它可以實(shí)現(xiàn)拖放控件,自動(dòng)部署,自動(dòng)分離程序代碼和HTML代碼等功能。Visual Studio具有強(qiáng)大的數(shù)據(jù)庫管理功能,利用數(shù)據(jù)綁定控件和數(shù)據(jù)源控件,可以直接建立或處理Microsoft Access格式的數(shù)據(jù)庫,并提供了強(qiáng)大的數(shù)據(jù)存儲和檢索功能。同時(shí)Visual Studio還能直接

34、編輯和訪問其他外部數(shù)據(jù)庫,如FoxPro,Paradox等,這些數(shù)據(jù)庫格式都可以用Visual Studio編輯和處理。 Visual Studio還提供開放式數(shù)據(jù)連接,即ODBC功能,可通過直接訪問或建立連接的方式使用并操作后臺大型網(wǎng)絡(luò)數(shù)據(jù)庫,如SQL Server,Oracle等。</p><p>  2.2.2 Access 概述</p><p>  Microsoft Access

35、 數(shù)據(jù)庫管理系統(tǒng)是Microsoft Office 套件的重要組成部分,先后出現(xiàn)了Access 97、Access 2000 和Access XP。其中Access XP是最新版本。Access適用于小型商務(wù)活動(dòng),用以存儲和管理商務(wù)活動(dòng)所需要的數(shù)據(jù)。Access不僅是一個(gè)數(shù)據(jù)庫,而且它具有強(qiáng)大的數(shù)據(jù)管理功能,它可以方便地利用各種數(shù)據(jù)源,生成窗體(表單),查詢,報(bào)表和應(yīng)用程序等。 Microsoft Access是一種關(guān)系式數(shù)據(jù)庫

36、,關(guān)系式數(shù)據(jù)庫由一系列表組成,表又由一系列行和列組成,每一行是一個(gè)記錄,每一列是一個(gè)字段,每個(gè)字段有一個(gè)字段名,字段名在一個(gè)表中不能重復(fù)。 </p><p>  Access數(shù)據(jù)庫以文件形式保存,文件的擴(kuò)展名是MDB。Access 2000數(shù)據(jù)庫由七種對象組成:表、查詢、窗體、報(bào)表、頁、宏和模塊。 表(Table) ——表是數(shù)據(jù)庫的基本對象,是創(chuàng)建其他6種對象的基礎(chǔ)。表由記錄組成,記錄由字段組成,

37、表用來存儲數(shù)據(jù)庫的數(shù)據(jù),故又稱數(shù)據(jù)表。</p><p>  查詢(Query)——查詢可以按索引快速查找到需要的記錄,按要求篩選記錄并能連接若干個(gè)表的字段組成新表。</p><p>  窗體(Form)——窗體提供了一種方便的瀏覽、輸入及更改數(shù)據(jù)的窗口。還可以創(chuàng)建子窗體顯示相關(guān)聯(lián)的表的內(nèi)容。窗體也稱表單。</p><p>  報(bào)表(Report)——報(bào)表的功能是將數(shù)

38、據(jù)庫中的數(shù)據(jù)分類匯總,然后打印出來,以便分析。</p><p>  頁(Page) ——也叫數(shù)據(jù)訪問頁。是連接到數(shù)據(jù)庫的 Web 頁,在數(shù)據(jù)訪問頁中,可以查看、添加、編輯和操作存儲在數(shù)據(jù)庫中的數(shù)據(jù)。數(shù)據(jù)訪問頁還可以包括其他來源的數(shù)據(jù),例如 Microsoft Excel。 宏(Macro)——宏相當(dāng)于DOS中的批處理,用來自動(dòng)執(zhí)行一系列操作。Access列出了一些常用的操作供用戶選擇,使用起來十分方便。

39、 模塊(Module)——模塊的功能與宏類似,但它定義的操作比宏更精細(xì)和復(fù)雜,用戶可以根據(jù)自己的需編寫程序模塊使用Visual Basic 6.0編程。</p><p><b>  第3章 概要設(shè)計(jì)</b></p><p>  3.1 功能模塊設(shè)計(jì)</p><p>  3.1.1 功能模塊劃分</p><p>  

40、通過系統(tǒng)功能需求分析,設(shè)計(jì)出系統(tǒng)功能模塊實(shí)現(xiàn)流程圖,如下圖3-1所示。</p><p>  3.1.2 各功能模塊設(shè)計(jì)</p><p>  根據(jù)系統(tǒng)的功能可分為四大模塊:登錄模塊,管理員模塊、教師模塊和學(xué)生模塊。</p><p><b>  1. 用戶登陸</b></p><p>  用戶登錄界面的設(shè)計(jì)主要是從系統(tǒng)的安全

41、性角度考慮的。系統(tǒng)的登錄身份有三種,分別是:管理員,教師和學(xué)生。用戶輸入的賬號和密碼必須得到系統(tǒng)的認(rèn)證,方可進(jìn)入系統(tǒng);否則系統(tǒng)會給出相關(guān)的友好提示,用戶可根據(jù)提示重新輸入賬號和密碼。如果沒有注冊,可以單擊注冊,鏈接到相關(guān)頁面進(jìn)行用戶注冊。</p><p><b>  2. 管理員模塊</b></p><p>  在該權(quán)限中,管理員可以對實(shí)驗(yàn)室和預(yù)約信息以及用戶信息進(jìn)行

42、修改、刪除等操作。具體如下:</p><p>  (1). 對已預(yù)約的實(shí)驗(yàn)室信息進(jìn)行修改和刪除。</p><p>  (2). 對已注冊的教師和班級信息進(jìn)行管理。</p><p>  (3). 進(jìn)行密碼修改</p><p><b>  3. 教師模塊</b></p><p>  教師模塊的主體就是

43、對實(shí)驗(yàn)室進(jìn)行預(yù)約。教師預(yù)約時(shí),其所教授的課程以及課程所對應(yīng)的班級會自動(dòng)出現(xiàn),教師可以選擇對所教的課程以及對應(yīng)的班級進(jìn)行實(shí)驗(yàn)預(yù)約,也可以對自己已預(yù)約的實(shí)驗(yàn)信息進(jìn)行查詢,同樣也可以進(jìn)行密碼修改。</p><p><b>  學(xué)生模塊</b></p><p>  學(xué)生模塊相對簡單,學(xué)生在系統(tǒng)中可以對自己班級的實(shí)驗(yàn)信息進(jìn)行查詢,也可以對密碼進(jìn)行修改。</p>&

44、lt;p><b>  3.2 數(shù)據(jù)庫設(shè)計(jì)</b></p><p>  3.2.1 數(shù)據(jù)庫的引入</p><p>  數(shù)據(jù)庫(Database),是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的倉庫,是用于查詢的大量數(shù)據(jù)的存儲區(qū)域。使用數(shù)據(jù)庫可以帶來許多好處:如減少了數(shù)據(jù)的冗余度,從而大大地節(jié)省了數(shù)據(jù)的存儲空間,實(shí)現(xiàn)數(shù)據(jù)資源的充分共享等等。此外,數(shù)據(jù)庫技術(shù)還為用戶提供了非常

45、簡便的使用手段,使用戶易于編寫有關(guān)數(shù)據(jù)庫應(yīng)用程序。特別是近年來推出的計(jì)算機(jī)關(guān)系數(shù)據(jù)庫管理系統(tǒng),操作直觀,使用靈活,編程方便,功能強(qiáng)大,環(huán)境適應(yīng)廣泛,數(shù)據(jù)處理能力極強(qiáng)。</p><p>  數(shù)據(jù)庫的設(shè)計(jì)是指對一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),滿足各種用戶需求。作為信息資源開發(fā)、管理和服務(wù)的一種有效的手段,數(shù)據(jù)庫技術(shù)的應(yīng)用已越來越廣泛,從小型的單項(xiàng)事務(wù)處理系統(tǒng)到大型的信息系統(tǒng)大都用先進(jìn)的數(shù)據(jù)

46、庫技術(shù)來保持系統(tǒng)數(shù)據(jù)的安全性、完整性和共享性。對一個(gè)實(shí)際的系統(tǒng)來說,數(shù)據(jù)庫表的設(shè)計(jì)在遵循數(shù)據(jù)庫理論的同時(shí),必須能用開發(fā)工具來實(shí)現(xiàn)用戶在各方面提出的功能要求。</p><p>  我們現(xiàn)在可以使用的數(shù)據(jù)庫有很多種,如:Fox數(shù)據(jù)庫(.dbf)、Access數(shù)據(jù)庫(.mdb)、DB2、Informix、Oracle和SQL Server等等,在本次設(shè)計(jì)中,選擇了Access作為后臺數(shù)據(jù)庫工具,因?yàn)樗膬?yōu)點(diǎn)在于它能使用

47、數(shù)據(jù)表示圖或自定義窗體收集信息。數(shù)據(jù)表示圖提供了一種類似于 Excel 的電子表格,可以使數(shù)據(jù)庫一目了然。另外,Access 允許創(chuàng)建自定義報(bào)表用于打印或輸出數(shù)據(jù)庫中的信息。Access也提供了數(shù)據(jù)存儲庫,可以使用桌面數(shù)據(jù)庫文件把數(shù)據(jù)庫文件置于網(wǎng)絡(luò)文件服務(wù)器,與其他網(wǎng)絡(luò)用戶共享數(shù)據(jù)庫。Access 是一種關(guān)系數(shù)據(jù)庫工具,關(guān)系數(shù)據(jù)庫是已開發(fā)的最通用的數(shù)據(jù)庫之一。如上所述,Access 作為關(guān)系數(shù)據(jù)庫開發(fā)具備了許多優(yōu)點(diǎn),可以在一個(gè)數(shù)據(jù)包中同

48、時(shí)擁有桌面數(shù)據(jù)庫的便利和關(guān)系數(shù)據(jù)庫的強(qiáng)大功能。因此,本系統(tǒng)選擇Access 2003作為系統(tǒng)的數(shù)據(jù)庫,對系統(tǒng)數(shù)據(jù)進(jìn)行設(shè)計(jì)和管理。</p><p>  3.2.2 數(shù)據(jù)庫的設(shè)計(jì)原則</p><p>  數(shù)據(jù)庫的設(shè)計(jì)是實(shí)驗(yàn)室預(yù)約系統(tǒng)設(shè)計(jì)的核心技術(shù)內(nèi)容之一,是在特定的數(shù)據(jù)庫模式下,建立數(shù)據(jù)庫應(yīng)用系統(tǒng),使之能夠有效地存儲數(shù)據(jù),滿足用戶的實(shí)際應(yīng)用需求。一個(gè)好的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫應(yīng)該充分體現(xiàn)數(shù)據(jù)計(jì)算發(fā)展

49、變化的狀況,同時(shí)又充分滿足組織的各級管理要求,以及使得后續(xù)系統(tǒng)開發(fā)方便,快捷,系統(tǒng)開銷(如占用空間,網(wǎng)絡(luò)傳輸速度,磁盤或光盤讀寫次數(shù))小,易于管理和維護(hù)等特點(diǎn)。</p><p>  根據(jù)系統(tǒng)需求,數(shù)據(jù)庫設(shè)計(jì)須遵循以下原則進(jìn)行設(shè)計(jì):</p><p>  1.數(shù)據(jù)存儲和功能上的可擴(kuò)展性。</p><p>  為了滿足用戶的實(shí)際應(yīng)用需求,在進(jìn)行實(shí)體分析及數(shù)據(jù)建模時(shí),需要合

50、理定義所需實(shí)體及其屬性,實(shí)現(xiàn)通用的數(shù)據(jù)存儲及功能上的擴(kuò)展。這是本系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵也是核心。</p><p>  2.保證數(shù)據(jù)的一致性和完整性,合理減少數(shù)據(jù)冗余。</p><p>  數(shù)據(jù)庫中存儲了大量的表,每張表存儲大量數(shù)據(jù),為了保證數(shù)據(jù)插入,刪除,更新的一致性和完整性,需要在表之間創(chuàng)建各種關(guān)聯(lián),并設(shè)置表之間可以進(jìn)行級聯(lián)操作,同時(shí)減少了各表中數(shù)據(jù)的冗余。但由于表之間關(guān)聯(lián)是一種強(qiáng)制性措施

51、,建立后,對父表和子表的插入,刪除,更新操作均要占用系統(tǒng)的開銷。如果數(shù)據(jù)冗余低,數(shù)據(jù)的完整性容易得到保證,但增加了表之間連接查詢的操作。為了提高系統(tǒng)的響應(yīng)時(shí)間,合理的數(shù)據(jù)冗余也是必要的。</p><p>  3.合理設(shè)計(jì)數(shù)據(jù)規(guī)則和約束。</p><p>  使用規(guī)則和約束來防止系統(tǒng)操作人員誤輸入造成數(shù)據(jù)的錯(cuò)誤是數(shù)據(jù)庫設(shè)計(jì)時(shí)采用的種常用手段。但是,不必要的規(guī)則和約束也會占用系統(tǒng)的不必要開銷。

52、為了改善數(shù)據(jù)庫性能,在設(shè)計(jì)時(shí)要更多考慮到使用約束,因?yàn)榧s束對數(shù)據(jù)的有效性驗(yàn)證比規(guī)則要快。</p><p>  3.2.3 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)與實(shí)現(xiàn)</p><p>  實(shí)驗(yàn)室預(yù)約系統(tǒng)采用關(guān)系數(shù)據(jù)庫存儲和管理數(shù)據(jù),在分析和設(shè)計(jì)系統(tǒng)的總體靜態(tài)結(jié)構(gòu)模型時(shí)需要進(jìn)行數(shù)據(jù)分析和數(shù)據(jù)庫設(shè)計(jì)。整個(gè)設(shè)計(jì)中分為兩個(gè)步驟,即邏輯設(shè)計(jì)和物理設(shè)計(jì)。在邏輯設(shè)計(jì)中,確定了數(shù)據(jù)庫所包含的表及其字段;在物理設(shè)計(jì)中,確定了表的具

53、體結(jié)構(gòu),即設(shè)定字段的名稱、類型及寬度,并確定索引,為建立表的關(guān)聯(lián)準(zhǔn)備條件。</p><p>  實(shí)驗(yàn)室預(yù)約系統(tǒng)中名為lab的數(shù)據(jù)庫包括以下表:admin,classinformation,course,kind,teacher,time12,time34,time56,time78。下面將具體介紹數(shù)據(jù)庫中各表的功能及結(jié)構(gòu)。</p><p>  admin表:對應(yīng)的是用戶表,用來存儲用戶的信

54、息,結(jié)構(gòu)如表4-1所示。</p><p><b>  表 4-1 用戶表</b></p><p>  classinformation表:對應(yīng)的是實(shí)驗(yàn)室預(yù)約信息表,用于存儲已預(yù)約的實(shí)驗(yàn)信息表,結(jié)構(gòu)如表4-2所示。</p><p>  表 4-2 實(shí)驗(yàn)信息表</p><p>  3. course表:對應(yīng)的是課程表,存儲的

55、是課程對應(yīng)的授課老師,所學(xué)班級,以及其實(shí)驗(yàn)所屬的實(shí)驗(yàn)類別,其結(jié)構(gòu)如表4-3所示。</p><p><b>  表4-3 課程表</b></p><p>  4. kind表:對應(yīng)的是實(shí)驗(yàn)類別表,用于存儲相應(yīng)的實(shí)驗(yàn)類別可用的實(shí)驗(yàn)室,其結(jié)構(gòu)設(shè)計(jì)如表4-4所示。</p><p>  表4-4 實(shí)驗(yàn)類別表</p><p>  5

56、. teacher表:對應(yīng)的是教師授課表,存儲的是教師所教授的課程,其結(jié)構(gòu)設(shè)計(jì)如表4-5所示。</p><p>  表4-5 教師授課表</p><p>  time12表:對應(yīng)的是上午一二節(jié)表,存儲的是所有的實(shí)驗(yàn)室所對應(yīng)的一周之內(nèi)周一到周五的上午前兩節(jié)的是否預(yù)約信息其結(jié)構(gòu)設(shè)計(jì)如表4-6所示。</p><p>  表4-6 上午一二節(jié)表</p><

57、;p>  time34表:對應(yīng)上午三四節(jié)表,存儲的是所有的實(shí)驗(yàn)室所對應(yīng)的一周之內(nèi)周一到周五的上午后兩節(jié)的是否預(yù)約信息,結(jié)構(gòu)設(shè)計(jì)如表4-7所示。</p><p>  表4-7 上午三四節(jié)表</p><p>  time56表:對應(yīng)下午五六節(jié)表,存儲的是所有的實(shí)驗(yàn)室所對應(yīng)的一周之內(nèi)周一到周五的下午前兩節(jié)的是否預(yù)約信息,結(jié)構(gòu)設(shè)計(jì)如表4-8所示。</p><p>  

58、表4-8 下午五六節(jié)表</p><p>  9. time78表:對應(yīng)下午七八節(jié)表,存儲的是所有的實(shí)驗(yàn)室所對應(yīng)的一周之內(nèi)周一到周五的下午后兩節(jié)的是否預(yù)約信息,結(jié)構(gòu)設(shè)計(jì)如表4-9所示。</p><p>  表4-9 下午七八節(jié)表</p><p><b>  第4章 詳細(xì)設(shè)計(jì)</b></p><p>  經(jīng)過全面的需求分析

59、,精心的概要設(shè)計(jì)后,現(xiàn)在來闡明各部分功能模塊的具體實(shí)現(xiàn),包括登陸模塊,教師模塊,學(xué)生模塊,管理員模塊。本章將主要討論該系統(tǒng)所實(shí)現(xiàn)的各部分功能。</p><p>  4.1 模板頁的設(shè)計(jì)</p><p>  現(xiàn)在眾多的網(wǎng)站中,模板已經(jīng)成為必不可少的網(wǎng)頁助手。有了模板,可以減少很多不必要的代碼,而且模板有助于保證整個(gè)網(wǎng)站外觀和風(fēng)格的一致性。為了減少在網(wǎng)頁設(shè)計(jì)時(shí)出現(xiàn)的變一頁則動(dòng)全網(wǎng)站的問題,AS

60、P.NET3.5新增了母版頁的概念,可以把它想象為“網(wǎng)頁模板”。然而與“網(wǎng)頁模板”不同的是,開發(fā)者再也不必去更新每一個(gè)頁面了,只需修改一頁,所有的網(wǎng)頁都會改變,這一頁就是母版頁。</p><p>  本系統(tǒng)因?yàn)橛腥齻€(gè)用戶模塊,所以設(shè)計(jì)了三個(gè)模版頁,分別對應(yīng)于不同的用戶。因?yàn)橄到y(tǒng)中的三個(gè)模板頁類似,只是菜單里的內(nèi)容不同,所以在此只介紹一個(gè)。</p><p>  模板頁的創(chuàng)建是在建立新頁面時(shí)建

61、立的,在選擇“新建項(xiàng)目”時(shí),在出來的對話框中選擇“模板頁”即可生成后綴名為.master的模板頁。模板頁視圖設(shè)計(jì)相對簡單,只有一個(gè)Menu菜單控件和一個(gè)Image控件。設(shè)置Image控件的ImageUrl屬性為圖片的絕對路徑。教師模板頁設(shè)計(jì)如圖4-1所示。</p><p>  圖 4-1 教師模板頁</p><p>  Menu控件中的MenuItem可以直接編寫代碼,但是Microsof

62、t Visual Studio 2005提供了更為直觀的菜單設(shè)計(jì)工具:在頁面的設(shè)計(jì)視圖中,右擊Menu控件,然后選擇“編輯菜單項(xiàng)…”,就可以直接輸入菜單的每個(gè)欄目,并且欄目之間的級別關(guān)系也可以直接通過單擊移動(dòng)控制按鈕實(shí)現(xiàn)。在“菜單項(xiàng)編輯器”對話框中,對菜單中每個(gè)欄目的“NavigateUrl”屬性進(jìn)行設(shè)置,可以手動(dòng)選擇要鏈接到的頁面,然后單擊“確定”即可完成菜單控件的編輯。</p><p><b>  

63、4.2 教師模塊</b></p><p>  教師模塊,用戶可以進(jìn)行實(shí)驗(yàn)的預(yù)約和查詢,也可以進(jìn)行密碼修改。此模塊的核心部分就是預(yù)約功能的實(shí)現(xiàn),本系統(tǒng)的預(yù)約部分用類似課堂表的形式顯現(xiàn)出來,界面直觀。在此只介紹主要部分,預(yù)約和查詢。</p><p>  4.2.1 預(yù)約界面</p><p>  預(yù)約功能的實(shí)現(xiàn)是系統(tǒng)的核心部分,相對來說比較復(fù)雜。此系統(tǒng)的預(yù)約部

64、分為方便用戶界面直觀,但后臺代碼比較多。界面中用到了四個(gè)Datalist控件實(shí)現(xiàn)與數(shù)據(jù)庫中的各個(gè)時(shí)間段的實(shí)驗(yàn)室表進(jìn)行綁定,使用戶直觀地看到一周之內(nèi)實(shí)驗(yàn)室的預(yù)約情況;也用到了Dropdownlist控件綁定來顯示用戶的一些信息。當(dāng)跳轉(zhuǎn)此頁面時(shí),關(guān)于用戶所教授的課程會自動(dòng)出現(xiàn)在相應(yīng)的下拉列表框中,當(dāng)用戶單擊某一課程時(shí),關(guān)于此課程對應(yīng)的實(shí)驗(yàn)項(xiàng)目,實(shí)驗(yàn)室以及所學(xué)班級都會自動(dòng)出現(xiàn),以方便用戶的操作和直觀性。由于綁定比較多,后臺代碼就比較復(fù)雜。其運(yùn)

65、行界面如圖4-2所示。</p><p><b>  圖4-2 預(yù)約頁面</b></p><p>  要實(shí)現(xiàn)界面運(yùn)行時(shí)自動(dòng)出現(xiàn)相應(yīng)的課程信息,則首先要在Page_Load事件中進(jìn)行對所教課程的下拉列表框進(jìn)行綁定。主要代碼如下:</p><p>  Dim sql As String = "select * from teacher wh

66、ere teachername='" & Session("usename") & "'"</p><p>  Dim conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(

67、"lab.mdb"))</p><p>  Dim cmd As New OleDbCommand(sql, conn)</p><p>  conn.Open()</p><p>  Dim dr As OleDbDataReader = cmd.ExecuteReader()</p><p>  If dr.Read(

68、) Then</p><p>  ddlCourse.Items.Add(0)</p><p>  ddlCourse.Items(0).Text = dr.Item("course1")</p><p>  ddlCourse.Items.Add(1)</p><p>  ddlCourse.Items(1).Text

69、= dr.Item("course2")</p><p><b>  End If</b></p><p>  conn.Close()</p><p>  首先利用Connection對象建立和數(shù)據(jù)庫的連接,然后建立Command對象,打開數(shù)據(jù)庫,利用Command對象的ExecuteReader方法建立DataReade

70、r對象,執(zhí)行查詢語句命令,利用登陸界面中保存的用戶名在數(shù)據(jù)庫中進(jìn)行查詢,然后用dr.read方法讀取數(shù)據(jù)庫中對應(yīng)記錄的信息,在下拉列表框中動(dòng)態(tài)添加教師所教授的課程。程序中利用If..Else語句將查詢到的記錄的課程字段動(dòng)態(tài)添加到下拉列表框中。在循環(huán)輸出記錄的時(shí)候,如果正確讀出一條記錄,則dr.Read()=Ttue,執(zhí)行動(dòng)態(tài)添加,如果沒有讀出記錄,則不添加。</p><p>  當(dāng)用戶點(diǎn)擊課程下拉列表框中的課程時(shí)

71、,課程對應(yīng)的實(shí)驗(yàn)項(xiàng)目和所學(xué)班級以及實(shí)驗(yàn)室都要顯現(xiàn)出來,這部分綁定代碼都在所教課程下拉列表框的ddlCourse_SelectedIndexChanged事件中實(shí)現(xiàn)。</p><p>  首先利用Connection對象建立和數(shù)據(jù)庫的連接,然后建立Command對象,執(zhí)行查詢語句命令"select * from course where coursename='" & str1

72、& "'",從數(shù)據(jù)庫中的課程表course中查詢課程名為所教課程下拉列表框中的選定項(xiàng)的記錄。若查到則對實(shí)驗(yàn)項(xiàng)目下拉列表框進(jìn)行動(dòng)態(tài)添加實(shí)驗(yàn)項(xiàng)目。其代碼和課程下拉列表框的綁定代碼相似,只是在查詢之前要把課程下拉列表框選擇的課程用字符創(chuàng)變量str1記錄下來,即“str1 = ddlCourse.SelectedItem.Text”以便查詢時(shí)用到。</p><p>  實(shí)驗(yàn)室下拉列表框

73、的綁定。</p><p>  同樣也是先連接數(shù)據(jù)庫,用字符串變量str2將實(shí)驗(yàn)項(xiàng)目下拉列表框中選定的項(xiàng)保存,然后用"select * from kind where testkind='" & str2 & "'"查詢語句從數(shù)據(jù)庫類別表kind中查詢實(shí)驗(yàn)類別為實(shí)驗(yàn)項(xiàng)目下拉列表框選定的項(xiàng)。查找到對實(shí)驗(yàn)室下拉列表框動(dòng)態(tài)添加項(xiàng)目。</p>

74、;<p>  班級下拉列表框的綁定。</p><p>  與前面的綁定一樣,和數(shù)據(jù)庫建立連接,利用"select * from course where coursename='" & str1 & "'"從數(shù)據(jù)庫課程表course中查詢課程名為所教課程下拉列表框選定的課程,查找到后對班級下拉列表框進(jìn)行動(dòng)態(tài)添加項(xiàng)。最后關(guān)閉數(shù)據(jù)庫

75、。</p><p>  查看實(shí)驗(yàn)室按鈕的代碼實(shí)現(xiàn)。</p><p>  strusername = DropDownList1.SelectedItem.Text</p><p>  Dim strconn1 As String = "Provider=Microsoft.jet.oledb.4.0;data source=" & Ser

76、ver.MapPath("lab.mdb")</p><p>  Dim sql1 As String = "select * from time12 where testroom='" & strusername & "'"</p><p>  Dim conn1 As New OleDbConn

77、ection(strconn1)</p><p>  Dim cmd1 As New OleDbCommand(sql1, conn1)</p><p>  conn1.Open()</p><p>  Dim dr1 As OleDbDataReader = cmd1.ExecuteReader()</p><p>  DataList1.

78、DataSource = dr1</p><p>  DataList1.DataBind()</p><p>  conn1.Close()</p><p>  DataList1.Visible = True</p><p>  Dim dli As DataListItem = DataList1.Items(0)</p>

79、<p>  Dim OptionRadio1 As RadioButton = dli.FindControl("rblOption1")</p><p>  If OptionRadio1.Text = "是" Then</p><p>  OptionRadio1.Enabled = "false"</p&g

80、t;<p>  OptionRadio1.Checked = True</p><p><b>  End If</b></p><p>  當(dāng)用戶單擊查看實(shí)驗(yàn)室時(shí),就會出現(xiàn)類似課程表的預(yù)約表。因?yàn)橐屢恢苤畠?nèi)一個(gè)實(shí)驗(yàn)室的所有預(yù)約信息以課堂表的形式顯現(xiàn)出來,所以要用到四個(gè)Datalist控件來顯示,分別綁定數(shù)據(jù)庫中上午一二節(jié)表time12,上午三四節(jié)表t

81、ime34,下午一二節(jié)表time56,下去三四節(jié)表time78中對應(yīng)實(shí)驗(yàn)室的一條記錄。在每個(gè)Datalist控件中都定義了五個(gè)單選框,五個(gè)單選框分別與數(shù)據(jù)庫中的預(yù)約時(shí)間表中的周一到周五的五個(gè)字段相綁定,每個(gè)單選框的是否被選擇的狀態(tài)表示此時(shí)間段實(shí)驗(yàn)室是否已預(yù)約。如果已預(yù)約,則此時(shí)間段對應(yīng)的單選框?yàn)榛疑豢捎脿顟B(tài)并且已經(jīng)選中,顯示“是”;如果沒有預(yù)約,則單選框?yàn)榭蛇x狀態(tài),顯示“否”。</p><p>  首先用字符串

82、變量strusername保存DropDownList1.SelectedItem.Text(實(shí)驗(yàn)室下拉列表框選定的項(xiàng)),從數(shù)據(jù)庫time12中查詢實(shí)驗(yàn)室為實(shí)驗(yàn)室下拉列表框中選定的項(xiàng)的記錄,并將Datalist1的數(shù)據(jù)源設(shè)為查詢的結(jié)果,則實(shí)現(xiàn)了綁定。又要讓已預(yù)約的單選框?yàn)椴豢捎脿顟B(tài),所以要判斷五個(gè)單選框的Text屬性是什么,如果為“是”,則把其Value屬性設(shè)置為false,使其為不可用狀態(tài)(所粘貼程序中只對一個(gè)單選框進(jìn)行了判斷,其他在

83、此省略)。因?yàn)橐玫紻atalist控件中的單選框,所以每次要用的時(shí)候就要先查找到,才可以引用。用類似“Dim OptionRadio1 As RadioButton = dli.FindControl("rblOption1")”語句對五個(gè)單選框逐一查找后,單選框就可以引用了。因?yàn)槠渌齻€(gè)Datalist的綁定也是一樣的,只是查詢時(shí)的表不一樣而已,所以在此不再贅述。</p><p><

84、b>  確定按鈕的代碼實(shí)現(xiàn)</b></p><p>  界面中每個(gè)Datalist表中都有一個(gè)確定按鈕。每個(gè)按鈕的實(shí)現(xiàn)的功能是一樣的,即確定預(yù)約,所以其代碼實(shí)現(xiàn)也是基本上一樣的,只是修改的預(yù)約表不同罷了。由于篇幅的限制,在此只詳細(xì)闡述datalist1中的確定按鈕的實(shí)現(xiàn)。其代碼如下:</p><p>  Dim conn1 As New OleDbConnection(&

85、quot;Provider=Microsoft.Jet.OlEDB.4.0;Data Source=" & Server.MapPath("lab.mdb"))</p><p>  Dim s As String</p><p>  s = DropDownList1.SelectedItem.Text</p><p>  Di

86、m dli As DataListItem = DataList1.Items(0)</p><p>  If OptionRadio1.Checked = True And OptionRadio1.Enabled = True Then</p><p>  time = "星期一上午1,2節(jié)"</p><p>  Call binddata(

87、)</p><p>  OptionRadio1.Text = "是"</p><p>  OptionRadio1.Enabled = False</p><p>  Dim strsql1 As String</p><p>  strsql1 = "update time12 set monday='

88、;是' where testroom='" & s & "'"</p><p>  Dim cmd1 As New OleDbCommand(strsql1, conn1)</p><p>  conn1.Open()</p><p>  cmd1.ExecuteNonQuery()</p&

89、gt;<p>  conn1.Close()</p><p><b>  End If</b></p><p>  要把預(yù)約信息寫到數(shù)據(jù)庫中的是實(shí)驗(yàn)預(yù)約表中,則要對Datalist控件中的每個(gè)單選框進(jìn)行判定,是否是選中,則同樣要對每個(gè)單選框進(jìn)行重新定義。如果Datalist1第一個(gè)單選框被選中,則表示數(shù)據(jù)庫中上午一二節(jié)表time12中為星期一的字段內(nèi)容要

90、改寫,由“否”改為“是”,表示已經(jīng)備預(yù)約。程序中要修改time12表中的信息,從數(shù)據(jù)庫中查詢實(shí)驗(yàn)室為實(shí)驗(yàn)室下拉列表框選定的項(xiàng)的記錄,將其星期一的字段內(nèi)容改為“是”,用到update語句進(jìn)行更新。</p><p>  因?yàn)橐獙ξ鍌€(gè)單選框逐一進(jìn)行判定,但其代碼基本相同,在此也只介紹一個(gè)單選框的綁定。</p><p>  程序中也調(diào)用到了binddata()子程序,其代碼如下:</p>

91、;<p>  Dim sname, tname, tplace, labname As String</p><p>  sname = DropDownList2.SelectedItem.Text</p><p>  tname = Session("usename")</p><p>  tplace = DropDownLi

92、st1.SelectedItem.Text</p><p>  labname = ddlCourse.SelectedItem.Text</p><p>  labname &= ddlExperiment.SelectedItem.Text</p><p>  Dim conn As New OleDbConnection("Provider=

93、Microsoft.Jet.OlEDB.4.0;Data Source=" & Server.MapPath("lab.mdb"))</p><p>  Dim cmd As New OleDbCommand("Insert into classinformation(classname,testname,appointtime,place,teacher) Val

94、ues('" & sname & "','" & labname & "','" & time & "','" & tplace & "','" & tname & "')&quo

95、t;, conn)</p><p>  conn.Open()</p><p>  cmd.ExecuteNonQuery()</p><p>  conn.Close()</p><p>  這個(gè)子程序的主要功能就是對界面中的所有信息和預(yù)約時(shí)間寫入數(shù)據(jù)庫中的實(shí)驗(yàn)室預(yù)約信息表classinformation中,程序中用到了Insert語句將有

96、關(guān)預(yù)約的信息插入到實(shí)驗(yàn)信息表里相應(yīng)的字段。</p><p>  4.3.3 教師查詢頁面</p><p>  教師查詢頁面會顯示所有登陸教師已預(yù)約的有關(guān)信息。界面中主要用到了DataGrid控件,DataGrid控件可以用表格自動(dòng)顯示數(shù)據(jù)庫中的數(shù)據(jù),并可以利用它來更新和刪除記錄,它有大量的屬性和方法。將數(shù)據(jù)對象綁定DataGrid控件后,它就會根據(jù)其中的字段自動(dòng)產(chǎn)生每一列。當(dāng)然也可以手工生

97、成每一類。在此讓其自動(dòng)生成每一列。其運(yùn)行界面如圖4-3所示。</p><p>  圖4-3 教師查詢頁面</p><p>  在Page_Load事件中主要代碼如下:</p><p>  Dim conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source="

98、& Server.MapPath("lab.mdb"))</p><p>  Dim adp As New OleDbDataAdapter("select * from classinformation where teacher=”’ & session(username) & ’”", conn)</p><p>  D

99、im ds As New DataSet()</p><p>  adp.Fill(ds, "link")</p><p>  MyDataGrid.DataSource = ds.Tables("link").DefaultView</p><p>  MyDataGrid.DataBind()</p><

100、;p>  首先利用Connection對象建立和數(shù)據(jù)庫的連接,然后建立Command對象,執(zhí)行查詢語句命令“select * from classinformation where teacher=”’ & session(username) & ’””,利用登陸界面中session對象保存的用戶名,從數(shù)據(jù)庫實(shí)驗(yàn)室項(xiàng)目表classinformation中查詢teacher字段為登陸名的記錄,把其賦值給DataGri

101、d的數(shù)據(jù)源。</p><p>  程序中語句adp.Fill(ds, "link")是將從數(shù)據(jù)庫中查詢到的數(shù)據(jù)放到一個(gè)“l(fā)ink”表中。語句“MyDataGrid.DataSource = ds.Tables("link").DefaultView”是將DataSet對象的link表的默認(rèn)視圖綁定到DataGrid控件。所謂視圖,類似于數(shù)據(jù)庫中的“查詢”,其實(shí)這里默認(rèn)視圖和

102、數(shù)據(jù)庫中的classinformation表中的內(nèi)容是一樣的。此段程序中和前面的有關(guān)數(shù)據(jù)庫的操作不太一樣,它不需要明確打開和關(guān)閉數(shù)據(jù)庫連接,因?yàn)镈ataAdapter對象會自動(dòng)打開和關(guān)閉數(shù)據(jù)庫鏈接。</p><p><b>  4.4 學(xué)生模塊</b></p><p>  學(xué)生模塊中,用戶可以對自己班級的實(shí)驗(yàn)信息進(jìn)行查詢,也可以修改密碼。需要注意的是,學(xué)生登陸時(shí)用戶名

103、為班級,密碼為一個(gè)班級所共用。</p><p>  4.4.1 學(xué)生查詢</p><p>  學(xué)生查詢和教師查詢差不多,只不過是查找時(shí)查詢的字段不同罷了。其運(yùn)行界面如圖4-4所示。</p><p>  圖4-4 學(xué)生查詢頁面</p><p><b>  其主要代碼如下:</b></p><p> 

104、 Dim conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & Server.MapPath("lab.mdb"))</p><p>  Dim adp As New OleDbDataAdapter("select * from classinforma

105、tion where classname='" & Session("usename") & "'", conn)</p><p>  Dim ds As New DataSet()</p><p>  adp.Fill(ds, "link")</p><p>  

106、MyDataGrid.DataSource = ds.Tables("link").DefaultView</p><p>  MyDataGrid.DataBind()</p><p>  同樣首先要利用Connection對象建立和數(shù)據(jù)庫的連接,然后建立Command對象,執(zhí)行查詢語句命令“select * from classinformation where t

107、eacher=”’ & session(username) & ’””,利用登陸界面中session對象保存的用戶名,從數(shù)據(jù)庫實(shí)驗(yàn)室項(xiàng)目表classinformation中查詢class字段為登陸名的記錄,把其賦值給DataGrid的數(shù)據(jù)源。</p><p>  4.4.2 學(xué)生密碼修改</p><p>  該頁面的設(shè)計(jì)是為了方便用戶進(jìn)行密碼修改而設(shè)計(jì)的。界面中用到了驗(yàn)證控

108、件RequireFieldValidator必填控件和CompareValidator比較控件,分別綁定密碼框和新密碼、確認(rèn)密碼框。其運(yùn)行界面如圖4-5所示。</p><p>  圖4-5 學(xué)生密碼修改頁面</p><p>  在網(wǎng)上提交表單時(shí),很多網(wǎng)站都會驗(yàn)證輸入的信息,如密碼和確認(rèn)密碼是否一致,身份證格式是否正確等。在此界面中也用到了一部分驗(yàn)證控件如RequireFieldValida

109、tor必填控件和CompareValidator比較控件,分別綁定密碼框和新密碼、確認(rèn)密碼框。對于必填控件,只需將其“ControlToValidate”屬性設(shè)置為被驗(yàn)證的控件的名稱,其“ErrorMessage”屬性設(shè)置為錯(cuò)誤發(fā)生時(shí)的提示信息即可。對于比較驗(yàn)證控件,一般用于將一個(gè)控件的值和另一個(gè)控件的值進(jìn)行比較,在此處是為了保證用戶輸入的新密碼和確認(rèn)密碼一致。在設(shè)置時(shí),可以將其“ControlToValidate”屬性設(shè)置為第一個(gè)被驗(yàn)

110、證的控件名稱,即新密碼對應(yīng)的文本框,其“ControlToCompare”屬性設(shè)置為第二個(gè)被驗(yàn)證的控件的名稱,即確認(rèn)密碼對應(yīng)的文本框。</p><p>  頁面中確認(rèn)按鈕的部分代碼如下:</p><p>  If Page.IsValid = True Then</p><p><b>  s = "s"</b></p

111、><p>  conn.Open()</p><p>  Dim dr As OleDbDataReader = cmd.ExecuteReader()</p><p>  If dr.Read Then</p><p>  Call modify()</p><p><b>  Else</b>&l

112、t;/p><p>  lblmessage.Text = "舊密碼不正確,請重新輸入"</p><p>  conn.Close()</p><p><b>  End If</b></p><p><b>  End If</b></p><p>  首先要

113、聲明一個(gè)全局變量s,用它來作為鑒別身份的標(biāo)志,令其等于“s”,表明是學(xué)生。其中“If Page.IsValid = True Then”語句判斷頁面是否通過驗(yàn)證,即用戶輸入的信息是否有效。如果頁面通過驗(yàn)證,建立Connection對象,連接數(shù)據(jù)庫,建立Command對象,利用“select * from admin where account='" & Session("usename")

114、& "' and mima='" & txtmima.Text & "' and type='" & s & "'”從數(shù)據(jù)庫用戶表中查詢符合信息的用戶,并調(diào)用子程序進(jìn)行對其密碼更新。程序中調(diào)用了modify()子程序。</p><p>  modify()子程序也是需要首先連接數(shù)據(jù)庫,

115、然后書寫SQL語句“update [admin] set mima='" & xinmima.Text & "'where account='" & txtusername.Text & "'” 建立Command,然后執(zhí)行conn.Open();cmd.ExecuteNonQuery();conn.Close()語句進(jìn)行更新操作。最

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論