我的實(shí)驗(yàn)教學(xué)管理系統(tǒng)畢業(yè)設(shè)計(jì)模板_第1頁(yè)
我的實(shí)驗(yàn)教學(xué)管理系統(tǒng)畢業(yè)設(shè)計(jì)模板_第2頁(yè)
我的實(shí)驗(yàn)教學(xué)管理系統(tǒng)畢業(yè)設(shè)計(jì)模板_第3頁(yè)
我的實(shí)驗(yàn)教學(xué)管理系統(tǒng)畢業(yè)設(shè)計(jì)模板_第4頁(yè)
我的實(shí)驗(yàn)教學(xué)管理系統(tǒng)畢業(yè)設(shè)計(jì)模板_第5頁(yè)
已閱讀5頁(yè),還剩88頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

年4月19日我的實(shí)驗(yàn)教學(xué)管理系統(tǒng)畢業(yè)設(shè)計(jì)文檔僅供參考湖南工學(xué)院??飘厴I(yè)論文()題目基于ASP.NET的教學(xué)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)學(xué)院湖南工學(xué)院專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)班級(jí)計(jì)應(yīng)0702學(xué)號(hào)學(xué)生姓名許靜指導(dǎo)教師劉君完成日期6月誠(chéng)信承諾我謹(jǐn)在此承諾:本人所寫(xiě)的畢業(yè)論文《基于ASP.NET的教學(xué)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)》均系本人獨(dú)立完成,沒(méi)有抄襲行為,凡涉及其它作者的觀點(diǎn)和材料,均作了注釋,若有不實(shí),后果由本人承擔(dān)。承諾人(簽名):許靜6月14日

摘要隨著信息技術(shù)在管理上越來(lái)越廣泛的應(yīng)用,管理信息系統(tǒng)的實(shí)施在技術(shù)上已逐步成熟。管理信息系統(tǒng)是一個(gè)不斷發(fā)展的系統(tǒng),任何一個(gè)單位要生存要發(fā)展,要高效率地把內(nèi)部活動(dòng)有機(jī)地組織起來(lái),就必須建立與自身特點(diǎn)相適應(yīng)的管理信息系統(tǒng)。本文介紹了在ASP.NET環(huán)境下采用“自上而下地總體規(guī)劃,自下而上地應(yīng)用開(kāi)發(fā)”的策略開(kāi)發(fā)一個(gè)管理信息系統(tǒng)的過(guò)程。經(jīng)過(guò)分析某一學(xué)校教學(xué)管理的不足,創(chuàng)立了一套行之有效的計(jì)算機(jī)管理學(xué)生的方案。文章介紹了教學(xué)管理信息系統(tǒng)的系統(tǒng)分析部分,包括可行性分析、業(yè)務(wù)流程分析等;系統(tǒng)設(shè)計(jì)部分主要介紹了系統(tǒng)功能設(shè)計(jì)和數(shù)據(jù)庫(kù)設(shè)計(jì)及代碼設(shè)計(jì);系統(tǒng)的功能分為:系統(tǒng)管理模塊、班級(jí)管理模塊、學(xué)生資料管理模塊、作業(yè)管理模塊;系統(tǒng)實(shí)現(xiàn)部分說(shuō)明了幾個(gè)主要模塊的算法。本系統(tǒng)界面友好,操作簡(jiǎn)單,比較實(shí)用。關(guān)鍵字:管理信息系統(tǒng);教學(xué)管理;ASP.NET應(yīng)用

ABSTRACTWithmoreandmorewidespreadandprofoundapplicationofinformationtechnologyinmanagement,theimplementofmanagementinformationsystemhasbecomematureintechnologystepbystep.Managinginformationsystemisanewsubject.Enterpriseneedsexistenceanddevelopment,soenterpriseactivitiesshouldbeorganizedefficientlyandorganically,whichmeanstighteninguptheenterprisemanagementandstrengtheningeffectivemanagementofanyresourceinternaltheenterprise,andalsoestablishingamanagementinformationsystemfittinginwithitsowncharacteristics.Thisarticleintroducesthedetailedprocessofexploringamanagementinformationsystemundertheenvironmentofvisual,utilizing“Top-Bottom”overallplanandastrategyaccordingto“Bottom-Top”applicationandexploitation.Thatistoestablishasetofeffectiveschemeforstudentmanagementbycomputer,throughanalyzingdisadvantagesofstudentmanagementbyhumanresources.Thisarticleemphasizesonthreesections.Thesystemanalysissectionofstudentmanagementinformationincludesfeasibleanalysis,managementfunction.Thesystemdesignsectionmainlyfocusesonsystemfunctiondesignanddatabasedesignanddatanumberdesign.Andthesystemrealizationsectionhasprovidedseveralmajorfunctions,togetherwiththemainwindowsandprograms.ThefunctionoftheSystem:SystemManagementModuleandclassManagementModuleandStudentfilesManagementModuleandExerciseManagementModule.Thiseconomicalandpragmaticsystemhasexplicitinterface,withsimpleoperation.Keywords:MIS;studentmanagement;ASP.NETapplication目錄1引言 12技術(shù)簡(jiǎn)介 22.1HTML語(yǔ)言 22.2IIS 22.3Session對(duì)象 42.4ASP.NET的控件和窗體 52.4.1Activex控件 62.4.2Toolbar工具條控件 72.4.3協(xié)調(diào)菜單和工具欄的外觀 82.4.4窗體設(shè)置 82.5CSS樣式表 92.5.1層疊樣式表的特點(diǎn) 92.5.2添加層疊樣式表的方法 102.5.3層疊樣式表的格式 112.5.4層疊樣式表的分類 122.5.5層疊樣式表的偽類 123系統(tǒng)概述 133.1系統(tǒng)及需求分析 133.1.1系統(tǒng)需求 133.1.2可行性分析 133.2系統(tǒng)的功能簡(jiǎn)介 153.2.1系統(tǒng)管理模塊 153.2.2班級(jí)管理模塊 153.2.3學(xué)生資料管理模塊 153.2.4作業(yè)管理模塊 153.3系統(tǒng)開(kāi)發(fā)的目標(biāo) 154系統(tǒng)流程分析 164.1業(yè)務(wù)流程分析 164.2數(shù)據(jù)流程分析 174.2.1數(shù)據(jù)流程圖 174.3數(shù)據(jù)存儲(chǔ)分析實(shí)體聯(lián)系圖 175系統(tǒng)設(shè)計(jì) 195.1軟件模塊結(jié)構(gòu)設(shè)計(jì) 195.1.1系統(tǒng)方案確定 195.1.2軟件結(jié)構(gòu)設(shè)計(jì) 195.2數(shù)據(jù)庫(kù)設(shè)計(jì) 196系統(tǒng)功能的實(shí)現(xiàn) 236.1系統(tǒng)登錄 236.2學(xué)生注冊(cè) 256.3學(xué)生用戶 286.4教師用戶 306.5班級(jí)管理 326.6學(xué)生資料管理 336.7作業(yè)管理 347總結(jié) 37致謝 38參考文獻(xiàn) 391引言隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的高速發(fā)展,傳統(tǒng)的桌面系統(tǒng)、C/S架構(gòu)系統(tǒng)已經(jīng)不能滿足社會(huì)的需要。當(dāng)今社會(huì)是一個(gè)網(wǎng)絡(luò)社會(huì),電子商務(wù)系統(tǒng)、企業(yè)信息系統(tǒng)已經(jīng)走進(jìn)了網(wǎng)絡(luò)應(yīng)用系統(tǒng)階段。如何快速開(kāi)發(fā)出適應(yīng)社會(huì)各個(gè)行業(yè)發(fā)展的網(wǎng)絡(luò)應(yīng)用系統(tǒng)是擺在人們前面的一個(gè)難題。選擇什么樣的開(kāi)發(fā)平臺(tái)、開(kāi)發(fā)工具、開(kāi)發(fā)語(yǔ)言、開(kāi)發(fā)技術(shù)直接影響行業(yè)的信息化建設(shè)。.NET的問(wèn)世給開(kāi)發(fā)人員帶來(lái)了一種全新的開(kāi)發(fā)框架,它已經(jīng)成為一種令人激動(dòng)的、具有革命性和發(fā)展性的新技術(shù)。.NET為行業(yè)的信息化提出了徹底解決方案,不論Web開(kāi)發(fā)者、組件開(kāi)發(fā)者、數(shù)據(jù)開(kāi)發(fā)者、VBGUI開(kāi)發(fā)者,還是任何基于Windows平臺(tái)的開(kāi)發(fā)者,.NET都以一種全新的開(kāi)發(fā)模式使開(kāi)發(fā)人員更好、更快速的完成工作。本課題重點(diǎn)以.NET和為開(kāi)發(fā)平臺(tái),綜合利用ASP.NET的WEB開(kāi)發(fā)技術(shù)和XML跨平臺(tái)技術(shù),經(jīng)過(guò)開(kāi)發(fā)一個(gè)通用網(wǎng)站,真正體驗(yàn).NET新一代軟件開(kāi)發(fā)全新模式,實(shí)現(xiàn)網(wǎng)站快速開(kāi)發(fā)和部署。

2技術(shù)簡(jiǎn)介2.1HTML語(yǔ)言超文本語(yǔ)言HTML(HyperTextMarkupLanguage)是當(dāng)前創(chuàng)立Web頁(yè)面最流行的語(yǔ)言。HTML語(yǔ)言的流行是因?yàn)橐粋€(gè)HTML文件不論在任何操作系統(tǒng)的瀏覽器上面得到的結(jié)果應(yīng)該是相同的。HTML語(yǔ)言是一種處理文字的語(yǔ)言,它包含的指令(標(biāo)記)能夠插入到未定個(gè)是的文件里,用來(lái)控制瀏覽器顯示的網(wǎng)頁(yè)或者打印出來(lái)的外觀。HTML語(yǔ)言不區(qū)分大小寫(xiě),它有以下特點(diǎn):它有特定的邏輯結(jié)構(gòu),分成不同的邏輯但元,是一種結(jié)構(gòu)化文本文檔。它能夠提供圖像、動(dòng)畫(huà)以及其它多媒體等信息的鏈接。創(chuàng)立過(guò)程非常簡(jiǎn)單。HTML語(yǔ)言版本開(kāi)發(fā)采取向后兼容的方式,使它容易維護(hù)。另外,HTML作為WEB上通用的描述語(yǔ)言,為各種計(jì)算機(jī)平臺(tái)提供了一個(gè)公開(kāi)的標(biāo)準(zhǔn)接口,于平臺(tái)無(wú)關(guān)。2.2IISIIS是InternetInformationServer的縮寫(xiě),它是微軟公司主推的服務(wù)器,最新的版本是Windows里面包含的IIS6,IIS與WindowsNTServer完全集成在一起,因而用戶能夠利用WindowsNTServer和NTFS(NTFileSystem,NT的文件系統(tǒng))內(nèi)置的安全特性,建立強(qiáng)大,靈活而安全的Internet和Intranet站點(diǎn)。

IIS支持HTTP(HypertextTransferProtocol,超文本傳輸協(xié)議),F(xiàn)TP(FileTransferProtocol,文件傳輸協(xié)議)以及SMTP協(xié)議,經(jīng)過(guò)使用CGI和ISAPI,IIS能夠得到高度的擴(kuò)展IIS支持與語(yǔ)言無(wú)關(guān)的腳本編寫(xiě)和組件,經(jīng)過(guò)IIS,開(kāi)發(fā)人員就能夠開(kāi)發(fā)新一代動(dòng)態(tài)的,富有魅力的Web站點(diǎn)。IIS不需要開(kāi)發(fā)人員學(xué)習(xí)新的腳本語(yǔ)言或者編譯應(yīng)用程序,IIS完全支持Vbscript,Javascript開(kāi)發(fā)軟件以及Java,它也支持CGI和WinCGI,以及ISAPI擴(kuò)展和過(guò)濾器。IIS支持服務(wù)器應(yīng)用的MicrosoftBackOffice系列,MicrosoftBackOffice系列包括以下內(nèi)容:(1)MicrosoftExchangeServer客戶/服務(wù)器通訊和群組軟件;(2)MicrosoftProxyServer代理服務(wù)器;(3)用于連接IBM企業(yè)網(wǎng)絡(luò)的MicrosoftSNAServer;(4)用于集中管理分布式系統(tǒng)的MicrosoftSystemsManagementServer;(5)MicrosoftCommercialInternetSystem(MCIS)。IIS的設(shè)計(jì)目的是建立一套集成的服務(wù)器服務(wù),用以支持HTTP,F(xiàn)TP和SMTP,它能夠提供快速且集成了現(xiàn)有產(chǎn)品,同時(shí)可擴(kuò)展的Internet服務(wù)器。IIS相應(yīng)性極高,同時(shí)系統(tǒng)資源的消耗也是最少,IIS的安裝,管理和配置都相當(dāng)簡(jiǎn)單,這是因?yàn)镮IS與WindowsNTServer網(wǎng)絡(luò)操作系統(tǒng)緊密的集成在一起,另外,IIS還使用與WindowsNTServer相同的SAM(SecurityAccountsManager,安全性賬號(hào)管理器),對(duì)于管理員來(lái)說(shuō),IIS使用諸如PerformanceMonitor和SNMP(SimpleNetworkManagementProtocol,簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議)之類的NT已有管理工具。IIS支持ISAPI,使用ISAPI能夠擴(kuò)展服務(wù)器功能,而使用ISAPI過(guò)濾器能夠預(yù)先處理和事后處理儲(chǔ)存在IIS上的數(shù)據(jù)。用于32位Windows應(yīng)用程序的Internet擴(kuò)展能夠把FTP,SMTP和HTTP協(xié)議置于容易使用的任務(wù)集中的界面中,這些界面將Internet應(yīng)用程序的使用大大簡(jiǎn)化,IIS也支持MIME(MultipurposeInternetMailExtensions,多用于Internet郵件擴(kuò)展),它能夠?yàn)镮nternet應(yīng)用程序的訪問(wèn)提供一個(gè)簡(jiǎn)單的注冊(cè)項(xiàng)。IIS的一個(gè)重要特性是支持ASP。IIS3.0版本以后引入了ASP,能夠很容易的張貼動(dòng)態(tài)內(nèi)容和開(kāi)發(fā)基于Web的應(yīng)用程序。對(duì)于諸如Vbscript,Javascript開(kāi)發(fā)軟件,或者由VisualBasic,Java,VisualC++開(kāi)發(fā)系統(tǒng),以及現(xiàn)有的CGI和WinCGI腳本開(kāi)發(fā)的應(yīng)用程序,IIS都提供強(qiáng)大的本地支持。ASP.NET是M的一部分,作為戰(zhàn)略產(chǎn)品,不但僅是ActiveServerPage(ASP)的下一個(gè)版本;它還提供了一個(gè)統(tǒng)一的Web開(kāi)發(fā)模型,其中包括開(kāi)發(fā)人員生成企業(yè)級(jí)Web應(yīng)用程序所需的各種服務(wù)。ASP.NET的語(yǔ)法在很大程度上與ASP兼容,同時(shí)它還提供一種新的編程模型和結(jié)構(gòu),可生成伸縮性和穩(wěn)定性更好的應(yīng)用程序,并提供更好的安全保護(hù)。能夠經(jīng)過(guò)在現(xiàn)有ASP應(yīng)用程序中逐漸添加ASP.NET功能,隨時(shí)增強(qiáng)ASP應(yīng)用程序的功能。ASP.NET是一個(gè)已編譯的、基于.NET的環(huán)境,能夠用任何與.NET兼容的語(yǔ)言(包括VisualBasic.NET、C#和Javascript.NET.)創(chuàng)作應(yīng)用程序。另外,任何ASP.NET應(yīng)用程序都能夠使用整個(gè).NETFramework。開(kāi)發(fā)人員能夠方便地獲得這些技術(shù)的優(yōu)點(diǎn),其中包括托管的公共語(yǔ)言運(yùn)行庫(kù)環(huán)境、類型安全、繼承等等。ASP.NET能夠無(wú)縫地與WYSIWYGHTML編輯器和其它編程工具(包括MicrosoftVisualStudio.NET)一起工作。這不但使得Web開(kāi)發(fā)更加方便,而且還能提供這些工具必須提供的所有優(yōu)點(diǎn),包括開(kāi)發(fā)人員能夠用來(lái)將服務(wù)器控件拖放到Web頁(yè)的GUI和完全集成的調(diào)試支持。微軟為ASP.NET設(shè)計(jì)了這樣一些策略:易于寫(xiě)出結(jié)構(gòu)清晰的代碼、代碼易于重用和共享、可用編譯類語(yǔ)言編寫(xiě)等等,目的是讓程序員更容易開(kāi)發(fā)出Web應(yīng)用,滿足計(jì)算向Web轉(zhuǎn)移的戰(zhàn)略需要。ASP.NET提供了穩(wěn)定的性能、優(yōu)秀的升級(jí)性、更快速的開(kāi)發(fā)、更簡(jiǎn)便的管理、全新的語(yǔ)言以及網(wǎng)絡(luò)服務(wù)。貫穿整個(gè)ASP.NET的主題就是系統(tǒng)幫用戶做了大部分不重要的瑣碎的工作。

新的ASP.NET引入受管代碼(ManagedCode)這樣一個(gè)全新概念,橫貫整個(gè)視窗開(kāi)發(fā)平臺(tái)。受管代碼在NGWSRuntime下運(yùn)行,而NGWSRuntime是一個(gè)時(shí)間運(yùn)行環(huán)境,它管理代碼的執(zhí)行,使程序設(shè)計(jì)更為簡(jiǎn)便。(1)高效率對(duì)于一個(gè)程序,速度是一件非常令人渴望的東西。一旦代碼開(kāi)始工作,接下來(lái)你就得盡可能地讓它運(yùn)作得快些。在ASP中你只有盡可能精簡(jiǎn)你的代碼,以至于不得不將它們移植到一個(gè)僅有很少一點(diǎn)性能的部件中。而現(xiàn)在,ASP.NET會(huì)妥善地解決這一問(wèn)題。(2)易控制在ASP.NET里,你將會(huì)擁有一個(gè)“Data-Bounds”(數(shù)據(jù)約束),這意味著它會(huì)與數(shù)據(jù)源連接,并會(huì)自動(dòng)裝入數(shù)據(jù),使控制工作簡(jiǎn)單易行。(3)語(yǔ)言支持ASP.NET支持多種語(yǔ)言,支持編譯類語(yǔ)言,支持比如VB、VC++、C#等,它比這些編譯類語(yǔ)言運(yùn)行速度快,更適合編寫(xiě)大型應(yīng)用

(4)更好的升級(jí)能力快速發(fā)展的分布式應(yīng)用也需要更快速、更模塊化、更易操作、更多平臺(tái)支持和重復(fù)利用性更強(qiáng)的開(kāi)發(fā),需要一種新的技術(shù)來(lái)適應(yīng)不同的系統(tǒng),網(wǎng)絡(luò)應(yīng)用和網(wǎng)站需要提供一種更加強(qiáng)大的可升級(jí)的服務(wù)。ASP.NET能夠適應(yīng)上面的要求。對(duì)于今天的Web程序員來(lái)說(shuō),最大的挑戰(zhàn)就是不斷變化的瀏覽器兼容性以及它們不斷升級(jí)的復(fù)雜性。在保證頁(yè)面能在所有瀏覽器下工作的同時(shí),又得盡量使用每個(gè)瀏覽器的最新屬性來(lái)建立更具交互性的頁(yè)面,這簡(jiǎn)直不可想象。更加可怕的是,需要對(duì)不同的用戶設(shè)備建立不同的網(wǎng)頁(yè)。最簡(jiǎn)單的解決辦法就是動(dòng)態(tài)地對(duì)不同的用戶生成不同的輸出,或者就是對(duì)不同的用戶寫(xiě)多個(gè)頁(yè)面。大多數(shù)開(kāi)發(fā)者都會(huì)選擇第一種方法??墒?,這就意味著用戶的每次點(diǎn)擊都會(huì)讓服務(wù)器判斷應(yīng)該向用戶顯示什么。而經(jīng)過(guò)ASP.NET,我們能夠看到一個(gè)新的服務(wù)控制的概念,它封裝了一些普通的任務(wù),提供了一種清晰的編程模塊,有助于管理和處理不同的用戶類型。簡(jiǎn)單地說(shuō),ASP.NET把這些過(guò)程自動(dòng)化了。2.3Session對(duì)象Session其實(shí)指的就是訪問(wèn)者從到達(dá)某個(gè)特定主頁(yè)到離開(kāi)為止的那段時(shí)間。每一訪問(wèn)者都會(huì)單獨(dú)獲得一個(gè)Session。在Web應(yīng)用程序中,當(dāng)一個(gè)用戶訪問(wèn)該應(yīng)用時(shí),Session類型的變量能夠供這個(gè)用戶在該Web應(yīng)用的所有頁(yè)面中共享數(shù)據(jù);如果另一個(gè)用戶也同時(shí)訪問(wèn)該Web應(yīng)用,她也擁有自己的Session變量,但兩個(gè)用戶之間無(wú)法經(jīng)過(guò)Session變量共享信息,而Application類型的變更則能夠?qū)崿F(xiàn)站點(diǎn)多個(gè)用戶之間在所有頁(yè)面中共享信息。(1)SessionID屬性該屬性返回當(dāng)前會(huì)話的唯一標(biāo)志,為每一個(gè)Session分配不同的編號(hào)。我曾在開(kāi)發(fā)過(guò)程中就遇到對(duì)用戶的控制問(wèn)題。它要實(shí)現(xiàn)的功能就是,針對(duì)某個(gè)網(wǎng)站的一個(gè)模塊,當(dāng)一個(gè)會(huì)員登錄后正在看此模塊時(shí),另一個(gè)人用同樣的會(huì)員名登錄,就不能瀏覽這個(gè)模塊。也就是說(shuō)一個(gè)會(huì)員名同時(shí)只能一個(gè)人瀏覽此模塊。我經(jīng)過(guò)用會(huì)員名(假設(shè)為UserID,唯一)和SessionID來(lái)實(shí)現(xiàn)了控制。當(dāng)會(huì)員登錄時(shí),給這個(gè)會(huì)員一個(gè)Session記錄登錄狀態(tài)如:Session("Status")="Logged",同時(shí)把這個(gè)會(huì)員的Session.SessionID寫(xiě)入數(shù)據(jù)庫(kù)。當(dāng)她要瀏覽此模塊時(shí),先判斷其是否登錄,若已經(jīng)登錄再判斷它的SessionID是否與數(shù)據(jù)庫(kù)記錄的相同,如果不同則不能訪問(wèn)。這樣,當(dāng)另一個(gè)用戶用相同的會(huì)員名登錄時(shí),那么數(shù)據(jù)庫(kù)中記錄的就是新的SessionID,前者訪問(wèn)此模塊時(shí)就不能經(jīng)過(guò)檢查。這就實(shí)現(xiàn)了一個(gè)會(huì)員名同時(shí)只能一個(gè)人瀏覽某個(gè)模塊。這個(gè)功能在一些收費(fèi)網(wǎng)站有很有特別作用,它防止了一個(gè)會(huì)員名給多個(gè)人瀏覽的問(wèn)題,為公司保障了利益。(2)TimeOut屬性該屬性用來(lái)定義用戶Session對(duì)象的時(shí)限。如果用戶在規(guī)定的時(shí)間內(nèi)沒(méi)有刷新網(wǎng)頁(yè),則Session對(duì)象就會(huì)終止。一般默認(rèn)為20分鐘。(3)Abandon方法該方法是Session對(duì)象的唯一方法,能夠清除Session對(duì)象,用來(lái)消除用戶的Session對(duì)象并釋放其所占的資源。如:<%Session.Abandon%>(4)Session_OnStart和Session_OnEnd事件和Application一樣,當(dāng)對(duì)象的例程每一次啟動(dòng)時(shí)觸發(fā)Session_OnStart事件,然后運(yùn)行Session_Onstart事件的處理過(guò)程。也就是說(shuō),當(dāng)服務(wù)器接收到應(yīng)用程序中的URL的HTTP請(qǐng)求時(shí),觸發(fā)此事件,并建立一個(gè)Session對(duì)象。同理,這個(gè)事件也必須定在Global.asa文件中。當(dāng)調(diào)用Session.Abandon方法時(shí)或者在TimeOut的時(shí)間內(nèi)沒(méi)有刷新,這會(huì)觸發(fā)Session_OnEnd事件,然后執(zhí)行里面的腳本。Session變量與特定的用戶相聯(lián)系,針對(duì)某一個(gè)用戶賦值的Session變量是和其它用戶的Session變量完全獨(dú)立的,不會(huì)存在相互影響。2.4ASP.NET的控件和窗體菜單是程序中提供的一種方便給命令分組的方法,目的是使用戶容易訪問(wèn)這些命令。它是程序最重要的特性之一,大多數(shù)程序都依賴一個(gè)良好的定義使程序易于使用和維護(hù),在一個(gè)大型應(yīng)用程序的界面中如果沒(méi)有菜單和工具欄,用戶將很難進(jìn)行操作。這是一種流行趨勢(shì),因?yàn)椴⒉皇撬杏脩舳寄軌蚯逦亓私飧鞣N應(yīng)用軟件,因此對(duì)于她們來(lái)講,必須含帶菜單和工具欄來(lái)使用應(yīng)用程序。ASP.NET也提供了強(qiáng)大的創(chuàng)立菜單功能來(lái)使程序更加標(biāo)準(zhǔn),我們能夠使用ASP.NET的applicationwizard,也能夠使用ASP.NET的菜單編輯器建立或者修改已經(jīng)存在的菜單。在ASP.NET中,設(shè)計(jì)和運(yùn)行時(shí)都能夠創(chuàng)立和修改菜單。在菜單創(chuàng)立時(shí),還能夠定義菜單的訪問(wèn)鍵,使習(xí)慣了dos操作的用戶也能方便地進(jìn)行操作。在菜單中還能夠創(chuàng)立分隔符,但要注意的是,如果菜單控件是一個(gè)菜單標(biāo)題,帶有子菜單項(xiàng),被復(fù)選或無(wú)效,或者有一個(gè)快捷鍵,那么它就不能作為分隔符條,分隔符條是不能響應(yīng)click事件,而且也不能被選取的。在所有的菜單功能項(xiàng)中,能夠使菜單項(xiàng)命令有效或無(wú)效,所有的菜單控件都具有enable屬性,當(dāng)這個(gè)屬性值為false時(shí),菜單命令無(wú)效,它不響應(yīng)任何動(dòng)作。此時(shí),快捷鍵的訪問(wèn)也無(wú)效,一個(gè)無(wú)效的菜單項(xiàng)控件會(huì)變暗。所有未變暗的菜單項(xiàng)控件都是有效的,能夠響應(yīng)其所定義的任何動(dòng)作。工具欄已經(jīng)成為許多基本windows應(yīng)用程序的標(biāo)準(zhǔn)功能,使用它能夠進(jìn)一步增強(qiáng)應(yīng)用程序的菜單界面。工具欄含有工具欄按鈕,提供了對(duì)應(yīng)用程序最常見(jiàn)的命令的快速訪問(wèn)。如果使用的是ASP.NET的專業(yè)版或企業(yè)版,則用戶能夠直接使用其中的Activex控件——toolbar來(lái)創(chuàng)立工具欄。2.4.1Activex控件ASP.NET提供了大量的控件,在應(yīng)用程序中使用各種控件是ASP.NET的特色??丶脕?lái)獲取用戶的輸入信息和顯示輸出信息。應(yīng)用程序中可用的控件可包括文本框、命令應(yīng)用程序就仿佛是代碼的一部分。每個(gè)控件都有一組屬性、方法和事件。其次,在ASP.NET中還提供了Activex控件,以前被稱作ole控件,是一個(gè)標(biāo)準(zhǔn)的用戶接口元素,能夠快速地把窗體和對(duì)話框組裝起來(lái)。在應(yīng)用程序中使用各種控件經(jīng)常被看作是ASP.NET的特色。設(shè)計(jì)一個(gè)Activex控件就像設(shè)計(jì)一個(gè)ASP.NET窗體那樣容易,用戶能夠使用所熟悉的ASP.NET圖形命令來(lái)繪制控件,或者使用已有的控件來(lái)創(chuàng)立一個(gè)控件組。Activex控件能夠在運(yùn)行中調(diào)試,因此能夠直接從高度窗體的跳躍到Activex控件工程的代碼中。另外,能夠使用ASP.NET的data控件或ado控件在ASP.NET的Activex控件上增加數(shù)據(jù)綁定,這樣使用者就很容易地把控件中的各個(gè)字段綁定到數(shù)據(jù)庫(kù)中適當(dāng)?shù)淖侄紊?。Activex控件文件的擴(kuò)展名為.ocx,將Activex控件和其它可加入的對(duì)象加到工具箱中,即可在工程中使用它們。在工程的工具箱中加控件:(1)“工程”菜單中,單擊“部件”,顯示“部件”對(duì)話框。(2)在該對(duì)話框中將列出所有已經(jīng)注冊(cè)的可加入的對(duì)象、設(shè)計(jì)者和Activex控件。(3)要在工具箱中加入Activex控件,選定控件名稱左邊的復(fù)選框。(4)單擊“確定”按鈕,關(guān)閉“部件”對(duì)話框。所有選定的Activex控件將出現(xiàn)在工具箱中。要將Activex控件加入“部件”對(duì)話框,單擊“瀏覽”按鈕,并找到擴(kuò)展名.ocx的文件。在將Activex控件加入可用控件列表中時(shí),ASP.NET自動(dòng)在“部件”對(duì)話框中選定它的復(fù)選框。2.4.2Toolbar工具條控件Toolbar工具條控件,包含用來(lái)創(chuàng)立工具欄的button對(duì)象的集合,是實(shí)現(xiàn)工具條的主體。其中的按鈕能夠顯示圖像的標(biāo)題,并按功能分組或加入分隔符,還能夠?qū)ζ湓O(shè)置鼠標(biāo)停留在其上顯示的提示字符。Toolbar也是一個(gè)控件容器且具有style屬性,并能夠?yàn)槠湓黾酉吕粹o和平滑按鈕等。一般情況下,工具欄中的按鈕與應(yīng)用菜單中的菜單項(xiàng)相對(duì)應(yīng),能夠用它們來(lái)訪問(wèn)應(yīng)用程序最常見(jiàn)的功能和命令。其中,Toolbar控件也能夠包含其它控件,如:combobox控件或textbox控件。要?jiǎng)?chuàng)立工具欄,必須先將button對(duì)象加入button集合,每個(gè)button對(duì)象能夠擁有可選的文本,或者擁有相關(guān)聯(lián)的imagelist控件提供的圖像。能夠用caption屬性為每一個(gè)button對(duì)象設(shè)置文本,用image屬性設(shè)置圖像。在設(shè)計(jì)時(shí),能夠用add和remove的方法將按鈕加入或刪除button集合。在設(shè)計(jì)時(shí)若添加其它控件,只須將需要的控件拖入工具欄中即可。另外,還能夠創(chuàng)立placeholder樣式的button對(duì)象,并在resize事件中將需要的控件蓋在該按鈕上。在運(yùn)行時(shí),雙擊工具欄將彈出“自定義工具欄”對(duì)話框,以便用戶隱藏、顯示或重新安排工具欄的按鈕。能夠用allowcustomize屬性選用或禁止用該對(duì)話框。還能夠用customize方法彈出“自定義工具欄”對(duì)話框。如果需要保存或恢復(fù)工具允許最終用戶這樣做,可使用savetoolbar和restoretoolbar方法。使用toolbar控件,主要是為了體現(xiàn)以下幾個(gè)方面:(1)用一致的工具欄為不同應(yīng)用程序提供統(tǒng)一的界面。(2)為常見(jiàn)功能例如文件操作等提供簡(jiǎn)便的訪問(wèn)方法。(3)為應(yīng)用程序提供圖形化的直觀界面。選擇“工程”下拉菜單中的“部件”選項(xiàng),顯示“部件”對(duì)話框。在“控件”選項(xiàng)卡列表中選擇“microsoftwindowscommoncontrols6.0”(1)Lign屬性定義工具條在窗體中的位置。(2)Tooltiptext屬性是字符串類型,定義控件的提示字符。(3)Style屬性定義按鈕外觀。(4)Imagelist屬性設(shè)置一個(gè)imagelist控件名,該控件定義工具按鈕顯示的圖像。(5)Hotmangelist屬性設(shè)置一個(gè)imagelist控件名,該控件定義按鈕獲得熱點(diǎn)時(shí)顯示圖像。(6)Disabledimagelist屬性定義工具條按鈕無(wú)效時(shí)顯示的圖像。(7)創(chuàng)立工具條,包括imagelist和toolbar控件。imagelist用于為其它控件提供圖像庫(kù),將imagelist控件加入到工具箱的操作于前述toolbar控件相同。2.4.3協(xié)調(diào)菜單和工具欄的外觀當(dāng)由其它應(yīng)用程序提供的對(duì)象在窗體中被激活時(shí),有許多的方法讓對(duì)象的菜單與工具欄出現(xiàn)在容器窗體內(nèi)。然而,需要規(guī)定它們將如何顯示。這一過(guò)程叫做用戶界面協(xié)調(diào)。經(jīng)過(guò)設(shè)置窗體的Negotiatemenus屬性能夠決定一個(gè)鏈接或嵌入的對(duì)象的菜單是否出現(xiàn)在容器窗體中,如果子窗體的Negotiatemenus屬性默認(rèn)為true,而且容器有一個(gè)定義的菜單欄,或者Negotiatemenus屬性被設(shè)置為

false,那么,當(dāng)這個(gè)對(duì)象激活時(shí)對(duì)象的菜單將不出現(xiàn)。注意,Negotiatemenus屬性不適用于MDI窗體。MDI窗體的Negotiatetoolbars屬性決定了鏈接或嵌入對(duì)象的工具欄是不固定的調(diào)色板還是被放置在父窗體上。如果設(shè)為true,則對(duì)象的工具欄出現(xiàn)在MDI窗體上;如果設(shè)置為false,則對(duì)象的工具欄就為不固定的調(diào)色板。如果MDI窗體上包含工具欄,它一般被包含在父窗體的Picturebox控件中。圖片框的Negotiate屬性決定了被激活時(shí)容器的工具欄是繼續(xù)顯示還是被對(duì)象的工具欄所代替。如果設(shè)為true,則除了容器的工具欄外還顯示對(duì)象的工具欄;如果為false,則對(duì)象的工具欄代替容器的工具欄。執(zhí)行菜單與工具欄的協(xié)調(diào):(1) MDI窗體中添加工具欄(2)在子窗體上旋轉(zhuǎn)一個(gè)可插入的對(duì)象(3)設(shè)置Negotiatemenus、Negotiatetoolars、Negotiate屬性(4)運(yùn)行此應(yīng)用程序,然后雙擊該對(duì)象2.4.4窗體設(shè)置窗體是一種對(duì)象,由屬性定義其外觀,由方法定義其行為,由事件定義其與用戶的交互。經(jīng)過(guò)窗體屬性并編寫(xiě)響應(yīng)事件的ASP.NET代碼,就能定義出滿足應(yīng)用程序需要的對(duì)象??丶前ㄔ诖绑w對(duì)象內(nèi)的對(duì)象。每種類型的控件都有自己的一套屬性、方法和事件,以適用于特定的目的。一些控件最適合在應(yīng)用程序中輸入或顯示文本;另一些控件能夠訪問(wèn)其它的應(yīng)用程序和處理數(shù)據(jù),就像這些遠(yuǎn)程應(yīng)用程序是用戶自己的代碼一樣。窗體對(duì)象是ASP.NET應(yīng)用程序的基本構(gòu)造模塊,是運(yùn)行應(yīng)用程序時(shí)與用戶交互操作的實(shí)際窗口中,窗體有自己的屬性、事件、方法、控件窗體的外觀和行為。設(shè)計(jì)窗體的第一步是設(shè)置它的屬性。這能夠在設(shè)計(jì)時(shí)的“屬性”窗口中完成,或者運(yùn)行由代碼來(lái)實(shí)現(xiàn)。注意:在設(shè)計(jì)時(shí),即在ASP.NET環(huán)境中創(chuàng)立應(yīng)用程序是地,能夠操作所需要的控件,設(shè)置它們的屬性,并對(duì)它們的事件進(jìn)行編程。運(yùn)行時(shí),則實(shí)際是運(yùn)行的應(yīng)用程序,讓用戶與應(yīng)用程序進(jìn)行交互。2.5CSS樣式表CSS(CascadingStylesheets,層疊樣式表)是一種制作網(wǎng)頁(yè)的新技術(shù),現(xiàn)在已經(jīng)為大多數(shù)的瀏覽器所支持,成為網(wǎng)頁(yè)設(shè)計(jì)必不可少的工具之一。使用CSS能夠簡(jiǎn)化網(wǎng)頁(yè)的格式代碼,加快下載顯示的速度,也減少了需要上傳的代碼數(shù)量,大大減少了重復(fù)勞動(dòng)的工作量。CSS(CascadingStylesheets,層疊樣式表)是一種制作網(wǎng)頁(yè)的新技術(shù),現(xiàn)在已經(jīng)為大多數(shù)的瀏覽器所支持,成為網(wǎng)頁(yè)設(shè)計(jì)必不可少的工具之一。W3C(TheWorldWideWebConsortium)把動(dòng)態(tài)HTML(DynamicHTML)分為三個(gè)部分來(lái)實(shí)現(xiàn):腳本語(yǔ)言(包括Javascript、Vbscript等)、支持動(dòng)態(tài)效果的瀏覽器(包括InternetExplorer、NetscapeNavigator等)和CSS樣式表。2.5.1層疊樣式表的特點(diǎn)且不說(shuō)過(guò)去的網(wǎng)頁(yè)缺少動(dòng)感,就是在網(wǎng)頁(yè)內(nèi)容的排版布局上也有很多困難,如果不是專業(yè)人員或特別有耐心的人,很難讓網(wǎng)頁(yè)按自己的構(gòu)思和創(chuàng)意來(lái)顯示信息。即便是掌握了HTML語(yǔ)言精髓的人也要經(jīng)過(guò)多次地測(cè)試,才能駕馭好這些信息的排版,過(guò)程十分漫長(zhǎng)和痛苦。為了Internet的發(fā)展,讓更多人早日踏足這個(gè)多姿多彩的世界,新的HTML輔助工具呼之欲出。樣式表就是在這種需求下誕生的,它首先要做的是為網(wǎng)頁(yè)上的元素精確地定位,能夠讓網(wǎng)頁(yè)設(shè)計(jì)者像導(dǎo)演一樣,輕易地控制由文字、圖片組成的演員們,在網(wǎng)頁(yè)這個(gè)舞臺(tái)上按劇本要求好好地表演。其次,它把網(wǎng)頁(yè)上的內(nèi)容結(jié)構(gòu)和格式控制相分離。瀏覽者想要看的是網(wǎng)頁(yè)上的內(nèi)容結(jié)構(gòu),而為了讓瀏覽者更好地看到這些信息,就要經(jīng)過(guò)格式控制來(lái)幫忙了。以前兩者在網(wǎng)頁(yè)上的分布是交錯(cuò)結(jié)合的,查看修改很不方便,而現(xiàn)在把兩者分開(kāi)就會(huì)大大方便網(wǎng)頁(yè)的設(shè)計(jì)者。內(nèi)容結(jié)構(gòu)和格式控制相分離,使得網(wǎng)頁(yè)能夠光由內(nèi)容構(gòu)成,而將所有網(wǎng)頁(yè)的格式控制指向某個(gè)CSS樣式表文件。這樣一來(lái)的好出表現(xiàn)在兩個(gè)方面:(1)簡(jiǎn)化了網(wǎng)頁(yè)的格式代碼,外部的樣式表還會(huì)被瀏覽器保存在緩存里,加快了下載顯示的速度,也減少了需要上傳的代碼數(shù)量(因?yàn)橹貜?fù)設(shè)置的格式將被只保存一次)。(2)只要修改保存著網(wǎng)站格式的CSS樣式表文件就能夠改變整個(gè)站點(diǎn)的風(fēng)格特色,在修改頁(yè)面數(shù)量龐大的站點(diǎn)時(shí),顯得格外有用。避免了一個(gè)一個(gè)網(wǎng)頁(yè)的修改,大大減少了重復(fù)勞動(dòng)的工作量。2.5.2添加層疊樣式表的方法我們?yōu)榫W(wǎng)頁(yè)添加樣式表的方法有四種。(1)最簡(jiǎn)單的方法是直接添加在HTML的標(biāo)識(shí)符(tag)里:<Tagstyle=”properties”>網(wǎng)頁(yè)內(nèi)容</tag>舉個(gè)例子:<pstyle=”color:blue;font-size:10pt”>CSS實(shí)例</p>代碼說(shuō)明:用藍(lán)色顯示字體大小為10pt的“CSS實(shí)例”。盡管使用簡(jiǎn)單、顯示直觀,可是這種方法不怎么常見(jiàn),因?yàn)檫@樣添加無(wú)法完全發(fā)揮樣式表的優(yōu)勢(shì)“內(nèi)容結(jié)構(gòu)和格式控制分別保存”。(2)添加在HTML的頭信息標(biāo)識(shí)符<head>里:以下是引用片段:<

head><

style

type=”text/css”><

!—樣式表的具體內(nèi)容--><

/style><

/head>type=”text/css”表示樣式表采用MIME類型,幫助不支持CSS的瀏覽器過(guò)濾掉CSS代碼,避免在瀏覽器面前直接以源代碼的方式顯示我們?cè)O(shè)置的樣式表。但為了保證上述情況一定不要發(fā)生,還是有必要在樣式表里加上注釋標(biāo)識(shí)符“<!--注釋內(nèi)容-->”。(3)鏈接樣式表同樣是添加在HTML的頭信息標(biāo)識(shí)符<head>里:以下是引用片段:<

head><

link

rel=”stylesheet”

href=”*.css”

type=”text/css”

media=”screen”><

/head>*.css是單獨(dú)保存的樣式表文件,其中不能包含<style>標(biāo)識(shí)符,而且只能以css為后綴。Media是可選的屬性,表示使用樣式表的網(wǎng)頁(yè)將用什么媒體輸出。取值范圍:·Screen(默認(rèn)):輸出到電腦屏幕·Print:輸出到打印機(jī)·TV:輸出到電視機(jī)·Projection:輸出到投影儀·Aural:輸出到揚(yáng)聲器·Braille:輸出到凸字觸覺(jué)感知設(shè)備·Tty:輸出到電傳打字機(jī)·All:輸出到以上所有設(shè)備如果要輸出到多種媒體,能夠用逗號(hào)分隔取值表。Rel屬性表示樣式表將以何種方式與HTML文檔結(jié)合。取值范圍:·Stylesheet:指定一個(gè)外部的樣式表·Alternatestylesheet:指定使用一個(gè)交互樣式表(4)聯(lián)合使用樣式表同樣是添加在HTML的頭信息標(biāo)識(shí)符<head>里:以下是引用片段:<

head><

style

type=”text/css”><

!—@import

“*.css”其它樣式表的聲明--><

/style><

/head>以@import開(kāi)頭的聯(lián)合樣式表輸入方法和鏈接樣式表的方法很相似,但聯(lián)合樣式表輸入方式更有優(yōu)勢(shì)。因?yàn)槁?lián)合法能夠在鏈接外部樣式表的同時(shí),針對(duì)該網(wǎng)頁(yè)的具體情況,做出別的網(wǎng)頁(yè)不需要的樣式規(guī)則。需要注意的是:聯(lián)合法輸入樣式表必須以@import開(kāi)頭。如果同時(shí)輸入多個(gè)樣式表有沖突的時(shí)候,將按照第一個(gè)輸入的樣式表對(duì)網(wǎng)頁(yè)排版。如果輸入的樣式表和網(wǎng)頁(yè)里的樣式規(guī)則沖突時(shí),使用外部的樣式表。2.5.3層疊樣式表的格式一般來(lái)說(shuō),樣式表的聲明分為選擇符(selector)和塊{}(block),塊里包含屬性(properties)和屬性的取值(value),基本格式如下:選擇符其它格式1:選擇符1,選擇符2,選擇符3有時(shí)候多個(gè)選擇符將使用相同的設(shè)置,為了簡(jiǎn)化代碼,我們能夠一次性為它們?cè)O(shè)置樣式,并在多個(gè)選擇符之間加上“,”來(lái)分隔它們。當(dāng)有多個(gè)屬性的時(shí)候,必須在兩個(gè)屬性之間用“;”來(lái)分隔。其它格式2:選擇符1選擇符2和格式1非常相似,只是在選擇符之間少加了“,”,但作用卻大不相同。表示如果選擇符2包括的內(nèi)容同時(shí)包括在選擇符1里的時(shí)候,所設(shè)置的樣式規(guī)則才起作用。2.5.4層疊樣式表的分類為了使網(wǎng)頁(yè)的格式不過(guò)分的單調(diào),必須得讓相同的選擇符也能分類,并能按照不同的類別來(lái)進(jìn)行不同的樣式設(shè)計(jì)?;靖袷饺缦拢哼x擇符.類別名類別名將能夠在HTML的標(biāo)識(shí)符里引用:<標(biāo)識(shí)符class=類別名>網(wǎng)頁(yè)內(nèi)容2.5.5層疊樣式表的偽類除了上述的分類方式外,為了使分類的使用更靈活多樣,又產(chǎn)生了偽類的概念。類和偽類有什么樣的區(qū)別呢?一般地說(shuō),選擇符能夠和多個(gè)類采用捆綁的形式來(lái)設(shè)定,這樣雖然能夠?yàn)橥粋€(gè)選擇符創(chuàng)立多種不同的樣式,但捆綁的形式同時(shí)也限制了設(shè)定的類為其它的選擇符所使用。偽類的產(chǎn)生就是為了解決這個(gè)問(wèn)題,每個(gè)預(yù)聲明的偽類都能夠被所有的HTML標(biāo)識(shí)符引用,當(dāng)然有些塊級(jí)內(nèi)容的設(shè)置除外?;靖袷饺缦拢?偽類名偽類能夠被任何標(biāo)識(shí)符在HTML里引用。<標(biāo)識(shí)符class=偽類名>網(wǎng)頁(yè)內(nèi)容

3系統(tǒng)概述教學(xué)管理系統(tǒng)集成了學(xué)生學(xué)籍管理系統(tǒng)、學(xué)生作業(yè)管理系統(tǒng)、學(xué)生檔案管理系統(tǒng)、等多種功能,因而具有較強(qiáng)的實(shí)用性和先進(jìn)性。3.1系統(tǒng)及需求分析3.1.1系統(tǒng)需求經(jīng)過(guò)調(diào)查,要求系統(tǒng)需要有以下功能:(1)由于操作人員的計(jì)算機(jī)知識(shí)普遍較差,要求有良好的人機(jī)界面;(2)由于該系統(tǒng)的使用對(duì)象多,要求有較好的權(quán)限管理;(3)原始數(shù)據(jù)修改簡(jiǎn)單方便,支持多條件修改(4)方便的數(shù)據(jù)查詢,支持多條件查詢;(5)在相應(yīng)的權(quán)限下,刪除數(shù)據(jù)方便簡(jiǎn)單,數(shù)據(jù)穩(wěn)定性好;(6)數(shù)據(jù)計(jì)算自動(dòng)完成,盡量減少人工干預(yù);3.1.2可行性分析由于本系統(tǒng)管理的對(duì)象單一,都是在校學(xué)生,且每個(gè)數(shù)據(jù)內(nèi)容具有較強(qiáng)的關(guān)聯(lián)性,涉及的計(jì)算過(guò)程不是很復(fù)雜。因此,比較適合于采用數(shù)據(jù)庫(kù)管理。且學(xué)校用于教學(xué)管理的微機(jī)都是PIII以上的機(jī)器,在存儲(chǔ)量、速度方面都能滿足數(shù)據(jù)庫(kù)運(yùn)行的要求。在技術(shù)難度方面,由于有指導(dǎo)老師的指導(dǎo)和相關(guān)參考文獻(xiàn),特別是網(wǎng)上資料,特別是參考其它程序的功能,因此完全能夠?qū)崿F(xiàn)。本系統(tǒng)的設(shè)計(jì)是在WindowsXP中文版操作系統(tǒng)環(huán)境下,使用ASP.NET開(kāi)發(fā)成功的。數(shù)據(jù)庫(kù)是管理信息系統(tǒng)(MIS)中的重要支持技術(shù),在MIS開(kāi)發(fā)過(guò)程中,如何選擇數(shù)據(jù)庫(kù)管理是一個(gè)重要的問(wèn)題,當(dāng)前,數(shù)據(jù)庫(kù)產(chǎn)品較多,每種產(chǎn)品都具有各自的特點(diǎn)和適用范圍,因此,在選擇數(shù)據(jù)庫(kù)時(shí),應(yīng)考慮數(shù)據(jù)庫(kù)應(yīng)用的特點(diǎn)及適用范圍,本系統(tǒng)選用的數(shù)據(jù)庫(kù)語(yǔ)言介紹如下:數(shù)據(jù)庫(kù)平臺(tái)選擇:所謂數(shù)據(jù)庫(kù),我們能夠把它形象地說(shuō)成是存儲(chǔ)數(shù)據(jù)的“倉(cāng)庫(kù)”。數(shù)據(jù)庫(kù)是為了滿足某一部門中多個(gè)用戶的多種應(yīng)用需要,按照一定的數(shù)據(jù)模型在計(jì)算機(jī)系統(tǒng)中組織、存儲(chǔ)和使用的互相聯(lián)系的數(shù)據(jù)集合。數(shù)據(jù)庫(kù)系統(tǒng)是管理大量的、持久的、可靠的、共享的數(shù)據(jù)的工具。就是同各種數(shù)據(jù)庫(kù)建立聯(lián)系,進(jìn)行溝通。按照ANSI(美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì))的規(guī)定,SQL被作為關(guān)系開(kāi)數(shù)據(jù)庫(kù)管理系統(tǒng)的標(biāo)準(zhǔn)語(yǔ)言。SQL語(yǔ)句能夠用來(lái)執(zhí)行各種各樣的操作,例如更新數(shù)據(jù)庫(kù)中的數(shù)據(jù),從數(shù)據(jù)庫(kù)中提取數(shù)據(jù)等。當(dāng)前,絕大多數(shù)的關(guān)系開(kāi)數(shù)據(jù)庫(kù)管理系統(tǒng),如Oracle、Sybase、MicrosoftSQLServer、Informix、IBMDB2等都采用了SQL語(yǔ)言標(biāo)準(zhǔn)。顯然很多數(shù)據(jù)庫(kù)產(chǎn)品都對(duì)SQL語(yǔ)句進(jìn)行了再開(kāi)發(fā)和擴(kuò)展,可是包括Select、Insert、Update、Create以及Drop在內(nèi)的標(biāo)準(zhǔn)的SQL命令依然能夠被用來(lái)完成幾乎所有的數(shù)據(jù)庫(kù)操作。SQL是英文StructureQueryLanguage的縮寫(xiě),意思為結(jié)構(gòu)化查詢語(yǔ)言。數(shù)據(jù)庫(kù)是教學(xué)管理系統(tǒng)的核心組成部分,所有信息處理子系統(tǒng)都將基于某種數(shù)據(jù)庫(kù)平臺(tái),以便將其處理的信息資源完整、安全地保存起來(lái),而且對(duì)其進(jìn)行各種管理和利用。選擇一個(gè)發(fā)的數(shù)據(jù)庫(kù)平臺(tái)是非常重要的。根據(jù)教學(xué)管理系統(tǒng)應(yīng)用的實(shí)際需要,在選擇數(shù)據(jù)庫(kù)平臺(tái)時(shí),應(yīng)考慮下列因素:(1)性能:數(shù)據(jù)庫(kù)的數(shù)據(jù)處理能力。(2)開(kāi)放性:數(shù)據(jù)庫(kù)是否能在多種操作系統(tǒng)下使用。(3)安全性:數(shù)據(jù)庫(kù)是否具有高度的安全性。(4)可靠性:數(shù)據(jù)庫(kù)是否具有高度的可靠性。(5)并行性:數(shù)據(jù)庫(kù)是否并行運(yùn)行在多節(jié)點(diǎn)上。(6)可操作性:數(shù)據(jù)庫(kù)在使用前是否需要復(fù)雜的培訓(xùn)。數(shù)據(jù)庫(kù)平臺(tái)選用的是MicroSoft公司的SQLServer,SQLServer是SQLServer的最新版本,比以前版本提高了性能、可靠性、質(zhì)量和易用性。MicrosoftSQLServer增加了幾種新的功能,由此成為大規(guī)模聯(lián)機(jī)事務(wù)處理(OLTP)、數(shù)據(jù)倉(cāng)庫(kù)和電子商務(wù)應(yīng)用程序的優(yōu)秀數(shù)據(jù)庫(kù)平臺(tái)。SQLServer擁有大型數(shù)據(jù)庫(kù)系統(tǒng)基本特征,但保持了windows環(huán)境下界面友好,操作簡(jiǎn)單的優(yōu)點(diǎn),成為windows環(huán)境下開(kāi)發(fā)中、小型C/S系統(tǒng)較流行的數(shù)據(jù)庫(kù)系統(tǒng)。與傳統(tǒng)的桌面數(shù)據(jù)庫(kù)系統(tǒng)相比SQLServer有以下區(qū)別:(1)面向集合與面向記錄。面向集合與面向記錄應(yīng)該是C/S系統(tǒng)與桌面數(shù)據(jù)庫(kù)系統(tǒng)的最本質(zhì)的區(qū)別。在桌面數(shù)據(jù)庫(kù)系統(tǒng)中,它得到的是整個(gè)數(shù)據(jù)表,面向的是整個(gè)數(shù)據(jù)表的所有記錄,因此,在桌面數(shù)據(jù)庫(kù)系統(tǒng)中,第一條;上一條、下一條、最后一條等概念是非常普遍的,而在C/S系統(tǒng)中沒(méi)有這些概念,因?yàn)榭蛻舫绦蛟谙蚍?wù)器發(fā)送服務(wù)請(qǐng)求時(shí),得到的數(shù)據(jù)能夠由一個(gè)或多個(gè)數(shù)據(jù)表的多個(gè)字段構(gòu)成,是服務(wù)器上所有數(shù)據(jù)的一個(gè)子集,它的請(qǐng)求是經(jīng)過(guò)SQL語(yǔ)句來(lái)實(shí)現(xiàn)的,因此在C/S系統(tǒng)中,它面向的是整個(gè)數(shù)據(jù)庫(kù)的一個(gè)子集合。(2)數(shù)據(jù)安全管理。SQL數(shù)據(jù)庫(kù)在數(shù)據(jù)安全性管理方面比桌面數(shù)據(jù)庫(kù)系統(tǒng)要強(qiáng)得多,它不但對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)進(jìn)行口令驗(yàn)證,而且它還能夠?qū)μ囟ǖ臄?shù)據(jù)庫(kù)對(duì)象進(jìn)行限制,包括視圖、數(shù)據(jù)表的存儲(chǔ)過(guò)程,更重要的是它能夠設(shè)置用戶權(quán)限,經(jīng)過(guò)Grant和Revoke命令向一個(gè)用戶或一組用戶授權(quán)或收權(quán)。(3)數(shù)據(jù)完整性管理。對(duì)于SQL數(shù)據(jù)庫(kù)而言,它允許在服務(wù)器端定義一些業(yè)務(wù)規(guī)則用于驗(yàn)證數(shù)據(jù)的完整性,強(qiáng)制所有的客戶端程序都必須接受相同的業(yè)務(wù)規(guī)則約束,這樣有利于集中維護(hù)這些規(guī)則。雖然桌面數(shù)據(jù)庫(kù)系統(tǒng)也能進(jìn)行數(shù)據(jù)完整性管理,可是它只能在應(yīng)用程序中定義這些驗(yàn)證規(guī)則,所有需要驗(yàn)證的地方都必須寫(xiě)入相同或相似的代碼,這樣不利于維護(hù)這樣規(guī)則。另外,SQL數(shù)據(jù)庫(kù)在完整性約束上,一般在創(chuàng)立數(shù)據(jù)表時(shí)就定義好的,它既能夠定義為數(shù)據(jù)表的一部分,也能夠經(jīng)過(guò)存儲(chǔ)過(guò)程或觸發(fā)器等形式從數(shù)據(jù)表中獨(dú)立出來(lái)。(4)數(shù)據(jù)庫(kù)的并發(fā)訪問(wèn)管理。SQL數(shù)據(jù)庫(kù)采用優(yōu)化鎖定策略,允許多個(gè)用戶能夠同時(shí)訪問(wèn)服務(wù)器而不互相干擾。這種技術(shù)并不限制客戶訪問(wèn)當(dāng)前正在被其它用戶訪問(wèn)的數(shù)據(jù)表,能夠照常對(duì)它進(jìn)行編輯(增、刪、改),并請(qǐng)求服務(wù)器保存修改的數(shù)據(jù)。桌面數(shù)據(jù)庫(kù)系統(tǒng)則明確地或完全地鎖定策略,也就是說(shuō)那些當(dāng)前正在被其它用戶使用的數(shù)據(jù)無(wú)法訪問(wèn),更無(wú)法編輯,如果試圖訪問(wèn)或修改這些數(shù)據(jù),系統(tǒng)產(chǎn)生錯(cuò)誤的提示信息。(5)事務(wù)控制。用于在系統(tǒng)發(fā)生錯(cuò)誤時(shí)保持?jǐn)?shù)據(jù)庫(kù)的一致性和完整性。每個(gè)更新SQLServer數(shù)據(jù)庫(kù)內(nèi)數(shù)據(jù)的應(yīng)用程序都使用事務(wù)完成這個(gè)任務(wù)。事務(wù)是由一系列語(yǔ)句(選擇、插入、更新或刪除)構(gòu)成的邏輯工作單元。如果在事務(wù)執(zhí)行過(guò)程中沒(méi)有遇到錯(cuò)誤,則事務(wù)中的所有修改成為數(shù)據(jù)庫(kù)的永久部分。如果遇到錯(cuò)誤,則不對(duì)數(shù)據(jù)庫(kù)做任何修改。桌面數(shù)據(jù)庫(kù)系統(tǒng)一般不提供事務(wù)控制功能。3.2系統(tǒng)的功能簡(jiǎn)介本系統(tǒng)主要能夠?qū)崿F(xiàn)以下的管理功能:班級(jí)管理、學(xué)生檔案管理、學(xué)生交費(fèi)管理、班級(jí)管理、作業(yè)管理等等。教學(xué)管理系統(tǒng)是一個(gè)典型的數(shù)據(jù)庫(kù)應(yīng)用程序,由班級(jí)管理、學(xué)生檔案管理、學(xué)生交費(fèi)管理、班級(jí)管理、作業(yè)管理等模塊組成。3.2.1系統(tǒng)管理模塊該模塊的主要任務(wù)是維護(hù)系統(tǒng)的正常運(yùn)行和安全性設(shè)置,包括添加用戶、修改密碼、重新登錄等等。3.2.2班級(jí)管理模塊該模塊的功能是實(shí)現(xiàn)對(duì)全校班級(jí)的管理工作,包括:班級(jí)游覽、班級(jí)添加、班級(jí)查詢等,這三個(gè)功能模塊各自獨(dú)立,完成班級(jí)的管理。3.2.3學(xué)生資料管理模塊該模塊的主要功能是實(shí)現(xiàn)對(duì)學(xué)生的個(gè)人信息的管理工作,包括資料添加、資料瀏覽等功能,從而方便學(xué)校管理部門對(duì)學(xué)校的基本情況的快速查詢和了解。3.2.4作業(yè)管理模塊該模塊對(duì)各個(gè)班級(jí)的學(xué)生作業(yè)進(jìn)行布置,布置作業(yè)而且能夠查詢已有的作業(yè)情況等功能。3.3系統(tǒng)開(kāi)發(fā)的目標(biāo)出于本系統(tǒng)是學(xué)校教學(xué)管理的一個(gè)綜合性的系統(tǒng),本系統(tǒng)的設(shè)計(jì)目標(biāo)將最終定位于完成以上所述的系統(tǒng)主要業(yè)務(wù)的基本模型上。

4系統(tǒng)流程分析4.1業(yè)務(wù)流程分析圖4-1班級(jí)管理業(yè)務(wù)流程圖圖4-2檔案管理業(yè)務(wù)流程圖圖4-3作業(yè)管理業(yè)務(wù)流程圖

4.2數(shù)據(jù)流程分析4.2.1數(shù)據(jù)流程圖由于本系統(tǒng)的數(shù)據(jù)模塊較多,下面僅以學(xué)生作業(yè)管理模塊為例來(lái)進(jìn)行編制。圖4-4教學(xué)作業(yè)管理系統(tǒng)0層數(shù)據(jù)流程圖圖4-5學(xué)生作業(yè)管理系統(tǒng)1層數(shù)據(jù)流程圖4.3數(shù)據(jù)存儲(chǔ)分析實(shí)體聯(lián)系圖(1)數(shù)據(jù)模型設(shè)計(jì)。首先來(lái)做出學(xué)生作業(yè)管理系統(tǒng)的E-R圖,分析這個(gè)問(wèn)題的實(shí)體,從系統(tǒng)分析能夠知道,學(xué)生的作業(yè)是由任課教師按照班級(jí)給出的,學(xué)生、班級(jí)、教師組成了這個(gè)系統(tǒng)的三個(gè)實(shí)體。(2)再分析三個(gè)實(shí)體之間的聯(lián)系。首先,這三個(gè)實(shí)體不是一個(gè)統(tǒng)一體,學(xué)生作業(yè)與教師沒(méi)有內(nèi)在聯(lián)系,教師必須經(jīng)過(guò)班級(jí)實(shí)體才能與學(xué)生建立聯(lián)系,因而先不考慮。班級(jí)與學(xué)生這兩個(gè)實(shí)體是多對(duì)多聯(lián)系;一位學(xué)生要學(xué)習(xí)多門班級(jí),一門班級(jí)有多位學(xué)生共同學(xué)習(xí)。而學(xué)習(xí)作業(yè)是這兩個(gè)實(shí)體“學(xué)生”和“作業(yè)”共有的屬性,應(yīng)填在二者的聯(lián)系“學(xué)習(xí)”邊。這個(gè)E-R圖可畫(huà)成下圖。圖4-6作業(yè)管理系統(tǒng)中學(xué)生與班級(jí)的E-R圖教師與班級(jí)這兩個(gè)實(shí)體之間,是一對(duì)多聯(lián)系;一位教師能夠都多個(gè)班級(jí),而一門班級(jí)對(duì)于學(xué)生作業(yè)來(lái)說(shuō)只能有一位教師(英語(yǔ)、高等數(shù)學(xué)有多位教師教,但對(duì)某個(gè)固定的學(xué)生來(lái)說(shuō)只能有一位教師)。其E-R圖,如下所示。圖4-7教師與班級(jí)的E-R圖教師與班級(jí)的E-R圖組合到一起,得到最后的E-R圖,有了E-R圖,就能夠設(shè)計(jì)數(shù)據(jù)庫(kù)。下圖為數(shù)據(jù)模型圖。圖4-8數(shù)據(jù)模型圖

5系統(tǒng)設(shè)計(jì)5.1軟件模塊結(jié)構(gòu)設(shè)計(jì)5.1.1系統(tǒng)方案確定經(jīng)過(guò)對(duì)系統(tǒng)的調(diào)研與分析,系統(tǒng)主要應(yīng)完成的功能有:班級(jí)管理、學(xué)生作業(yè)管理、系統(tǒng)管理等功能。5.1.2軟件結(jié)構(gòu)設(shè)計(jì)本系統(tǒng)在執(zhí)行時(shí),先根據(jù)不同的操作人員的需要來(lái)進(jìn)行相應(yīng)的模塊,然后能夠輸入數(shù)據(jù)或者進(jìn)行其它的查詢或?yàn)g覽等操作;總體來(lái)說(shuō),本系統(tǒng)屬于一個(gè)事務(wù)型管理系統(tǒng)。圖5-1結(jié)構(gòu)設(shè)計(jì)圖5.2數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)采用了Microsoft推出的SQL數(shù)據(jù)庫(kù),這是微軟集成到Office中的一個(gè)桌面數(shù)據(jù)庫(kù),能夠快速方便的和Office的其它套件綜合使用。由于SQL具有顯著的簡(jiǎn)易性和有效性,大量的桌面數(shù)據(jù)庫(kù)系統(tǒng)都采用SQL作為后臺(tái)數(shù)據(jù)庫(kù)。使用SQL的好處還在于,如果你的系統(tǒng)擴(kuò)展到Client/Server模式的時(shí)候,能夠使用Microsoft的數(shù)據(jù)庫(kù)服務(wù)器軟件SQLServer,此時(shí),程序只需要簡(jiǎn)單的修改一下鏈接(ADO的數(shù)據(jù)源)就能夠,這樣,為程序的平滑擴(kuò)展提供了非常有力的條件?;緮?shù)據(jù)表設(shè)計(jì)以及權(quán)限設(shè)置如下:圖5-2Class_student關(guān)聯(lián)學(xué)生和班級(jí)的,學(xué)生的學(xué)號(hào)作為本表的主鍵。圖5-3Exercise_infor存放作業(yè)基本信息的表,練習(xí)號(hào)作為主鍵。圖5-4Exercise_update作業(yè)基本信息的更新表,學(xué)生的學(xué)號(hào)作為主鍵。圖5-5Notice_infor通知信息表,通知號(hào)作為主鍵。圖5-6Student_infor學(xué)生信息表,學(xué)生的學(xué)號(hào)作為主鍵。圖5-7Student_login學(xué)生注冊(cè)信息表,學(xué)生的學(xué)號(hào)作為主鍵。圖5-8teacher_login教師登錄信息表,教師號(hào)作為主鍵。數(shù)據(jù)表selectInsertupdatedeleteStudent_infor√√Student_login√√√Class_student√√√√N(yùn)otice_infor√Exercise_update√√√√Student_mark√Lab_infor√Exercise_infor√圖5-9學(xué)生權(quán)限表數(shù)據(jù)表selectInsertupdatedeleteStudent_infor√√√√Student_login√√√√Class_student√√√√N(yùn)otice_infor√√√√Exercise_update√√√√Student_mark√√√√Mark_rate√√√√Teacher_login√√√√Lab_infor√√√√Exercise_infor√√√√圖5-10教師權(quán)限表

6系統(tǒng)功能的實(shí)現(xiàn)6.1系統(tǒng)登錄圖6-1系統(tǒng)登錄界面本系統(tǒng)登錄身份有兩種:學(xué)生和教師。在下拉框中能夠選擇教師登錄。SelectCasestrTableName//根據(jù)選擇的用戶不同,用case來(lái)選擇用戶Case"student_login"conn.ConnectionString=ConfigurationSettings.AppSettings("DSN_student")//設(shè)置數(shù)據(jù)庫(kù)連接字符串strID="s_id"str_PW="sl_pwd"strPath="../network_course/student/index.aspx"strUserIdent="同學(xué)"Case"teacher_login"conn.ConnectionString=ConfigurationSettings.AppSettings("DSN_teacher")//設(shè)置數(shù)據(jù)庫(kù)連接字符串strID="T_id"str_PW="TL_pwd"strPath="../network_course/teacher/index.aspx"strUserIdent="老師"EndSelect以上代碼是處理下拉菜單選擇學(xué)生或老師的問(wèn)題,以及設(shè)置字段名和頁(yè)面跳轉(zhuǎn)字符串。cmd.CommandText="select*from"+strTableName+"where"+strID+"='"&TextBox1.Text&"'"'查詢語(yǔ)句Tryconn.Open() //打開(kāi)數(shù)據(jù)庫(kù)連接DimreaderAsIDataReaderreader=cmd.ExecuteReader()strpassword=TextBox2.TextIfreader.ReadThenstrRealPw=reader.Item(str_PW)IfTrim(strpassword)=Trim(strRealPw)Then//比較密碼和輸入bool1=falseElseLabel4.Text="密碼錯(cuò)誤!"bool1=FalseEndIfElseLabel4.Text="用戶名輸入錯(cuò)誤"bool1=trueEndIfreader.Close() CatchLabel4.Text="數(shù)據(jù)庫(kù)操作失敗,可能是服務(wù)器出現(xiàn)錯(cuò)誤,請(qǐng)稍后再試!"Finallyconn.Close()strpassword=""strRealPw=""EndTry以上代碼是驗(yàn)證用戶ID和密碼。兩個(gè)對(duì)象主體使用同一個(gè)驗(yàn)證,代碼簡(jiǎn)便易懂。6.2學(xué)生注冊(cè)圖6-2學(xué)生注冊(cè)界面DimdsnAsString=ConfigurationSettings.AppSettings("DSN_student")//設(shè)置數(shù)據(jù)庫(kù)連接字符串DimconnAsNewSqlClient.SqlConnectionconn.ConnectionString=dsnDimcmdAsIDbCommand=conn.CreateCommand()IfPage.IsValidThen//頁(yè)面驗(yàn)證成功 cmd.CommandText="select*fromstudent_inforwheres_id='"+number.Text+"'"Tryconn.Open()DimreaderAsIDataReaderreader=cmd.ExecuteReader()Ifreader.ReadThen'如果有此賬號(hào)//比較填寫(xiě)的真實(shí)姓名一欄的值和數(shù)據(jù)庫(kù)表項(xiàng)中的s_name內(nèi)容IfTrim(realname.Text)=Trim(reader.Item("s_name"))ThenIfreader.Item("s_iflogin")=TrueThen's_iflogin//字段表示學(xué)生是否已經(jīng)注冊(cè)Label1.Text="該用戶已經(jīng)注冊(cè)"Elsebool1=TrueLabel1.Text=""EndIfElseLabel1.Text="您所輸入的號(hào)碼和姓名不匹配,請(qǐng)重新填寫(xiě)"EndIfElseLabel1.Text="你所輸入的學(xué)號(hào),請(qǐng)重新填寫(xiě)"EndIfreader.Close()CatchLabel1.Text="數(shù)據(jù)庫(kù)操作失敗,可能是服務(wù)器出現(xiàn)錯(cuò)誤,請(qǐng)稍后再試!"Finallyconn.Close()EndTryElseLabel1.Text="頁(yè)面有錯(cuò)誤"EndIf//sql2表示插入語(yǔ)句中values中的值Dimsql2AsString="'"+number.Text+"','"+realname.Text+"','"+username.Text+"','"+password1.Text+"','"+DateTime.Now.Date+"','"+email.Text+"','"+phone.Text+"','"+memo.Text+"'"Ifbool1Then'如果此用戶賬號(hào)存在、而且未注冊(cè)bool1=False//插入注冊(cè)信息cmd.CommandText="insertintostudent_login(S_ID,SL_RNAME,SL_NAME,SL_Pwd,SL_Date,SL_email,SL_phone,SL_memo)values("+sql2+")"Tryconn.Open()cmd.ExecuteReader()bool2=TrueCatchLabel1.Text="數(shù)據(jù)庫(kù)操作失敗,可能是服務(wù)器出現(xiàn)錯(cuò)誤,請(qǐng)稍后再試!"bool2=FalseFinallyconn.Close()EndTryIfbool2Then'判斷在注冊(cè)是是否出現(xiàn)意外情況,//將student_infor的對(duì)應(yīng)項(xiàng)的s_iflogin置為,表示已經(jīng)注冊(cè)過(guò)了cmd.CommandText="UPDATEstudent_inforSETs_iflogin='1'WHERE(s_id='"+number.Text+"')"Tryconn.Open()cmd.ExecuteReader()CatchLabel1.Text="數(shù)據(jù)庫(kù)操作失敗,可能是服務(wù)器出現(xiàn)錯(cuò)誤,請(qǐng)稍后再試!"Finallyconn.Close()EndTry//顯示注冊(cè)成功信息Panel1.Visible=FalsePanel2.Visible=TrueEndIfEndIf

6.3學(xué)生用戶圖6-3學(xué)生用戶界面Dimstudent_idAsString=Request.Cookies("userInf").Values("userID")IfDateTime.Now.Hour>=6AndDateTime.Now.Hour<12ThenspWelMessage.InnerHtml="早上好,"&Request.Cookies("userInf").Values("userID")&Request.Cookies("userInf").Values("userIdent")ElseIfDateTime.Now.Hour>=12AndDateTime.Now.Hour<18ThenspWelMessage.InnerHtml="下午好,"&Request.Cookies("userInf").Values("userID")&Request.Cookies("userInf").Values("userIdent")ElsespWelMessage.InnerHtml="晚上好,"&Request.Cookies("userInf").Values("userID")&Request.Cookies("userInf").Values("userIdent")EndIfDimdsnAsString=ConfigurationSettings.AppSettings("DSN_student")DimconnAsNewSqlClient.SqlConnectionconn.ConnectionString=dsnDimcmdAsNewSqlClient.SqlCommandcmd.Connection=connDimds1AsDataSet=NewDataSetDimmydap1AsNewSqlClient.SqlDataAdaptercmd.CommandText="selecttop10*fromnotice_infororderbynu_datedesc"mydap1.SelectCommand=cmdTryconn.Open()mydap1.Fill(ds1,"teachingnotice_top10")myDataList.DataSource=ds1.Tables("teachingnotice_top10")myDataList.DataBind()CatchexAsExceptionFinallyconn.Close()EndTry//綁定個(gè)人基本信息的學(xué)號(hào)、姓名兩項(xiàng)cmd.CommandText="SELECT*FROMstudent_inforWHEREs_id='"+student_id+"'"Tryconn.Open()mydap1.SelectCommand=cmdmydap1.Fill(ds1,"student_infor")Dimmytable1AsNewDataTablemytable1=ds1.Tables("student_infor")Ifmytable1.Rows.Count=0ThenTextBox1.Text="無(wú)!"TextBox2.Text="無(wú)!"ElseTextBox1.Text=mytable1.Rows(0)("s_id")TextBox2.Text=mytable1.Rows(0)("s_name")EndIfCatchexAsExceptionFinallyconn.Close()EndTry//綁定個(gè)人基本信息的班號(hào)、座號(hào)兩項(xiàng)cmd.CommandText="SELECT*FROMclass_studentWHEREs_id='"+student_id+"'"Tryconn.Open()mydap1.SelectCommand=cmdmydap1.Fill(ds1,"class_student")Dimmytable2AsNewDataTablemytable2=ds1.Tables("class_student")Ifmytable2.Rows.Count=0ThenTextBox3.Text="無(wú)!"TextBox4.Text="無(wú)!"ElseTextBox3.Text=mytable2.Rows(0)("class_id")TextBox4.Text=Trim(mytable2.Rows(0)("group_id"))+Trim(mytable2.Rows(0)("seat_id"))EndIfCatchexAsExceptionFinallyconn.Close()EndTry該段代碼實(shí)現(xiàn)了學(xué)生用戶頁(yè)面初始化功能。6.4教師用戶圖6-4教師用戶界面Dimteacher_idAsString=Request.Cookies("userInf").Values("userID")IfDateTime.Now.Hour>=6AndDateTime.Now.Hour<12ThenspWelMessage.InnerHtml="早上好,"&Request.Cookies("userInf").Values("userID")&Request.Cookies("userInf").Values("userIdent")ElseIfDateTime.Now.Hour>=12AndDateTime.Now.Hour<18ThenspWelMessage.InnerHtml="下午好,"&Request.Cookies("userInf").Values("userID")&Request.Cookies("userInf").Values("userIdent")ElsespWelMessage.InnerHtml="晚上好,"&Request.Cookies("userInf").Values("userID")&Request.Cookies("userInf").Values("userIdent")EndIfDimdsnAsString=ConfigurationSettings.AppSettings("DSN_teacher")DimconnAsNewSqlClient.SqlConnectionconn.ConnectionString=dsnDimcmdAsNewSqlClient.SqlCommandcmd.Connection=connDimds1AsDataSet=NewDataSetDimmydap1AsNewSqlClient.SqlDataAdaptercmd.CommandText="selecttop10*fromnotice_infororderbynu_datedesc"mydap1.SelectCommand=cmdTryconn.Open()mydap1.Fill(ds1,"teachingnotice_top10")myDataList.DataSource=ds1.Tables("teachingnotice_top10")myDataList.DataBind()CatchFinallyconn.Close()EndTry該段代碼實(shí)現(xiàn)了教師用戶頁(yè)面初始化功能。6.5班級(jí)管理圖6-5班級(jí)管理界面cmd.CommandText="selectstudent_infor.s_id,student_infor.s_name,group_id,seat_idfromstudent_infor,class_studentwherestudent_infor.s_id=class_student.s_idandclass_id='"+DropDownList1.SelectedItem.Value+"'orderbyseat_idasc"Tryconn.Open()mydap1.Fill(ds1,"student_class_infor")DataGrid1.DataSource=ds1.Tables("student_class_infor")DataGrid1.DataBind()CatchLabel2.Text="讀取數(shù)據(jù)庫(kù)失敗,可能是服務(wù)器出現(xiàn)錯(cuò)誤,請(qǐng)稍后再試!"Finallyconn.Close()EndTry//計(jì)算該班的人數(shù)cmd.CommandText="select*fromclass_studentwhereclass_id='"+DropDownList1.SelectedItem.Value+"'"Tryconn.Open()mydap1.Fill(ds1,"class_student_count")Label1.Text=ds1.Tables("class_student_count").Rows.CountCatchLabel2.Text="讀取班級(jí)學(xué)生表失敗,可能是服務(wù)器出現(xiàn)錯(cuò)誤,請(qǐng)稍后再試!"Finallyconn.Close(

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論