圖書館管理系統(tǒng)設(shè)計與實現(xiàn)_第1頁
圖書館管理系統(tǒng)設(shè)計與實現(xiàn)_第2頁
圖書館管理系統(tǒng)設(shè)計與實現(xiàn)_第3頁
圖書館管理系統(tǒng)設(shè)計與實現(xiàn)_第4頁
圖書館管理系統(tǒng)設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

目錄TOC\o"1-3"\h\u摘要 .ⅠABSTRACT Ⅱ第一章緒論 11.1課題背景 11.2課題目標(biāo) 11.3開發(fā)環(huán)境 21.4課題相關(guān)知識簡介 2數(shù)據(jù)庫相關(guān)技術(shù)簡介 2ASP.NET概述 4WEB站點開發(fā)基礎(chǔ) 5IIS簡介 6第二章系統(tǒng)概要設(shè)計 92.1需求分析 92.2系統(tǒng)總體業(yè)務(wù)流程設(shè)計 92.3數(shù)據(jù)庫設(shè)計 102.4公共類設(shè)計 17第三章系統(tǒng)各模塊詳細(xì)設(shè)計與實現(xiàn) 203.1網(wǎng)站首頁設(shè)計 20網(wǎng)站首頁概述 20網(wǎng)站首頁技術(shù)分析 20網(wǎng)站首頁的實現(xiàn) 213.2管理員設(shè)置模塊 23管理員設(shè)置模塊概述 23管理員設(shè)置模塊技術(shù)分析 24查看管理員信息頁的實現(xiàn) 25管理員權(quán)限設(shè)置頁的實現(xiàn)過程 273.3圖書檔案管理模塊設(shè)計 27圖書檔案管理模塊概述 27圖書檔案管理模塊技術(shù)分析 29查看圖書詳細(xì)信息頁面的實現(xiàn) 31添加和修改圖書信息頁面的實現(xiàn) 323.4圖書借還模塊設(shè)計 34圖書借還模塊概述 34圖書借還模塊技術(shù)分析 36圖書借閱頁面的實現(xiàn) 37圖書續(xù)借的實現(xiàn) 37圖書歸還頁面的實現(xiàn) 383.5圖書信息檢索模塊設(shè)計 38圖書檔案檢索 38圖書借閱信息檢索 40圖書信息檢索的實現(xiàn) 413.6系統(tǒng)文件清單 423.7水晶報表 43第四章IIS的配置 44第五章總結(jié) 47結(jié)束語 48參考文獻(xiàn) 49摘要隨著Internet的不斷普及,人們對于互聯(lián)網(wǎng)技術(shù)的要求已不單單是瀏覽一下網(wǎng)頁,收發(fā)電子郵件。日益忙碌的人們開始追求足不出戶的利用互聯(lián)網(wǎng)這一強(qiáng)大的平臺來實現(xiàn)查詢。WEB網(wǎng)站加上數(shù)據(jù)庫技術(shù)的運用,大大簡化了WEB設(shè)計管理人員的維護(hù)工作量,使用數(shù)據(jù)庫可以帶來許多好處:如減少了數(shù)據(jù)的冗余度,從而大大地節(jié)省了數(shù)據(jù)的存儲空間;實現(xiàn)數(shù)據(jù)資源的充分共享等等。此外,數(shù)據(jù)庫技術(shù)還為用戶提供了非常簡便的使用手段使用戶易于編寫有關(guān)數(shù)據(jù)庫應(yīng)用程序。運用ASP技術(shù)和網(wǎng)絡(luò)數(shù)據(jù)庫原理,基于B/S模式開發(fā)了一個圖書館管理系統(tǒng)。在此系統(tǒng)中,讀者可以很方便的對圖書進(jìn)行瀏覽檢索,讀者在檢索時,可以通過輸入圖書條形碼、書名關(guān)鍵字、圖書類別、出版社名稱、作者名字來查看圖書的詳細(xì)資料,然后根據(jù)各人的喜好借閱心儀的圖書。系統(tǒng)管理員則可以對現(xiàn)有的圖書和書架信息進(jìn)行添加和編輯,審查用戶的借閱情況并對用戶信息進(jìn)行管理。其中圖書條形碼是根據(jù)圖書編輯入庫時間隨機(jī)生成的,讀者條形碼也是根據(jù)讀者借閱圖書的時間隨機(jī)生成。關(guān)鍵詞:數(shù)據(jù)庫,圖書管理,IIS服務(wù)器,瀏覽器/服務(wù)器模式ABSTRACTWiththecontinuingpopularityoftheInternet,thedemandofpeopleforInternettechnologyisnotjustaboutbrowsingthewebpage,sendingandreceivinge-mail.IncreasinglybusypeoplebegantopursuetousetheInternetwhichisastrongplatformtoachievetheseinquirieswithoutleavinghome.WEBsitewiththeuseofdatabasetechnology,greatlysimplifiesthemaintenanceworkloadoftheWEBdesignmanagers.Theuseofdatabasecanbringmanybenefits:Suchasthereduceddataredundancy,whichgreatlysavesthedatastoragespace;Toachievefullsharingofthedataresourcesandsoon.Inaddition,Thedatabasetechnologyalsooffersusersaveryeasytooltoallowuserstowritethedatabaseapplicationseasily.UsingtheASPtechnologyandthePrinciplesofnetworkdatabase,basedontheB/SmodelIdevelopedaLibraryManagementSystem.Inthissystem,readerscaneasilybrowseandsearchforthebooks,whenreaderssearchforthebooks,theycanentertheLibraryBarCode、thekeywordsofBooksName、theBookCategory、thenameofPublishingHouseandtheauthornametoviewthebookdetails,thenborrowthefavoritebooksaccordingtotheirpreferences.Systemadministratorscanaddandedittotheexistingbooksandshelvesinformation,reviewtheusers’loansituationandmanagetheusers’information.TheLibrarybarcodeisgeneratedrandomlybasedonthestoragetimeofbooksandthereadersbarcodeisalsogeneratedrandomlybasedonthereaders’borrowtime.KEYWORDS:database,Librarymanagement,IISServer,Browser/ServerMode第一章緒論1.1課題背景一直以來人們使用傳統(tǒng)的人工方式管理圖書館的日常工作,在計算機(jī)尚未在圖書館廣泛使用之前,借書和還書過程主要依靠手工。一個最典型的手工處理還書過程就是:讀者將要借的書和借閱證交給工作人員,工作人員將每本書上附帶的描述書的信息的卡片和讀者的借閱證放在一個小格欄里,并在借閱證和每本書貼的借閱條上填寫借閱信息。這樣借書過程就完成了。還書時,讀者將要還的書交給工作人員,工作人員根據(jù)圖書信息找到相應(yīng)的書卡和借閱證,并填好相應(yīng)的還書信息,這樣還書過程就完成了。隨著計算機(jī)的廣泛應(yīng)用,則需要利用計算機(jī)管理圖書館的日常工作。

由于各圖書館的圖書的數(shù)量不斷增多和圖書館規(guī)模的不斷擴(kuò)大,管理這些龐大的體系是非常困難的。因為圖書的情況是隨時改變的,因此必需對圖書進(jìn)行動態(tài)的管理,而這對于一個管理人員來說是一件比較復(fù)雜的事情,存儲,查詢,借閱都是必不可少的業(yè)務(wù)。圖書館管理系統(tǒng)的流通部分是所有圖書館系統(tǒng)中最重要的部分。流通系統(tǒng)將讀者與圖書,讀者與管理員,讀者與讀者相互間聯(lián)系起來,而且流通系統(tǒng)處理的數(shù)據(jù)類型多,數(shù)量大,精細(xì)且頻繁。為了能讓管理員從繁重的工作中解脫出來,使管理員在使用一個軟件以后能極其容易地對所有圖書進(jìn)行管理,并且準(zhǔn)確無誤,輕松自如。因此開發(fā)一個切實有效的圖書館管理系統(tǒng)使其高質(zhì)量,高效率地管理系統(tǒng)流通部門的全部功能是非常必要的,也是本論文選題的重要意義和研究宗旨。隨著計算機(jī)的迅速發(fā)展,國內(nèi)外已經(jīng)存在許多功能相似的圖書管理系統(tǒng)。目前,國際上大多數(shù)發(fā)達(dá)國家的圖書館基本上實現(xiàn)了電腦管理,尤其是那些較大型的圖書館還采用了大型數(shù)據(jù)庫開發(fā)的軟件,部分大型圖書館也使用Foxpro、SQLServer等。而基于Access數(shù)據(jù)庫的多數(shù)是中小型圖書館。但在大多數(shù)不發(fā)達(dá)國家,基于SQLServer數(shù)據(jù)庫的圖書館管理信息系統(tǒng)應(yīng)用得很廣泛。而在中國,許多中小型圖書館用的還是手工圖書管理,大多數(shù)圖書館對計算機(jī)管理信息還沒有一定的認(rèn)識,而SQLServer數(shù)據(jù)庫具有使用方便、學(xué)習(xí)簡單、易學(xué)易用的特點,所以基于SQLServer數(shù)據(jù)庫在非發(fā)達(dá)國家有著很廣闊的發(fā)展前景。但由于信息量的迅速增加,就要求對圖書管理更智能化、系統(tǒng)化、信息化。1.2課題目標(biāo)根據(jù)圖書館日常管理工作的需求和圖書借閱的管理流程,該系統(tǒng)實施后,應(yīng)該達(dá)到以下目標(biāo)。界面設(shè)計友好、美觀,數(shù)據(jù)存儲安全、可靠。基本信息設(shè)置保證圖書信息和讀者信息的分類管理。強(qiáng)大的查詢功能,保證數(shù)據(jù)查詢的靈活性。實現(xiàn)對圖書借閱、續(xù)借、歸還過程的全程數(shù)據(jù)信息跟蹤。設(shè)置讀者借閱和圖書借閱排行榜,為圖書館提供真實的數(shù)據(jù)信息。提供借閱到期提醒功能,使管理者可以及時了解已經(jīng)到期的圖書借閱信息。提供管理員修改自己密碼的功能,保證系統(tǒng)的安全性。提供靈活、方便的權(quán)限設(shè)置功能,使整個系統(tǒng)的管理分工明確。系統(tǒng)最大限度地實現(xiàn)了易維護(hù)性和易操作性。1.3開發(fā)環(huán)境1.網(wǎng)站開發(fā)環(huán)境網(wǎng)站開發(fā)環(huán)境:MicrosoftVisualStutio2005網(wǎng)站開發(fā)語言:ASP.NET+C#網(wǎng)站后臺數(shù)據(jù)庫:SQLServer2000開發(fā)環(huán)境運行平臺:WindowsXP(SP2)/Windows2000(SP4)/WindowsServer2003(SP1)服務(wù)器端操作系統(tǒng):WindowsServer2003(SP1)。Web服務(wù)器:Internet信息服務(wù)管理器。數(shù)據(jù)庫服務(wù)器:SQLServer2000。瀏覽器:IE6.0。網(wǎng)站服務(wù)器運行環(huán)境:Microsoft.NETFrameworkSDKv2.0。3.客戶端瀏覽器:InternetExplorer6.0。分辨率:最佳效果1024*768像素。1.4課題相關(guān)知識簡介1.4.1數(shù)據(jù)庫相關(guān)技術(shù)簡介數(shù)據(jù)庫編程主要包括與Access和SQLServer2000這些常用數(shù)據(jù)庫的鏈接。1.Access數(shù)據(jù)庫是目前應(yīng)用十分廣泛的桌面型數(shù)據(jù)庫,它主要應(yīng)用于各種小型的管理信息系統(tǒng)中。除了能夠作為各種編程語言的后臺數(shù)據(jù)庫之外,Access本身也是一種好的數(shù)據(jù)庫開發(fā)工具。Access數(shù)據(jù)庫是Microsoft的Office辦公套件的重要組成部分,其特點如下:(1)提供了數(shù)據(jù)庫中最常用的功能,使用便捷。(2)系統(tǒng)資源占用低,不需要數(shù)據(jù)庫服務(wù)器的支持。(3)與Office辦公組件緊密集成,交換數(shù)據(jù)非常方便。(4)與SQLServer無縫集成,便于將數(shù)據(jù)庫遷移到SQLServer上。其缺點是無法支持較大的數(shù)據(jù)量,并且不支持?jǐn)?shù)據(jù)庫的高級特性(并發(fā)訪問和事務(wù)處理等)。但由于其快速、小巧且靈活,所以被小型信息管理系統(tǒng)將其作為后臺數(shù)據(jù)庫。2.SQLServer是一個后臺數(shù)據(jù)庫管理系統(tǒng),其功能強(qiáng)大、操作簡便,深得廣大數(shù)據(jù)庫用戶的喜愛。目前,越來越多的開發(fā)工具提供了與SQLServer的接口。了解和掌握SQLServer的功能,對于一個數(shù)據(jù)庫開發(fā)人員來說是非常必要的。SQLServer2000是Microsoft公司推出的SQLServer數(shù)據(jù)庫管理系統(tǒng)的最新版本,該版本不但繼承了SQLServer7.0版本的優(yōu)點,而且增加了許多更先進(jìn)的功能。具有使用方便、可伸縮性好并與相關(guān)軟件集成程度高等優(yōu)點,可跨越從運行MicrosoftWindows98的膝上型計算機(jī)到運行MicrosoftWindows2000的大型多處理的服務(wù)器等多種平臺。數(shù)據(jù)庫是數(shù)據(jù)管理技術(shù),信息資源已成為各個部門的重要資源。數(shù)據(jù)庫系統(tǒng)指在計算機(jī)系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng),一般是由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、應(yīng)用程序、數(shù)據(jù)庫管理員,以及終端用戶組成。在一般情況下也可以將數(shù)據(jù)庫系統(tǒng)稱為“數(shù)據(jù)庫”。數(shù)據(jù)庫有很多種分類,目前使用的數(shù)據(jù)庫主要以關(guān)系數(shù)據(jù)庫為主。關(guān)系數(shù)據(jù)庫的主要特點之一就是用表組織數(shù)據(jù),表是最基本的數(shù)據(jù)庫對象,是SQL語言存放數(shù)據(jù)、查找數(shù)據(jù),以及更新數(shù)據(jù)的基本數(shù)據(jù)結(jié)構(gòu)。在SQL語言中,表示一種二維數(shù)據(jù)對象,由行和列組成,用于存儲關(guān)系數(shù)據(jù)庫中的數(shù)據(jù),每個表存儲有關(guān)由數(shù)據(jù)庫建模的對象的信息。表中,列由同類的信息組成,稱為“一個字段”,每列的標(biāo)題稱為“字段名”。一行稱為“一條記錄”,一個數(shù)據(jù)庫表由若干條記錄組成。表中每一個屬性組可以惟一確定一條記錄,稱之為“主鍵”。視圖是建立在表基礎(chǔ)上的數(shù)據(jù)庫對象,為了用戶查詢方便或根據(jù)數(shù)據(jù)庫安全需要建立的虛擬表。它同樣具有字段與數(shù)據(jù)項,外表與表一樣。視圖中的數(shù)據(jù)可以來源或多個表,視圖中任何的操作都不會影響到基本表。存儲過程是為了完成特定的功能而聚集在一起的一組SQL語言,這些語句可以高效率的完成指定的數(shù)據(jù)庫操作。數(shù)據(jù)庫中的索引與書籍中的索引類似,在一本書中,利用索引可以快速查找所需信息。在數(shù)據(jù)庫中,索引使數(shù)據(jù)庫程序無需掃描整個表,即可在其中找到所需數(shù)據(jù)。數(shù)據(jù)庫中的索引是一個表中所包含的列表,其中注明了表中包含各個值的行所在的存儲位置。在數(shù)據(jù)庫的管理和維護(hù)過程中,保證數(shù)據(jù)庫的完整性是至關(guān)重要的,觸發(fā)器是一種實施復(fù)雜的完整性約束的特殊存儲過程。當(dāng)使用INSERT,DELETE,UPDATE命令對觸發(fā)器所保護(hù)的數(shù)據(jù)進(jìn)行修改時,它能被系統(tǒng)自動激活,用來防止對數(shù)據(jù)進(jìn)行不正確、未授權(quán)或不一致的修改。觸發(fā)器不同于一般的存儲過程,它不可以使用EXECUTE語句來執(zhí)行。在數(shù)據(jù)庫的實際應(yīng)用中,為了保證數(shù)據(jù)的安全性,防止數(shù)據(jù)庫中的數(shù)據(jù)意外丟失,需要經(jīng)常對數(shù)據(jù)庫進(jìn)行備份。這樣一旦出現(xiàn)問題,就可以使用備份來進(jìn)行恢復(fù)。SQLServer2000提供了備份和還原數(shù)據(jù)庫組件,備份就是對SQLServer數(shù)據(jù)庫或事務(wù)日志進(jìn)行備份。數(shù)據(jù)備份記錄了在進(jìn)行備份這一操作時數(shù)據(jù)庫中所有數(shù)據(jù)的狀態(tài),以便在數(shù)據(jù)庫招到破壞時能夠及時的將其進(jìn)行恢復(fù)。系統(tǒng)在恢復(fù)數(shù)據(jù)庫的過程中,自動執(zhí)行安全性檢查、重建數(shù)據(jù)庫結(jié)構(gòu)以及完整的數(shù)據(jù)庫內(nèi)容【8】。1.4.2ASP.NET概述在最新的VisualStudio2005中,使用MicrosoftASP.NET2.0開發(fā)Web應(yīng)用程序。ASP.NET是一個統(tǒng)一的Web開發(fā)平臺,它提供了開發(fā)Web網(wǎng)站所必需的服務(wù)。ASP.NET是.NET框架的一部分,因此可以使用.NET框架中的所有類型和服務(wù)。通過ASP.NET,用戶可以使用面向?qū)ο蠛褪录?qū)動的方式來開發(fā)Web網(wǎng)站。ASP.NET是創(chuàng)建動態(tài)網(wǎng)頁的新技術(shù),它繼承了Microsoft公司的兩項主要技術(shù),即ASP和.NET。ASP.NET不僅可以動態(tài)生成Web頁面,而且提供了大量易用并可復(fù)用的預(yù)定義控件,使開發(fā)變得更便捷。ASP.NET是在ASP的基礎(chǔ)上而來的,具有與ASP相似的語法。ASP是一個統(tǒng)一的Web開發(fā)平臺,它提供了開發(fā)Web網(wǎng)站所必需的服務(wù)。ASP.NET是一個基于.NET的編譯化開發(fā)環(huán)境,與一般的Web開發(fā)技術(shù)相比,具有以下優(yōu)點。(1)優(yōu)良的性能:ASP.NET在服務(wù)器上運行經(jīng)過編譯的代碼,與ASP及其他技術(shù)相比,ASP.NET利用二次編譯、代碼優(yōu)化以及緩沖服務(wù)大大地提高了程序的性能。(2)豐富的工具支持,在新的VisualStudio開發(fā)環(huán)境中有許多簡單易用的控件,可以通過拖放來直接使用這些控件,使開發(fā)更加快捷。(3)強(qiáng)大的功能:ASP.NET可以使用.NET框架中功能強(qiáng)大的基礎(chǔ)類庫。(4)程序與頁面結(jié)構(gòu)的分離:ASP.NET實現(xiàn)的動態(tài)頁面允許把代碼和頁面結(jié)構(gòu)分離,使邏輯更加清晰,也使程序更加安全。(5)良好的可移植性和適用性:ASP.NET使用基于文本格式的存儲方式,在開發(fā)完成后只需要將頁面和代碼文件拷貝到服務(wù)器上即可使用,環(huán)境配置將不需要任何工具的幫助。(6)超強(qiáng)的擴(kuò)展性:ASP.NET允許開發(fā)人員開發(fā)自己的組件,并使用自己的組件構(gòu)建系統(tǒng)。ASP.NET2.0在ASP.NET的基礎(chǔ)上做出了重大改革,ASP.NET2.0開發(fā)小組考察了大量的網(wǎng)頁、站點和場景,在此基礎(chǔ)上創(chuàng)建了一組站點所有者的常見目標(biāo)。其中包含了大概20個目標(biāo),包括讀取數(shù)據(jù)、統(tǒng)一登錄和身份驗證的過程、一致的站點外觀,以及不同瀏覽器平臺頁面的定制。現(xiàn)在開發(fā)人員只需要簡單地將Microsoft在ASP.NET2.0中開發(fā)的組件裝配在一起,即可迅速地組建出一個復(fù)雜的站點,而且相對容易維護(hù)。這些控件將為頁面產(chǎn)生一些代碼,服務(wù)器將使用這些代碼創(chuàng)建頁面HTML代碼,并隨后將這些代碼發(fā)送到瀏覽器。由于發(fā)送的是HTML代碼,因此除了能顯示HTML和執(zhí)行一些簡單的JavaScript腳本之外,不需要瀏覽器有其他特殊功能【9】。1.4.3WEB站點開發(fā)基礎(chǔ)在VisualStudio2005中共支持4種用來創(chuàng)建及開發(fā)WebSite站點的方式。.文件系統(tǒng)。使用VisualStudio2005內(nèi)置的網(wǎng)站服務(wù)器。以往使用VisualStidio2003開發(fā)網(wǎng)頁一定要配合IIS(InternetInformationService)環(huán)境,VisualStudio2005已內(nèi)置網(wǎng)站服務(wù)器,可以將網(wǎng)站創(chuàng)建在文件系統(tǒng)的任何地方,而開發(fā)網(wǎng)站完全不需要IIS。用戶只要在個人計算機(jī)上安裝VisualStudio2005,即可設(shè)計、運行網(wǎng)頁。.本地IIS。當(dāng)然也可以使用本地的IIS當(dāng)作網(wǎng)站服務(wù)器。.FTP站點。在實際應(yīng)用上,通常有正式的網(wǎng)站服務(wù)器,這臺服務(wù)器可能放在機(jī)房。在VisualStudio2005中,可通過FTPSites直接遠(yuǎn)程創(chuàng)建網(wǎng)站,修改存儲代碼、運行網(wǎng)頁。.Remote站點。與FTP站點類似,可遠(yuǎn)程修改網(wǎng)站服務(wù)器代碼并對其運行、存儲,但必須通過FrontPageExtension驗證。在一個ASP.NET應(yīng)用程序中,有兩個特殊的文件:web.config和Global.asax。ASP.NET應(yīng)用程序配置信息的存儲是由web.config文件完成的,而Global.asax文件則用于實現(xiàn)對ASP.NET應(yīng)用程序的消息響應(yīng)(如Application_Start、Session_Start等)。web.config文件時Web應(yīng)用程序的配置文件,通過配置web.config文件,可以使Web應(yīng)用程序?qū)崿F(xiàn)很多功能,如:處理特定類型的請求;設(shè)置會話聲明,判斷會話狀態(tài)是在進(jìn)程中還是進(jìn)程外;設(shè)置瀏覽能力,自定義由HttpBrowserCapabilities類在遇到指定瀏覽器時返回的屬性;設(shè)置安全性,對某些特定的文件加以嚴(yán)格的安全限制;設(shè)置編譯條件,決定編譯ASP.NET應(yīng)用程序的設(shè)置,包括哪些外部程序集應(yīng)包含在應(yīng)用程序的編譯中等。1.4.4IIS簡介IIS的基本概念I(lǐng)IS(Inter-ICSoundbus)又稱I2S,是菲利浦公司提出的串行數(shù)字音頻總線協(xié)議。目前很多音頻芯片和MCU都提供了對IIS的支持。IIS總線只處理聲音數(shù)據(jù)。其他信號(如控制信號)必須單獨傳輸。為了使芯片的引出管腳盡可能少,IIS只使用了三根串行總線。這三根線分別是:提供分時復(fù)用功能的數(shù)據(jù)線、字段選擇線(聲道選擇)、時鐘信號線。IIS是InternetInformationServices的縮寫,是一個WorldWideWebserver。Gopherserver和FTPserver全部包容在里面。IIS意味著你能發(fā)布網(wǎng)頁,并且有ASP(ActiveServerPages)、JAVA、VBscript產(chǎn)生頁面,有著一些擴(kuò)展功能。IIS支持一些有趣的東西,象有編輯環(huán)境的界面(FRONTPAGE)、有全文檢索功能的(INDEXSERVER)、有多媒體功能的(NETSHOW)其次,IIS是隨WindowsNTServer4.0一起提供的文件和應(yīng)用程序服務(wù)器,是在WindowsNTServer上建立Internet服務(wù)器的基本組件。它與WindowsNTServer完全集成,允許使用WindowsNTServer內(nèi)置的安全性以及NTFS文件系統(tǒng)建立強(qiáng)大靈活的Internet/Intranet站點。IIS(InternetInformationServer,互聯(lián)網(wǎng)信息服務(wù))是一種Web(網(wǎng)頁)服務(wù)組件,其中包括Web服務(wù)器、FTP服務(wù)器、NNTP服務(wù)器和SMTP服務(wù)器,分別用于網(wǎng)頁瀏覽、文件傳輸、新聞服務(wù)和郵件發(fā)送等方面,它使得在網(wǎng)絡(luò)(包括互聯(lián)網(wǎng)和局域網(wǎng))上發(fā)布信息成了一件很容易的事。2.IIS的作用在同一時間內(nèi)允許打開的網(wǎng)站頁面數(shù),打開一個頁面占一個iis,打開一個站內(nèi)框架頁面占2到3個iis;若圖片等被盜鏈,在其它網(wǎng)站打開本站圖片同樣占一個iis。假若設(shè)置參數(shù)為50個iis,則這個站允許同時有50個頁面被打開。但要在同一時間(極短的時間)有50個頁面被打開,需要50個人同時操作,這個概率還是比較低的。所以,100個iis支持日ip1000(同時訪問網(wǎng)站人數(shù)必定遠(yuǎn)低于1000人)以上都不是很大問題,除非網(wǎng)站被盜鏈或框架引發(fā)其它消耗。IIS的各種版本IIS版本W(wǎng)indows版本備注IIS1.0WindowsNT3.51ServicePack3s@bkIIS2.0WindowsNT4.0s@bkIIS3.0WindowsNT4.0ServicePack3開始支持ASP的運行環(huán)境IIS4.0WindowsNT4.0OptionPack支持ASP3.0IIS5.0Windows2000在安裝相關(guān)版本的.NetFrameWork的RunTime之后,可支持ASP.NET1.0/1.1/2.0的運行環(huán)境IIS6.0WindowsServer2003WindowsVistaHomePremiumWindowsXPProfessionalx64Editions@bkIIS7.0WindowsVistaWindowsServer2008s@bkIIS3.IIS的重要特性IIS支持與語言無關(guān)的腳本編寫和組件,通過IIS,開發(fā)人員就可以開發(fā)新一代動態(tài)的,富有魅力的Web站點。IIS不需要開發(fā)人員學(xué)習(xí)新的腳本語言或者編譯應(yīng)用程序,IIS完全支持VBScript,JScript開發(fā)軟件以及Java,它也支持CGI和WinCGI,以及ISAPI擴(kuò)展和過濾器。

IIS的設(shè)計目的是建立一套集成的服務(wù)器服務(wù),用以支持HTTP,F(xiàn)TP和SMTP,它能夠提供快速且集成了現(xiàn)有產(chǎn)品,同時可擴(kuò)展的Internet服務(wù)器。

IIS相應(yīng)性極高,同時系統(tǒng)資源的消耗也是最少,IIS的安裝,管理和配置都相當(dāng)簡單,這是因為IIS與WindowsNTServer網(wǎng)絡(luò)操作系統(tǒng)緊密的集成在一起,另外,IIS還使用與WindowsNTServer相同的SAM(SecurityAccountsManager,安全性賬號管理器),對于管理員來說,IIS使用諸如PerformanceMonitor和SNMP(SimpleNerworkManagementProtocol,簡單網(wǎng)絡(luò)管理協(xié)議)之類的NT已有管理工具。

IIS支持ISAPI,使用ISAPI可以擴(kuò)展服務(wù)器功能,而使用ISAPI過濾器可以預(yù)先處理和事后處理儲存在IIS上的數(shù)據(jù)。用于32位Windows應(yīng)用程序的Internet擴(kuò)展可以把FTP,SMTP和HTTP協(xié)議置于容易使用且任務(wù)集中的界面中,這些界面將Internet應(yīng)用程序的使用大大簡化,IIS也支持MIME(MultipurposeInternetMailExtensions,多用于Internet郵件擴(kuò)展),它可以為Internet應(yīng)用程序的訪問提供一個簡單的注冊項。4.IIS的安裝、管理及安全性(1)IIS的安裝IIS可以在WindowsNT安裝時安裝,也可以安裝完Windowsserver后用“控制面板”中的“添加/刪除程序”安裝,安裝路徑為光盤中的:i386\inetsrv\inetstp.exe。安裝過程中要求添加相應(yīng)的ODBC驅(qū)動程序。(2)IIS的管理IIS通過ISM(InternetServiceManager)進(jìn)行管理,ISM有兩個版本,一個以普通應(yīng)用程序的方式運行,一個在Web瀏覽器中運行,二者的差別在于后者不能啟動和停止Internet服務(wù)。ISM(應(yīng)用程序方式)管理界面:在“查看”菜單中選擇“查看報告”、“服務(wù)器查看”、“服務(wù)查看”可以得到三種視圖:報告視圖缺省的視圖,按字母順序依次顯示所選擇的計算機(jī)及其上安裝的服務(wù)。通過該視圖可以:連到服務(wù)器并顯示其屬性對話框;啟動、停止或暫停服務(wù);可選擇顯示哪些服務(wù)(FTP、WWW、GOPHER)。服務(wù)器視圖顯示網(wǎng)絡(luò)上運行Internet服務(wù)的計算機(jī)名。打開該計算機(jī)可以看到正在運行的Internet服務(wù)。雙擊服務(wù)器名可以顯示其屬性對話框。服務(wù)視圖列出所有的Internet服務(wù)。打開服務(wù)可以看到哪些計算機(jī)運行該服務(wù)。雙擊服務(wù)下的計算機(jī)名,可以打開該計算機(jī)上的服務(wù)屬性對話框。(3)IIS的安全性IIS的安全性核心依賴于WindowsServer內(nèi)置的安全機(jī)制,IIS自身也內(nèi)置了安全機(jī)制。包括加密、驗證以及IIS擴(kuò)展等。1)WindowsServer安全性:WindowsNT提供用戶賬戶安全性、NTFS安全性。①用戶賬戶安全性:WindowsServer要求用戶提供有效賬戶以及口令才能訪問WindowsServer。IIS安裝時創(chuàng)建InternetGuest賬戶,缺省情況下,所有IIS用戶都使用這個賬戶登錄到服務(wù)器,這個賬戶只允許本地登錄,沒有其他權(quán)利。假如允許遠(yuǎn)程用戶用登錄InternetGuest賬戶登錄就不必給遠(yuǎn)程用戶用戶名及口令,WindowsNT以InternetGuest賬戶對待。②NTFS文件安全性:NTFS提供安全性,可以控制對數(shù)據(jù)文件的訪問,應(yīng)當(dāng)將數(shù)據(jù)文件放在NTFS分區(qū)。NTFS可以精確控制哪些用戶和組以什么權(quán)限訪問文件和目錄。2)IIS的安全性:除了WindowsNT的安全措施外,IIS本身也有安全控制能力。通過賬戶名及口令控制訪問:可以配置WWW服務(wù)要求用戶連入服務(wù)器之前提供一個合法的用戶名及口令【10】。第二章系統(tǒng)概要設(shè)計2.1需求分析圖書館是收藏圖書、刊物以及各類音像和文字資料,并供讀者借閱的單位。其主要業(yè)務(wù)包括圖書的采購、編目、入庫、流通(借閱、歸還),讀者管理,以及閱覽室管理等。長期以來,人們使用傳統(tǒng)的人工方式管理圖書館的日常業(yè)務(wù),其操作流程比較繁瑣。在借書時,讀者首先將要借的書和借閱證交給工作人員,工作人員然后將每本書的信息卡片和讀者的借閱證放在一個小格欄里,然后在借閱證和每本書貼的借閱條上填寫借閱信息。在還書時,讀者首先將要還的書交給工作人員,工作人員然后根據(jù)圖書信息找到相應(yīng)的書卡和借閱證,并填寫相應(yīng)的還書信息。從上述描述中可以發(fā)現(xiàn),傳統(tǒng)的手工流程存在種種不足。首先處理借書、還書業(yè)務(wù)的效率很低;其次處理能力比較低,一段時間內(nèi),所能服務(wù)的讀者人數(shù)只能是有限的。為此圖書信息管理系統(tǒng)需要為企業(yè)解決上述問題,提供快速的圖書信息檢索功能及快捷的圖書借閱、歸還流程。根據(jù)圖書館理系統(tǒng)的特點,可以將其分為系統(tǒng)設(shè)置、讀者管理、圖書管理、圖書歸還、系統(tǒng)查詢等5個部分,其中各個部分及其包括的具體功能如圖2.1所示。圖2.1系統(tǒng)功能結(jié)構(gòu)圖2.2系統(tǒng)總體業(yè)務(wù)流程設(shè)計圖書館管理系統(tǒng)的系統(tǒng)設(shè)計流程圖如圖2.2所示。圖2.2系統(tǒng)流程圖2.3數(shù)據(jù)庫設(shè)計本系統(tǒng)采用SQLServer2000數(shù)據(jù)庫,名稱為db_tsrj,其中包含9張表。1.數(shù)據(jù)庫概要說明本系統(tǒng)用戶表共包含9張表,分別是:管理員權(quán)限設(shè)置表、圖書借閱表、書架信息表、圖書信息表、圖書類型信息表、圖書館信息表、讀者信息表、讀者類型信息表、管理員信息表。具體表如圖2.3所示。圖2.3數(shù)據(jù)庫表結(jié)構(gòu)2.數(shù)據(jù)庫概念設(shè)計通過對本系統(tǒng)進(jìn)行的需求分析、系統(tǒng)流程設(shè)計以及系統(tǒng)功能結(jié)構(gòu)的確定,規(guī)劃出系統(tǒng)中使用的數(shù)據(jù)庫實體對象,具體說明如下。只有系統(tǒng)分配的用戶才可以操作圖書館管理系統(tǒng),而用戶的權(quán)限又各自不同。當(dāng)管理員登錄圖書館管理系統(tǒng)時,需要登錄窗口驗證成功后才能進(jìn)入系統(tǒng)主頁。管理員信息實體,用于存儲管理員的登錄名稱和登錄密碼。管理員權(quán)限設(shè)置與管理員信息實體的E-R圖如圖2.4所示。圖2.4管理員權(quán)限設(shè)置與管理員信息實體的E-R圖圖書借閱信息實體,用于存儲所有圖書借閱情況的信息,以準(zhǔn)確地記錄每本圖書的借閱情況。不同的書,會有不同的圖書信息。對這些圖書信息進(jìn)行詳細(xì)的記錄,方便了圖書的分類和查詢。圖書信息實體,用于存儲所有圖書的相關(guān)信息。圖書借閱信息與圖書信息的實體E-R圖如圖2.5所示。圖2.5圖書借閱信息與圖書信息的實體E-R圖圖書借閱信息實體,用于存儲所有圖書借閱情況的信息,以準(zhǔn)確地記錄每本圖書的借閱情況。當(dāng)有讀者借閱圖書時,要對讀者的各項信息進(jìn)行記錄,以方便歸還圖書和已借閱圖書的歷史查詢。讀者信息實體,用于存儲所有借閱圖書的讀者信息。圖書借閱信息與讀者信息的實體E-R圖如圖2.6所示。圖2.6圖書借閱信息與讀者信息的實體E-R圖不同的書,會有不同的圖書信息。對這些圖書信息進(jìn)行詳細(xì)的記錄,方便了圖書的分類和查詢。圖書信息實體,用于存儲所有圖書的相關(guān)信息。圖書館中會有不同類型的圖書,為了避免圖書歸類發(fā)生混亂,必須建立一個圖書類型信息實體,用于存儲圖書的類型信息。圖書信息與圖書類型的實體E-R圖如圖2.7所示。圖2.7圖書信息與圖書類型的實體E-R圖不同的書,會有不同的圖書信息。對這些圖書信息進(jìn)行詳細(xì)的記錄,方便了圖書的分類和查詢。圖書信息實體,用于存儲所有圖書的相關(guān)信息。圖書館對圖書的分類,通常是將不同類型的圖書分別放置在相應(yīng)類型的書架上。書架信息實體用于存儲圖書館中所有的書架信息。圖書信息與書架信息的實體E-R圖如圖2.8所示。圖2.8圖書信息與書架信息的實體E-R圖當(dāng)有讀者借閱圖書時,要對讀者的各項信息進(jìn)行記錄,以方便歸還圖書和已借閱圖書的歷史查詢。讀者信息實體,用于存儲所有借閱圖書的讀者信息。在讀者群體中,會有不同的分類,例如借閱圖書的讀者可能是教師、學(xué)生和市民等,所以對讀者人群進(jìn)行有效的分類是至關(guān)重要的。讀者類型信息實體,用于存儲讀者的類型信息。讀者信息與讀者類型信息實體的E-R圖如圖2.9所示。圖2.9讀者信息與讀者類型信息的實體E-R圖3.數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計在設(shè)計完整數(shù)據(jù)庫E-R圖后,需要根據(jù)E-R圖設(shè)計數(shù)據(jù)表結(jié)構(gòu)。下面給出主要的數(shù)據(jù)表的數(shù)據(jù)結(jié)構(gòu)和用途。(1)tb_admSet(管理員權(quán)限設(shè)置表)表tb_admSet用于保存與管理員權(quán)限設(shè)置相關(guān)的信息,該表的結(jié)構(gòu)如表2.1所示。表2.1管理員權(quán)限設(shè)置表字段名數(shù)據(jù)類型長度主鍵否描述usernamevarchar80是管理員名稱systemSetbit1否系統(tǒng)設(shè)置readerManagebit1否讀者管理bookManagebit1否圖書管理bookBorrowbit1否圖書借還systemSearchbit1否系統(tǒng)查詢(2)tb_bookBorrow(圖書借閱表)表tb_bookBorrow用于保存所有已借閱圖書的信息,該表的結(jié)構(gòu)如表2.2所示。表2.2圖書借閱表bookBarcodevarchar50是圖書條形碼bookNamebit20否圖書名稱borrowTimebit8否借閱日期returnTimebit8否應(yīng)還日期readerBarCodebit50否讀者條形碼readerNamebit20否讀者姓名isReturnbit1否是否歸還(3)tb_bookcase(書架信息表)表tb_bookcase用于保存書架的詳細(xì)信息,該表的結(jié)構(gòu)如表2.3所示。表2.3書架信息表字段名數(shù)據(jù)類型長度主鍵否描述bookcaseIDInt4是書架編號bookcaseNamevarchar80否書架名稱(4)tb_bookInfo(圖書信息表)表tb_bookInfo用于保存與圖書相關(guān)的所有信息,該表的結(jié)構(gòu)如表2.4所示。表2.4圖書信息表字段名數(shù)據(jù)類型長度主鍵否描述bookBarcodevarchar100是圖書條形碼bookNamevarchar100否圖書名稱bookTypeint4否圖書類型bookcaseint4否書架類別bookConcernint100否出版社名稱authorint80否作者名稱priceint8否圖書價格borrowSumint4否借閱次數(shù)(5)tb_bookType(圖書類型信息表)表tb_bookType用于保存圖書類型信息,該表的結(jié)構(gòu)如表2.5所示。表2.5圖書類型信息表字段名數(shù)據(jù)類型長度主鍵否描述typeIDInt4是圖書類型編號typeNameVarchar50否類型名稱borrowDayInt4否可借天數(shù)(6)tb_library(圖書管信息表)表tb_library用于保存與圖書館相關(guān)的信息,該表的結(jié)構(gòu)如表2.6所示。表2.6圖書館信息表字段名數(shù)據(jù)類型長度主鍵否描述libraryNamevarchar80是圖書館名稱curatorvarchar80否館長名稱telvarchar100否聯(lián)系電話addressivarchar200否聯(lián)系地址emailvarchar100否電子郵件netvarchar200否網(wǎng)址upbuildTimedatetime8否建館時間remarkvarchar500否備注(7)tb_readerInfo(讀者信息表)表tb_readerInfo用于保存所有讀者信息,該表的結(jié)構(gòu)如表2.7所示。表2.7讀者信息表字段名數(shù)據(jù)類型長度主鍵否描述readerBarCodevarchar50是讀者條形碼readerNamevarchar50否讀者名稱sexchar10否讀者性別readerTypevarchar50否讀者類型certificateTypevarchar50否證件類型certificatevarchar50否證件號碼telvarchar50否聯(lián)系電話emailvarchar50否電子郵件remarkvarchar500否備注(8)tb_readerType(讀者類型信息表)表tb_readerType用于保存所有讀者類型信息,該表的結(jié)構(gòu)如表2.8所示。表2.8讀者類型信息表字段名數(shù)據(jù)類型長度主鍵否描述idint4是類型編號typevarchar50否類型名稱numvarchar50否可借數(shù)量(9)tb_user(管理員信息表)表tb_user用于保存所有管理員信息,該表的結(jié)構(gòu)如表2.9所示。表2.9管理員信息表字段數(shù)據(jù)類長度主鍵描述userIDint4是管理員編號userNamevarchar50否管理員名稱userPwdvarchar50否管理員密碼2.4公共類設(shè)計在開發(fā)過程中,經(jīng)常會用到一些公共模塊,如數(shù)據(jù)庫連接及操作的類、字符串處理的類,因此,在開發(fā)系統(tǒng)前首先需要設(shè)計這些公共模塊。下面列出圖書館管理系統(tǒng)中所需要的數(shù)據(jù)庫操作類。數(shù)據(jù)庫操作類用來完成數(shù)據(jù)庫的連接操作,以及數(shù)據(jù)庫的查詢、添加、刪除和修改操作。將這幾種操作編寫到一個公共類里,在dataOperate類中一共定義了5個方法,分別如下:(1)createCon方法createCon()方法用來連接數(shù)據(jù)庫,此方法返回的類型為SqlConnection。代碼如下:publicstaticSqlConnectioncreateCon(){//生成SqlConnection的一個對象用于連接數(shù)據(jù)庫con=newSqlConnection("server=.;database=db_tsrj;uid=sa;pwd=;");returncon;}(2)execSQL方法execSQL(stringsql)方法用來查找數(shù)據(jù)是否存在。此方法返回一個布爾型值,用來表示添加、插入和刪除數(shù)據(jù)是否成功,執(zhí)行成功返回true,否則返回false。調(diào)用此方法時應(yīng)傳入一個string類型的參數(shù),此參數(shù)表示所要執(zhí)行的SQL語句。代碼如下:publicstaticboolexecSQL(stringsql){//創(chuàng)建連接對象SqlConnectioncon=createCon();con.Open();SqlCommandcom=newSqlCommand(sql,con);try{//執(zhí)行SQL語句com.ExecuteNonQuery();//關(guān)閉連接對象con.Close();}catch(Exceptione){con.Close();//執(zhí)行失敗返回falsereturnfalse;}//執(zhí)行成功返回truereturntrue;}(3)seleSQL方法seleSQL(stringsql)方法用來查找數(shù)據(jù)是否存在。此方法返回一個布爾型值,用來表示是否查找到數(shù)據(jù),如查找到數(shù)據(jù)則返回true,否則返回false。調(diào)用此方法時應(yīng)傳入一個string類型的參數(shù),此參數(shù)表示所要執(zhí)行的SQL語句。代碼如下:publicstaticintseleSQL(stringsql){SqlConnectioncon=createCon();//創(chuàng)建連接對象con.Open();SqlCommandcom=newSqlCommand(sql,con);try{//執(zhí)行SQL語句后返回第一行第一列值returnConvert.ToInt32(com.ExecuteScalar());con.Close();//關(guān)閉連接}catch(Exceptione){con.Close();return0;}}(4)getDataset方法getData(stringsqlstringtable)方法用來查找并返回多行數(shù)據(jù)。此方法返回一個DataSet數(shù)據(jù)集。在調(diào)用此方法時應(yīng)傳入兩個string類型的參數(shù),第一個參數(shù)表示要執(zhí)行的SQL語句,第二個參數(shù)表示表名。代碼如下:publicstaticDataSetgetDataset(stringsql,stringtable){SqlConnectioncon=createCon();//創(chuàng)建數(shù)據(jù)連接對象con.Open();//打開連接DataSetds;SqlDataAdaptersda=newSqlDataAdapter(sql,con);//執(zhí)行SQL語句ds=newDataSet();//創(chuàng)建數(shù)據(jù)集sda.Fill(ds,table);//填充數(shù)據(jù)集returnds;//返回數(shù)據(jù)集}(5)getRow方法GetRow(stringsql)方法用來查找并返回一行數(shù)據(jù)。此方法返回一個SqlCommand對象。在調(diào)用此方法時應(yīng)傳入一個string類型的參數(shù),此參數(shù)表示所要執(zhí)行的SQL語句。代碼如下:publicstaticSqlDataReadergetRow(stringsql){SqlConnectioncon=createCon();con.Open();SqlCommandcom=newSqlCommand(sql,con);returncom.ExecuteReader();}第三章系統(tǒng)各模塊詳細(xì)設(shè)計與實現(xiàn)3.1網(wǎng)站首頁設(shè)計3.1.1網(wǎng)站首頁概述管理員通過“系統(tǒng)登錄”模塊的驗證后,可以登錄到圖書館管理系統(tǒng)的主頁。系統(tǒng)主頁主要包括Banner信息欄、導(dǎo)航欄、借閱排行榜和版權(quán)信息等4部分。網(wǎng)站首頁運行效果如圖3.1所示。圖3.1圖書館管理系統(tǒng)首頁3.1.2網(wǎng)站首頁技術(shù)分析在圖書館管理系統(tǒng)的首頁開發(fā)過程中,使用GridView控件顯示信息,為其添加一個自動編號列,就可以實現(xiàn)按照借閱次數(shù)的多少進(jìn)行排名的功能。網(wǎng)站首頁中主要通過設(shè)置GridView控件中第一列的值為當(dāng)前項目的索引值累加來實現(xiàn)GridView控件的自動編號功能。在實現(xiàn)自動編號功能時,主要觸發(fā)了GridView控件的RowDataBound事件,該事件詳細(xì)說明如下。RowDataBound事件:呈現(xiàn)GridView控件之前,該控件中的每一行都必須綁定到數(shù)據(jù)源中的一條記錄。將某個數(shù)據(jù)行綁定到GridView控件中的數(shù)據(jù)以后,將引發(fā)RowDataBound事件。網(wǎng)站首頁在實現(xiàn)自動編號功能時,主要通過在GridView控件的RowDataBound事件中動態(tài)修改GridView控件中第一列的值實現(xiàn)的。GridView控件的RowDataBound事件中實現(xiàn)的代碼如下:if(e.Row.RowIndex!=-1)//判斷GridView控件中是否有值{intid=e.Row.RowIndex+1;//將當(dāng)前行的索引加上一賦值給變量ide.Row.Cells[0].Text=id.ToString();//將變量id的值傳給GridView控件的每一行的單元格中}3.1.3網(wǎng)站首頁的實現(xiàn)首先導(dǎo)入必要的命名空間。在page_load單擊事件中,利用Session對象判斷用戶登錄的狀態(tài),如果Session中存在的變量為空,說明用戶未登錄,頁面將跳轉(zhuǎn)到登錄頁面;如用戶已登錄,則調(diào)用bindBookInfo自定義的方法。流程圖如圖3.2所示:圖3.2網(wǎng)站首頁流程圖實現(xiàn)方法的代碼如下:protectedvoidPage_Load(objectsender,EventArgse){if(Session["userName"]!=null)//判斷用戶是否登錄{bindBookInfo();//調(diào)用自定義方法用來綁定圖書借閱排行}elseResponse.Redirect("entry.aspx");//跳轉(zhuǎn)到登錄頁面}BindBookInfo自定義方法用來顯示圖書借閱排行榜,在此方法中使用數(shù)據(jù)庫操作類中的getDataset方法,查找出借閱率高的圖書信息綁定到GridView控件上。實現(xiàn)代碼如下:protectedvoidbindBookInfo(){stringsql="selecttop10*fromtb_bookInfoorderbyborrowSumdesc";//設(shè)置SQL語句gvBookTaxis.DataSource=dataOperate.getDataset(sql,"tb_bookInfo");//獲取圖書信息數(shù)據(jù)源gvBookTaxis.DataBind();//綁定GridView控件}在圖書信息表中,圖書類型存儲的是類型的編號,為了查看方便將圖書類型的編號轉(zhuǎn)換為類型名稱。此功能在GridView控件的RowDataBound事件中實現(xiàn),再此事件中先獲取圖書類型的編號,通過編號在圖書類型表中獲取類型名稱,將類型名稱綁定到圖書類型列中。實現(xiàn)代碼如下:protectedvoidgvBookTaxis_RowDataBound(objectsender,GridViewRowEventArgse){!=-1)//判斷GridView控件中是否有值{intid=e.Row.RowIndex+1;//將當(dāng)前行的索引加上一賦值給變量ide.Row.Cells[0].Text=id.ToString();}if(e.Row.RowType==DataControlRowType.DataRow){//綁定圖書類型stringbookType=e.Row.Cells[3].Text.ToString();//獲取圖書類型編號stringtypeSql="select*fromtb_bookTypewhereTypeID="+bookType;SqlDataReadertypeSdr=dataOperate.getRow(typeSql);typeSdr.Read();//讀取一條數(shù)據(jù)e.Row.Cells[3].Text=typeSdr["typeName"].ToString();//設(shè)置圖書類型//綁定書架stringbookcase=e.Row.Cells[4].Text.ToString();//獲取書架編號stringcaseSql="select*fromtb_bookcasewherebookcaseID="+bookcase;SqlDataReadercaseSdr=dataOperate.getRow(caseSql);caseSdr.Read();e.Row.Cells[4].Text=caseSdr["bookcaseName"].ToString();//設(shè)置書架//設(shè)置鼠標(biāo)懸停行的顏色e.Row.Attributes.Add("onMouseOver","Color=this.style.backgroundColor;this.style.backgroundColor='lightBlue'");e.Row.Attributes.Add("onMouseOut","this.style.backgroundColor=Color;");}}3.2管理員設(shè)置模塊3.2.1管理員設(shè)置模塊概述管理員設(shè)置模塊主要包括查看管理員列表、添加管理員、管理員權(quán)限設(shè)置和刪除管理員4個功能。選擇“系統(tǒng)設(shè)置”/“管理員設(shè)置”命令,進(jìn)入到管理員設(shè)置頁面。在此頁面中將顯示所有管理員的名稱和管理員所擁有的權(quán)限。管理員設(shè)置頁面如圖3.3所示。圖3.3管理員設(shè)置頁面單擊“添加管理員”鏈接按鈕將彈出添加管理員網(wǎng)頁對話框,在此對話框中可以添加新的管理員,新添加的管理員默認(rèn)擁有圖書借還權(quán)限和系統(tǒng)查詢權(quán)限,如圖3.4所示。圖3.4添加管理員單擊“權(quán)限設(shè)置”鏈接按鈕將彈出管理員權(quán)限網(wǎng)頁對話框,在此對話框中可以設(shè)置某一個管理員所擁有的權(quán)限。如圖3.5所示。圖3.5設(shè)置管理員權(quán)限3.2.2管理員設(shè)置模塊技術(shù)分析在添加新的管理員時,在管理員權(quán)限設(shè)置表中也應(yīng)該將新管理員添加到其中。此功能主要利用觸發(fā)器來實現(xiàn)。觸發(fā)器在應(yīng)用程序中可以代替繁瑣的程序代碼,完成相應(yīng)的功能。由于觸發(fā)器可以查詢其他表,而且可以包含復(fù)雜的Transact-SQL語句,所以可以實現(xiàn)強(qiáng)制性的、復(fù)雜的業(yè)務(wù)規(guī)則或要求。觸發(fā)器實質(zhì)是一種特殊的存儲過程,但是它與表卻是緊密聯(lián)系的,離開了表它將不復(fù)存在(這點與約束十分相似)。觸發(fā)器又不像存儲過程那樣需要調(diào)用才能執(zhí)行,而是在對表中數(shù)據(jù)進(jìn)行增、刪、改(INSERT、DELETE、UPDATE)操作時被觸發(fā)而執(zhí)行。觸發(fā)器可以包含復(fù)雜的Transact-SQL語句。在觸發(fā)器內(nèi)設(shè)置回滾,可以檢測到錯誤時可以回滾事務(wù)以撤銷錯誤。在MicrosoftSQLServer中使用觸發(fā)器的優(yōu)點可概括如下:(1)觸發(fā)器可以實現(xiàn)外鍵約束的功能,實現(xiàn)對表的級聯(lián)修改。(2)觸發(fā)器可以實現(xiàn)核查約束的功能,而且其功能更為強(qiáng)大。(3)如果對表中數(shù)據(jù)進(jìn)行了增、刪、改的操作,使用觸發(fā)器可以根據(jù)修改前后的差異,采取對應(yīng)的對策。(4)允許在一個表中針對不同的增、刪、改操作設(shè)置多個觸發(fā)器,以完成各類不同任務(wù)。觸發(fā)器在SQLServer中的基本應(yīng)用可大體概括為Insert型觸發(fā)器、Update型觸發(fā)器、Delete型觸發(fā)器、嵌套型觸發(fā)器和遞歸型觸發(fā)器。添加管理員模塊使用的是Insert型觸發(fā)器。創(chuàng)建Insert觸發(fā)器:需要用到兩個表,一個表為管理員信息表tb_user,用來存儲新添加的管理員信息;另一個為管理員權(quán)限設(shè)置表tb_admSet,用來存儲每個管理員的管理權(quán)限。在管理員信息表中添加一個新的管理員信息的同時,也應(yīng)將新添加的管理員名稱添加到管理員權(quán)限設(shè)置表中。在查詢分析器里建立Insert觸發(fā)器的語法如下:userdb_tsrj/*判斷表中是否存在名為addUser的觸發(fā)器*/IFEXISTS(SELECTnameFROMsysobjectsWHEREname=’addUser’ANDtype=’P’)DROPPROCEDUREaddUser/*刪除名為addUser的觸發(fā)器*/GOcreatetriggeraddUserontb_user/*創(chuàng)建名為addUser的觸發(fā)器*/forinsertasinsertintotb_admSet(userName)selectinserted.userNamefrominserted3.2.3查看管理員信息頁的實現(xiàn)在頁面的加載事件中,首先判斷用戶是否登錄,如果用戶已登錄,則判斷此用戶是否擁有管理此頁面的權(quán)限,擁有此權(quán)限將調(diào)用bindUserManage自定義方法顯示所有管理員信息。實現(xiàn)的流程圖如圖3.6所示:圖3.6查看管理員信息頁的流程圖實現(xiàn)代碼如下:protectedvoidPage_Load(objectsender,EventArgse){if(Session["userName"]!=null)//判斷管理員是否登錄{if(getSet())//判斷是否擁有權(quán)限{bindUerManage();}elseResponse.Write("<script>alert('您沒有此權(quán)限');location='index.aspx';</script>");}else{Response.Redirect("entry.aspx");//返回到登錄頁面}}在bindUserManage自定義方法中,調(diào)用數(shù)據(jù)庫操作類中的getDataset方法獲取所有管理員信息。getSet自定義方法用來判斷此用戶是否擁有管理此頁面的權(quán)限,此方法返回一個布爾類型的值。當(dāng)此值為True時表示用戶擁有管理此頁面的權(quán)限,為False時則沒有管理此頁面的權(quán)限。實現(xiàn)代碼如下:publicboolgetSet(){stringuserName=Session["userName"].ToString();//獲取管理員登錄名stringsql="select*fromtb_admSetwhereuserName='"+userName+"'";SqlDataReadersdr=dataOperate.getRow(sql);sdr.Read();//讀取一條記錄returnConvert.ToBoolean(sdr["systemSet"]);//返回是否擁有權(quán)限}刪除管理員功能通過GridView控件中的RowDeleting事件來實現(xiàn),在此事件中獲取該管理員的登錄名,通過登錄名使用數(shù)據(jù)庫操作類中的execSQL方法將此管理員刪除,最后需要重新綁定管理員信息。實現(xiàn)代碼如下:protectedvoidgvAdmSet_RowDeleting(objectsender,GridViewDeleteEventArgse){stringuserName=this.gvAdmSet.DataKeys[e.RowIndex].Value.ToString();//獲取主鍵字段stringsql="deletefromtb_admSetwhereuserName='"+userName+"'";dataOperate.execSQL(sql);//刪除管理員信息bindUerManage();//重新綁定管理員信息}3.2.4管理員權(quán)限設(shè)置頁的實現(xiàn)過程在頁面加載事件中判斷頁面是否是首次加載,如果頁面是首次加載,則調(diào)用bindUser自定義方法顯示當(dāng)前用戶擁有的權(quán)限。在bindUser自定義方法中通過查看管理頁面?zhèn)魅牍芾韱T的登錄名,在數(shù)據(jù)庫中讀取此管理員當(dāng)前擁有的權(quán)限并將權(quán)限信息顯示出來。當(dāng)修改完當(dāng)前管理員的權(quán)限后將管理員權(quán)限信息更新到管理員權(quán)限設(shè)置表中,此操作是在“保存”按鈕的Click事件中實現(xiàn)的。在此事件中獲取當(dāng)前設(shè)置的管理員權(quán)限信息,使用數(shù)據(jù)庫操作類中的execSQL方法將數(shù)據(jù)庫中的權(quán)限信息更新。3.3圖書檔案管理模塊設(shè)計3.3.1圖書檔案管理模塊概述圖書檔案管理模塊主要包括查看圖書詳細(xì)信息、添加圖書信息、修改圖書信息、刪除圖書信息和打印圖書信息5個功能。選擇“圖書管理”/“圖書檔案管理”命令,進(jìn)入圖書檔案管理頁面。頁面運行效果如圖3.7所示。圖3.7添加或修改圖書信息對話框單擊“添加圖書信息”或“修改圖書信息”鏈接按鈕,將彈出添加或修改圖書信息的網(wǎng)頁對話框。如圖3.8所示。圖3.8添加或修改圖書信息對話框3.3.2圖書檔案管理模塊技術(shù)分析在打印圖書詳細(xì)信息時用到了SQLServer2000的視圖功能。視圖是一種常用的數(shù)據(jù)庫對象,它將查詢的結(jié)果以虛擬表形式存儲在數(shù)據(jù)庫中。視圖并不在數(shù)據(jù)庫中以存儲數(shù)據(jù)集的形式存在。視圖的結(jié)構(gòu)和內(nèi)容是建立在對表的查詢基礎(chǔ)之上的,和表一樣包括行和列。視圖中的內(nèi)容是由查詢定義來的,并且視圖和查詢都是通過SQL語句定義的,它們有著許多相同之處,但又存在很多不同之處。存儲:視圖存儲為數(shù)據(jù)庫設(shè)計的一部分,而查詢則不是。視圖可以禁止所有用戶訪問數(shù)據(jù)庫中的基表,而要求用戶只能通過視圖操作數(shù)據(jù)。這種方法可以保護(hù)用戶和應(yīng)用程序不受某些數(shù)據(jù)庫修改的影響,同樣也可以保護(hù)數(shù)據(jù)表的安全性。排序:可以排序任何查詢結(jié)果,但是只有當(dāng)視圖包括TOP子句時才能排序視圖。加密:可以加密視圖,但不能加密查詢。視圖可以使用Transact-SQL創(chuàng)建,使用的是CREATEVIEW語句。語法如下:CREATEVIEWview_name[(column[,...n])][WITH<view_attribute>[,...n]]ASselect_statement[WITHCHECKOPTION]其中參數(shù)介紹如下:view_name:視圖的名稱。column:定義視圖中的字段名。如果沒有指定,則視圖字段將獲得與SELECT語句中的字段相同的名稱。但對于以下情況則必須指定字段名:eq\o\ac(○,1)視圖是從多個表中產(chǎn)生的,對于表中有數(shù)據(jù)列重名時。eq\o\ac(○,2)當(dāng)列是從算術(shù)表達(dá)式、函數(shù)或常量派生得到的。eq\o\ac(○,3)當(dāng)視圖中的某列不同于源表中列的名稱時。WITH<view_attribute>:其中<view_attribute>有以下3種參數(shù)。eq\o\ac(○,1)ENCRYPTION:表示對視圖文本進(jìn)行加密。eq\o\ac(○,2)SCHEMABINDING:將視圖綁定到架構(gòu)上。指定SCHEMABINDING時,select_statement必須包含所引用的表、視圖或用戶定義函數(shù)的兩部分名稱(owner.object)。eq\o\ac(○,3)VIEW_METADATA:表示如果某一查詢中引用該視圖且要求返回瀏覽模式的元數(shù)據(jù)時,那么SQLServer將向DBLIB和OLBDBAPIS返回視圖的元數(shù)據(jù)信息,而不是一個基表或表。AS:視圖要執(zhí)行的操作。select_statement:定義視圖的查詢語句。該語句可以引用多個表或其他視圖。在CREATEVIEW語句中,對于查詢語句有以下限制。eq\o\ac(○,1)不能包含COMPUTE或COMPUTEBY子句。eq\o\ac(○,2)不能包含ORDERBY子句,除非在SELECT語句的選擇列表中也有一個TOP子句。eq\o\ac(○,3)不能包含INTO關(guān)鍵字。eq\o\ac(○,4)不能引用臨時表或變量。WITHCHECKOPTION:規(guī)定在視圖上執(zhí)行的所有數(shù)據(jù)修改語句都必須符合由select_statement設(shè)置的準(zhǔn)則。通過視圖修改記錄,WITHCHECKOPTION可確保提

溫馨提示

  • 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

提交評論