




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、小型數字圖書館的設計方案1.1 課題背景及意義隨著網絡技術的迅速發展,無論是企事業單位,還是學校都在借助于網絡平臺進行信息的管理。當前,隨著基于網絡學習平臺的發展,基于網絡的電子書籍給人們的學習帶了很多方便,人們可以在網上進行電子書籍閱覽、還可以進行圖書的借閱,這些都給人們帶來了前所未有的便利。因此,基于 Web 的數字圖書館的設計與開發既有非常重要的現實意義。作為知識經濟的重要載體,數字圖書館是國家信息基礎設施重要組成部分, 目前已成為評價一個國家信息基礎水平的重要標志和本世紀各國文化科技競爭 的焦點之一。對于我國來說,數字圖書館的研發起步較晚,因此,建設數字圖書館更加具有必要性和緊迫性。開
2、發這樣一個功能較完善的小型數字圖書館系統。既鍛煉了學生的實際動手能力,又引導學生進行了一次模擬實際產品的開發,對于學生以后工作能力的培養具有重要的意義。1.2 課題的研究與開發目的從學生的實際需求出發,對數字圖書館系統進行了全面考慮。整個系統的將高可用性放在了第一位,另外,還考慮到系統的運行性能、高可擴充性、開放性、可維護性、學生操作的簡易性以及充分保護學生投資等諸多方面的需求。數字圖書館是采用現代高新技術所支持的數字信息資源系統,是下一代因特網上信息資源的管理模式,將從根本上改變目前因特網上信息分散不便使用的現狀。通俗地說,數字圖書館是沒有時空限制的、便于使用的、超大規模的知識中心。具有較高
3、的可用性、擴展性、便于管理等特點。它解決方案可以包括解決數字資源創建、組織、管理、保存、發布、檢索和利用整個過程的各個組件或模塊, 每一個組件或模塊都可以是單獨開發的。本系統的開發是采用 B/S 結構,模擬當今已有的一些數字圖書館系統進行設計與開發。因此,本次畢業設計應首先分析數字圖書系統的相關功能,結合本次畢業設計的相關要求寫出需求分析;其次,綜合運用以前所學的相關知識(包括計算機網絡技術、編程技術等相關知識),選擇所熟悉的開發工具進行本畢業設計的開發;在設計中以需求分析為基礎,寫出系統開發計劃、實現流程及相關問題的實現方法;同時,在開發設計與實現中,要保存好相關的設計文擋,為后面的畢業論文
4、的寫作準備材料;最后,系統開發完畢后,進行調試和試運行,做好調試和試運行的相關記錄,也為后面的畢業論文的寫作準備材料。本課題系統的主要目的是讓學生能夠綜合運用以前所學知識(包括以前所學的一些關于網絡技術、編程技術等相關知識)的能力,開發一個功能較完善的小型數字圖書館系統。1.3 本文的主要工作數字圖書館系統的工作主要是為著滿足來自兩方面的需求,分別是圖書借閱者和圖書館管理人員。本文所研究的主要容也是圍繞著這兩者的需求來進行的。論文的第 1 章主要對數據圖書館的開發背景,目的,及意義進行了分析;第 2 章主要是對數字圖書館系統進行需求分析,以及對其數據流程與功能進行分析;第3 章主要把系統開發工
5、具進行介紹,另外講解開發系統所用到的一些特殊功能技 術;第4 章是系統的總體設計,主要講解了系統各功能模塊的設計,以及數據的開發與設計;第 5 章就是講解每一個功能的具體實現,第 6 章是對系統的測試及還存在的不足之處。2 數字化圖書管理系統的需求分析2.1 系統需求分析隨著社會發展的日新月異,社會信息量的與日俱增,作為信息存儲的主要媒體之一圖書,數量、規模比以往任何時候都大的多,不論個人還是圖書管理部門都需要使用方便而有效的方式來管理書籍。圖書館各項工作 (如采購、編目等) 都要圍繞讀者服務工作來開展。圖書流通的好壞取決于管理工作,在圖書流通工作中有大量各種繁雜的手 續,如讀者登記、預約、各
6、種借還、續借、罰款以及各種統計記錄等。這些大量的重復性工作僅僅靠手工進行管理就難以應付,經常出現讀者排隊的現象。因此, 要想充分利用圖書資料,掌握圖書流通的各種信息,就必須采用新技術。當前,基于網絡學習平臺的不斷發展,就需要一個功能比較完善的數據管理系統,具有數據操作方便、高效、迅速、功能強大等優點。既滿足了圖書館工作人員的用自動化代替手工勞動的強烈要求,又滿足廣大讀者以最快的速度查找到所需要的文獻資料。從而提高文獻的利用率,減低拒借率,并為采購文獻提供定量依據,提高藏書質量。借助于網絡平臺進行信息的管理,基于網絡的電子書籍給人們的學習帶了很多方便,人們可以在網上進行電子書籍閱覽、還可以進行圖
7、書的借閱,這些都給人們帶來了前所未有的便利。借助數字圖書館系統圖書借閱者可直接查看圖書館圖書情況,如果圖書借閱者根據本人借書證號和密碼登錄系統,還可以進行本人借書情況的查詢和維護部分個人信息。圖書借閱者只應該查詢和維護本人的借書情況和個人信息。圖書館管理功能的信息量大,數據安全性和性要求最高。本功能實現對圖書信息、借閱者信息、總體借閱情況信息的管理和統計、工作人員和管理人員信息查看及維護。圖書館管理員可以瀏覽、查詢、添加、刪除、修改、圖書的基本信息;瀏覽、查詢、統計、刪除和修改圖書借閱者的基本信息,瀏覽、查詢、統計圖書館的借閱信息,可以為圖書借閱者加入借書記錄或是還書記錄,在刪除某條圖書借閱者
8、基本信息記錄時,應實現對該圖書借閱者借閱記錄的級聯刪除;在線閱讀電子圖書、讀者留言的管理與維護,維護數據庫的完整性(即備份與恢復)。2.2 系統流程分析為了促進圖書管理的信息化、網絡化,采用 ASP 編寫了 WEB 方式的數字圖書管理系統,結合 SQL SERVER 2000 數據庫來實現。是支持單機、網絡、以及多學生的圖書管理系統。本系統可直接放于網絡服務器上,在任何地方均能實現管理。這套系統提供一個交互式平臺,它不僅對圖書、讀者、圖書借閱進行管理, 更有在線進行續借等功能;還提供了管理員推薦,借閱排行榜,以及最新入庫的新書一欄,另外還有留言簿,方便與讀者的交流。這樣就能夠更加及時的把讀者的
9、意見反饋給管理員,以完善管理體制,為讀者提供最好的服務。讀者可以在網絡上直接進行系統,登錄系統后可以查詢自己所借閱圖書的情況,并且可以在線進行續借操作,更大的提高了工作的效率。即可以減少管理員的工作,也大方便了讀者。系統主要數據流圖如圖 1 所示。2.3 系統功能分析圖 1 系統數據流圖本系統主要功能的詳細說明如下:(1) 基本操作 借書:首先輸入讀者編號,回車后顯示出該讀者的詳細信息,以及已經借閱的圖書,允許借出的冊數,還可以再借的冊數。然后輸入要借的書籍編號, 回車后將該書籍標注為借出,并且生成相應的借書記錄。 還書:輸入要還圖書的編號,回車后顯示出該圖書詳細的借閱資料,并提示有無罰款金額
10、等。點擊“歸還”按鈕或按 F6 鍵即可完成還書操作。(2) 系統設置 設置:設置的相關信息,系統已經建大量資料。 圖書類別設置:根據實際情況對圖書信息進行分類,系統建了標準圖書分類方法。 罰款金額設置:設置讀者借書超期的罰款金額。 讀者權限設置:設置讀者的借書權限包括限借冊數和限借天數等。(3) 系統管理 超級管理員操作:輸入高級管理員密碼后可添加普通管理員。 高級管理員密碼修改:修改高級管理員操作的登錄密碼。 普通管理員密碼修改:修改普通管理員登錄系統的密碼。 書庫管理:添加、修改、刪除、查詢圖書相關資料。 讀者管理:添加、修改、刪除、查詢讀者相關資料。 數據備份:此項功能需要每天按時備份數
11、據庫。(4) 主要功能 書庫查詢:按照書籍編號、書籍名稱、書籍類別、作者等對圖書資料進行查詢打印。 讀者查詢:按照讀者編號對讀者資料進行查詢打印。 借書查詢:按照書籍編號、讀者編號、等方式進行借書查詢打印。 超期查詢:顯示到當天為止,所有已經超期的讀者。 統計排行:按照圖書館所有圖書的借閱次數進行統計排名,方便管理員了解圖書借閱的暢銷情況。 新書入庫: 最新的書籍入庫查詢,在首頁有一個推薦欄進行導航讀者。 讀者訂閱: 讀者可以在留言簿向圖書館建議引入大家需要的書籍,寫清楚書名,與作者。 圖書分類: 讀者可以按照圖書所屬于的不同的類型,查詢自己所需要那一類圖書中的所有書籍。 在線閱讀: 有一些重
12、要的電子書刊,可以直接在網絡上供讀者閱讀,這樣更充分的利用了網絡資源,給讀者提供了很大的便利。3 開發工具及相關技術根據現在藝人數目的增加,以及大眾對娛樂事業的看重,娛樂事業在不斷的發展,系統應該需要具有操作簡單;具有親情性(比如在中掛上關心民眾的標語: 注意保護眼睛等);查詢靈活快捷;運行穩定、安全;評價功能高等特征。本系統是基于 Windows 2003(2003 可以很方便配置 IIS 來架設)+IIS,采用 ASP 程序編寫,以 SQL Server 2000 作為主體數據庫開發而成的。系統開發工具使用Macromedia Dreamweaver 2004 和 SQL Server 2
13、000。這兩種工具結合適合各類管理系統的快速開發,開發的成品與 Windows 系列操作系統兼容性較好,而且開發維護費用較低。在講解系統的主要功能之前,先把此次系統開發所用的工具、環境以及所使用到的相關技術知識介紹一下,方便讀者在接下來的系統功能介紹中,對功能的實現有更多的領會。3.1 Macromedia Dreamweaver 2004 簡介Macromedia Dreamweaver 2004 是一個專業的可視化 Web 應用程序編輯器。它與以前的版本相比,其功能更加強大,界面更加友好,而且動態網頁制作方面的功能更加完善。使用 Macromedia Dreamweaver 2004 可以
14、輕松地制作出跨平臺和跨瀏覽器的精美網頁。3.2 Microsoft SQL Server 2000 簡介Microsoft SQL Server 2000 是一個高性能的客戶端/服務器結構的關系數據庫管理系統(RDBMS, Relational Database Management System)。SQL Server 2000 是為了支持高容量的事務處理(比如在線評價藝人的表演能力等)以及數據倉庫和決策支持系統(比如管理藝人資料)而設計的。它運行在 Microsoft Windows 2003 Server 上基于 intel 處理器的網絡。可以把 SQL Server 2000 作為一種
15、個人桌面數據庫系統安裝在運行 Windows 2003 上。3.3 ASP 語言及相關技術介紹ASP(Active Server Pages)是基于 Microsoft Windows NT 和 Microsoft Internet Information Server 的開放式腳本開發環境,它很好地把 HTML 和腳本融合在一起,提高了編程的靈活性,降低了開發難度。ASP 中的腳本在 WEB 服務器端運行,而不是傳統的在客戶瀏覽器中運行,這一措施使客戶的瀏覽器無須擔心服務器端的網頁使用哪一種腳本,ASP 都會生成一個符合 HTML 標準的網頁送回客戶端。ASP 的五種常用的置對象為:lReq
16、uest 對象:獲取從學生端瀏覽器發送到服務器端的所有信息,允許訪問用表單提交給服務器的數據lResponse 對象:將 HTML 和各種其他數據返回到用學生端瀏覽器lServer 對象:為 ASP 的應用程序提供服務器的功能lApplication 對象:使給定應用程序的所有學生共享信息lSession 對象:在此對象中維護每個學生的信息,可以使用 Session 對象存儲特定的學生會話所需的信息3.4 Jcript 腳本介紹能夠具有交互性,能夠包含更多活躍的元素,就有必要在網頁中嵌入其它的技術。如:Javascript、VBScript、Document Object Model(DOM,
17、文檔對象模型)、Layers 和 Cascading Style Sheets (CSS,層疊樣式表),這里主要講Javascript。那么 Javascript 是什么東東?Javascript 就是適應動態網頁制作的需要而誕生的一種新的編程語言,如今越來越廣泛地使用于 Internet 網頁制作上。Javascript 是由 Netscape 公司開發的一種腳本語言( scripting language,或者稱為描述語言。在 HTML 基礎上,使用 Javascript 可以開發交互式 Web 網頁。Javascript 的出現使得網頁和學生之間實現了一種實時性的、動態的、交互性的關系,
18、使網頁包含更多活躍的元素和更加精彩的容。 .javascript 程序是純文本的,且不需要編譯,所以任何純文本的編輯器都可以編輯 javascript 文件。方便快捷可以實現各種可看的效果。3.5 SQL 語言介紹SQL 是一個完全標準化的語言。在 SQL 的發展過程中,國際標準化組織(ISO),美國國際標準居(ANSI)等機構為SQL 制定了各種標準。但是對于不同的數據庫系統,它們所支持的SQL 功能也各有所不同,語法也有差異。SQL 已經成為關系型數據庫的標準語言。SQL 按其功能分主要由以下幾部分組成:l數據定義語言(DDL):實現定義,刪除,和修改數據庫對象的功能l數據查詢語言(DQL
19、):實現查詢數據的功能l數據操縱語言(DML):實現對數據庫數據的增加,刪除,修改功能l數據控制語言(DCL):實現控制學生對數據庫的操作權限的功能其中用得最多的是數據操縱語言(DML)。它包含了最常用的核心 SQL 語句, 即 SELECT,INSERT,UPDATE,DELETE。3.6 新穎的功能(1)評價原理學生通過注冊到“大學生兼職粉絲網”,通過自身真實身份進行評價以及意向選擇。(2)大學生評價自由系統啟動后,學生注冊登錄后評價系統會自動記錄學生評價以及意向并不會對學生評價“和諧”(將相關不得當評價遮蔽),將學生評價以等級級制的形式輸出,公正公平對待學生,在沒有被評價的藝人記錄中將其
20、跳出與學生評價,爭取做到所有藝人被評價,對藝人負責,這樣就能有效的查找出那些藝人人氣不旺, 對所有被學生評價優良的藝人增加紅名,這樣就保持了系統啟動后,管理員以及學生對數據操作的優良性和有效性。4 小型數字圖書館的總體設計4.1 系統模塊設計整個數字圖書館系統分為兩個大的模塊:前臺操作模塊和后臺管理模塊。其具體層次框圖如圖 2 所示。圖 2 層次框圖其中前臺部分主要是讀者可以在線進行的操作。讀者可以在查詢圖書資料, 閱讀規章制度、公告、以及在線閱讀電子圖書,登錄對圖書進行續借,還可以在留言簿留言等操作功能。其模塊圖如圖 3 所示。圖 3 前臺模塊圖圖 4 后臺管理模塊圖而后臺管理模塊則主要是管
21、理員對圖書館進行管理。對讀者的管理,圖書資料的管理,圖書借閱的操作,可以對留言簿的留言進行回復及清除操作,公告的發布等等功能,另外還有對數據庫的備份和恢復功能,以保證數據的安全和完整性。其具體的模塊結構圖如圖 4 所示。4.2 數據庫的 E-R 圖根據系統的流程與功能需求,讀者可以借閱圖書,管理員對讀者、圖書、以及圖書館的其他信息進行管理,而且不同的管理員也擁有不同的管理權限等,對數據表進行設計。具體的各數據實體之間的關系主要表示為如圖 5 所示。4.3 數據庫設計圖 5 數據庫E-R 圖根據系統功能設計的要求以及功能模塊的劃分,針對以上 E-R 圖進行設計, 對于數字圖書館系統一共涉及到八個
22、數據表。它們分別是:圖書表( book),讀者表(reader),借閱表(borrow),管理員表(manager),留言表(Lyan),公告表(announce,在線閱讀表(onlineReading),圖書館參數表(LibraryDetail)。下面就介紹一下各表的設計結構及其功能。(1)圖書表(book):主要用于存放圖書的詳細信息。包括圖書的 bookID,名稱,作者,類型,入庫日期,圖書的介紹等信息。推薦是一個(bit)類型字段,用于存放此書是否為管理員推薦圖書,若是則為True,否則為False。是否借出也是一個(bit)類型字段,用于標識該圖書是否已經被讀者借出,若是為True,
23、否則為 False。其詳細設計結構如表 1 所示。表 1book 結構表字段名稱類型主鍵非空默認值bookIDInt(4)YesYes字段名稱類型主鍵非空默認值書名Varchar(50)NoYes作者Varchar(50)NoYesVarchar(50)NoYes類型Varchar(50)NoYes推薦Bit(1)NoNoFalse是否借出Bit(1)NoNoFalse入庫日期Datetime(8)NoNo借閱次數Int(4)NoYes0圖書介紹Text(16)NoYes(2)借閱表(borrow):主要用于存放讀者借書的記錄。其中用 readerID和bookID 共同作為主鍵,其分別與 r
24、eader 表和bookID 表中的readerID,bookID相對應,以標識不同的讀者所借閱的不同的圖書。續借否字段用于存儲讀者是否已經對所借的圖書進行過續借,是否超期字段也是一個 bit 類型數據,用于存儲讀者所借的圖書是否超期未還,若已超期,系統會自動計算超期的天數,存放在超期天數字段里。其詳細結構如表 2 所示。表 2borrow 結構表字段名稱類型主鍵非空默認值readerIDInt(4)YesYesbookIDInt(4)YesYes借閱日期Datetime(8)NoYes續借否Bit(1)NoYesFalse是否超期Bit(1)NoYesFalse超期天數Int(4)NoYes
25、0(3)讀者表(reader):用于存放讀者的信息。包括學生的 readerID,名字,密碼號,住址,聯系方式以及罰款等等。每注冊一個讀者學生,都會自動生成一個唯一標識 readerID,以供學生登錄使用,以及借書等其他操作。如果借閱表中記錄為學生借閱圖書超期,則會根據超期天數計算出對應學生的罰款金 額,并存放在罰金字段當中。其詳細結構如表 3 所示。表 3reader 結構表字段名稱類型主鍵非空默認值readerIDInt(4)YesYes會員名Varchar(20)NoNo密碼Varchar(20)NoYesIDVarchar(20)NoYes住址Varchar(50)NoNo聯系方式Va
26、rchar(50)NoNoVarchar(50)NoNo字段名稱類型主鍵非空默認值罰金Float(8)NoYes0(4)管理員表(manager):用于存放管理員的所有信息。包括其登錄名,密碼,地址和聯系方式,這里 isAdmin 字段用于標識管理員是否為超級管理員, 若是則值為 True,否則為 False。這些信息提供管理員登錄時的信息,以及對其權限控制。由超級管理員億創建的普通管理員其isAdmin 字段都為 False。其詳細結構如表 4 所示。表 4manager 結構表字段名稱類型主鍵非空默認值IDInt(4)YesYesmanagerNameVarchar(20)NoYesman
27、agerPwdVarchar(20)NoYesisAdminBit(1)NoYesFalseTelephoneVarchar(20)NoNoAddressVarchar(50)NoNo(5)留言表(Lyan):用于存放學生的留言標題,留言容,留言者,及其聯系方式,留言時間等。另外還可以存放管理員對留言的回復容。將回復容和留言存放在一個表中,這樣更方便于數據的操作和存儲。其詳細結構如表 5 所示。表 5Lyan 結構表字段名稱類型主鍵非空默認值IDInt(4)YesYesTopicVarchar(50)NoYesNameVarchar(50)NoYesTelephoneVarchar(50)No
28、NoTheDateDatetime(8)NoYesContentText(16)NoYesReplyText(16)NoNoreplydateDatetime(8)NoNo(6)公告表(announce:用于存放管理員所發布的公告信息。包括公告標題,公告容,和發布公告的時間等。其詳細結構如表 6 所示:表 6announce 結構表字段名稱類型主鍵非空默認值IDInt(4)YesYesTopicVarchar(50)NoYesContentText(16)NoYes字段名稱類型主鍵非空默認值ThedateDatetime(8)NoYes(7)在線閱讀表(onlineReading):用于存放供
29、讀者在線閱讀的圖書的信息。包括圖書名,圖書的主要介紹,和圖書所有的容,以及入庫日期等。其詳細結構如表 7 所示。表 7 onlineReading 結構表字段名稱類型主鍵非空默認值IDInt(4)YesYesTopicVarchar(50)NoYesContentText(16)NoYesIndateDatetime(8)NoYesIlluminateText(16)NoNo(8)圖書館參數表(LibraryDetail):用于存放圖書館的主要參數信息。即一本書的借閱期限,一個讀者最多可能借書的本數,以及超期后,對讀者一天的懲罰金額,另外還可以在這里增加一些附加的管理制度。等信息。其詳細結構如
30、表 8 所示。表 8 LibraryDetail 結構表字段名稱類型主鍵非空默認值IDInt(4)YesYes借書期限Int(4)NoYes1借書數量Int(4)NoYes5超期罰金Float(8)NoYes02管理制度Text(16)NoNo4.4 數據庫的約束與關系數據庫中各表都有其特定的限制,以及一些重要的關聯。這里將一些重要約束描述如下:(1)管理員表與其它表無關系,只是為了存放管理員的與密碼等數據。(2)讀者表里的 readerID 字段為主鍵,用于存放老師的 ID。(3)圖書表里存放的是圖書的所有信息,其中bookID 為主鍵,用于存放圖書的 ID。(4)借閱表里存放的是讀者借閱圖
31、書的所有信息,其中 readerID 和 bookID 共同作為其主鍵。(5)借閱表也是最重要的一個表它同時與二個表存在著外鍵約束,圖書表之間,與讀者表之間存在著外鍵約束,圖書表里面的 bookID 字段的值與借閱表里面的 bookID 值相關聯,讀者表里面的 readerID 字段的值與借閱表里面的readerID 值相關聯。(6)公告表和在線閱讀表均與其它表無關系。(7)留言表用于存放留言數據,及管理相應的回復容,與其他表也無關系。(8)其它各表的字段值都是有一些非空的約束,詳細情況請見各數據表。(9)在新建數據庫之后插入了一些測試數據(詳見系統數據庫,這里不提供)。5 小型數字圖書館的具
32、體實現圖 6 首頁界面本設計采用 B/S 結構,綜合運用以前所學的專業知識,設計開發的一個功能較完善的小型數字圖書館系統,具體包括以下功能:(1)前臺管理模塊(學生的登陸、學生信息的維護等功能);(2)圖書檢索模塊(包括圖書的搜索、圖書分類查詢、借閱查詢等功能);(3)圖書借閱模塊(包括正常借閱、續借圖書以及還書等功能);(4)在線電子圖書的閱覽;(5)圖書館公告(包括圖書館新聞、新書預告、規章制度等);(6)留言簿模塊(包括留言簿的瀏覽、讀者留言、留言簿的管理等功能);(7)后臺管理模塊(包括圖書的錄入、增加、刪除等功能)、讀者的管理(讀者的注冊、等)、數據的更新、數據庫的備份與恢復等功能。
33、下面就詳細介紹一下每一個功能模塊。首先整個系統對數據庫的連接用了一個conn.inc 文件,它負責與sql server2000 的連接工作。具體代碼為:每一個需要連接數據庫的頁面可以直接引用該文件即可。實現語句為:圖 6 界面圖是整個數字圖書館系統的首頁。左面部分主要用于學生的登錄, 對圖書的查詢,而右面則公告信息以及推薦圖書的查看。主題圖下面的導航欄導航你到整個系統。5.1 前臺管理模塊本模塊主要實現的是對讀者身份進行鑒別,以及讀者對自己的資料進行維護等功能。(1)讀者登錄讀者通過表單提供讀者和密碼,系統根據讀者所提供的信息對其進行身份查詢鑒別。如果身份合法的話,直接進入讀者界面,并用 s
34、ession 變量記錄讀者的和密碼,以待以后頁面使用。如果條件成立,則就連接數據庫,用 SQL 語句在 reader 表中以輸入的和密碼作為查詢條件進行查詢是否相符合的記錄。其語句為:sql=select * from reader where readerID=&request(reader)& and 密 碼=&request(readerpwd)&set con=server.CreateObject(adodb.recordset) con.open sql,conn,3,3然后對 con 記錄集進行判斷,如果為空,則沒有查找到與讀者所輸入的信息相符合的數據,并反饋相應信息提示重新登錄
35、。否則就用兩個 session 變量來存放讀者和密碼,以用來標識讀者的身份。if not con.eof then用session 變量記錄讀者身份信息session(readerID)=request(reader) session(readerpassword)=request(readerpwd)end if(2)讀者資料修改:讀者可以先登錄進系統,通過身份驗證之后,對原來數據庫中存儲的個人信息進行修改。但是讀者所能修改的信息僅是個人信息的有限數據,如學生名、登錄密碼、家庭住址、聯系以及等信息,而對于讀者和號是無法修改的,因為讀者是根據號唯一且自動生成的,也是不能修改的。讀者登錄后,在
36、login.asp 頁面所提供的讀者原信息 form 表單中更新成對應的新信息,提交到 readeralter.asp 頁面,由它進行處理。首先用 request 對象獲取數據,再對必須填寫的選項進行判斷是否輸入信息完整,成立再判斷舊密碼是否正確,即判斷其是否為非法學生。具體實現的SQL 語句如下:sql=select * from reader where readerID=&session(readerID)& and 密碼=&request(pwd)& conn.execute(sql)新密碼進行是否相同。前面所有的條件都成立,就可以直接對數據更改,用了一個 UPDATE 更新語句來實現
37、。sql=update reader set 會 員 名 =&request(newReaderName)&, 密 碼 =& request(newpwd1)&, 聯 系 方 式 =&request(telephone)&, 住 址 =&request(address)&,=&request(mail)& session(readerID)&conn.execute(sql)wherereaderID=&實現了信息更改之后,如果學生修改了密碼,則必須將其和密碼用以重新登錄,以及時更新 session(“readerpassword”)變量數據。在這里可以用一個response 對象的redir
38、ect 方法來實現,并將和新密碼作為參數傳遞給login.asp 頁面,來自動重新登錄。response.redirectlogin.asp?reader=&session(readerID)&readerpwd=& request(newpwd1)5.2 圖書檢索模塊本模塊主要實現的功能有圖書的搜索、圖書分類查詢、借閱查詢等功能。(1) 圖書的搜索讀者可以在圖書搜索引擎中輸入所要查找的圖書相關信息,選擇相應的搜索方式,和圖書所在的類型進行搜索,系統會查詢所有符合所輸入的查詢信息,顯示給讀者,可以直接點擊圖書名進入查看圖書的詳細資料。讀者直接在搜索引擎中關鍵字文本框(名為:book)中輸入所要
39、查詢圖書的相關數據。所輸入的信息可以是書名、以及作者相關的信息。“請選擇搜索方式”是一個 select 下拉菜單(名為:ssfs),一共有三個有效的 option 選項:書名;作者;。讀者可以選擇搜索方式,即所輸入的信息在所選定的字段中查詢。“請選擇圖書類型”也是一個select 下拉菜單(名為:tslx),它列出了所有的圖書類型,讀者可以選擇自己所要查詢的圖書屬于那一類型,就可以只在這一類圖書中搜索。Form 表單將所輸入的數據提交到 search.asp 頁面進行查詢處理。首先要生成 SQL 語句:sql=select * from book where 根據所選擇的條件下生成搜索方式,用
40、一個 like 子句來實現所有包含所輸入的關鍵字記錄。if request(ssfs)請選擇搜索方式.and request(ssfs) then sql=sql&request(ssfs)& like %&request(book)&% else 如果沒有選擇搜索方式,則將會在所書名,作者,中查詢所有符合你所輸入的信息sql=sql& 書名 like %&request(book)&% or 作者 like%&request(book)&% or like %&request(book)&% end if生成圖書類型搜索條件if request(tslx)請選擇圖書類型.and reques
41、t(tslx) then sql=sql& and 類型=&request(tslx)&end if如果查找到相關記錄,則就在頁面上以表格的方式顯示出所有匹配的記錄的圖書名、作者以及等重要信息。點擊可以顯示圖書的詳細信息。而且必須將當前記錄的 bookID 傳遞給 bookdetail.asp 以顯示相應的記錄信息。a href=bookdetail.asp?ID=.這樣讀者就可以直接點擊所查找到的圖書名進入 bookdetail.asp 頁面查看其詳細信息,包括:bookID圖書名、作者、等信息。在其下面還顯示出管理最新推薦的十本同類圖書。其實現 SQL 語句為:sqll=select to
42、p 10 * from book where 類型=&tt& and 推薦=1 order by 入庫日期讀者可以記下其對應的 bookID 號,到圖書館向管理員借閱此書。(2) 圖書分類查詢系統提供了一個圖書分類的模塊,學生可以直接在導航里點擊“圖書分類” 版塊進入分類模塊。學生可以根據自己的需要,進入到相應的分類頁面查詢圖書。進入到圖書分類版塊,其主頁是圖書借閱的排行榜,對所有圖書按借閱次數的倒序方式進行排序。fldefault.asp 左邊是一個分類導航,每一類都顯示了該類的所有圖書信息,就以計算機類為例:sql=select * from book where 類型=計算機在這個頁面中
43、,由于記錄條數較多,系統采用了分頁顯示技術,在每一個頁面只顯示 20 條記錄,超出了 20 條記錄,則就會自動分成多頁顯示。這個技術是網頁開發上有很大的用途,他也是整個系統的一大特點。con.Pagesize=20設置每頁所顯示的記錄條數a 表示當前顯示數據的頁數,用 request 來獲取上個頁面所傳來的所要顯示的頁數, 并將其轉換成整型數據a=cint(request (a)當 a 小于 1 或等于 0 時,則給a 賦值為 1,即顯示第一頁if (a=0) or acon.pagecount then a=con.pagecount將 a 的值賦予給記錄集的當前頁碼,以顯示相應數據con.
44、absolutepage=aif not con.eof theni=1i 作為條件,用來控制循環次數這里用兩個條件控制循環,(not con.eof)是用于控制如果當前記錄集已指針已在最后一條記錄之后,則不用再循環;(=con.pagesize)用于控制循環的次數,即在當前頁面上所要顯示的數據條數。兩個條件只要有一個不成立都會退出循環。do while (not con.eof) and (i=con.pagesize)以表格方式顯示出數據,主要是html 代碼,這里省略不再講解i=i+1 顯示完一條數據后,將i 自動加 1con.movenext 記錄指針移到下一條記錄上loop返回執行循
45、環代碼接下來判斷如果當前頁面不是第一頁,那第顯示第一頁,上一頁連接項,這樣讀者就能夠根據需要進行頁面選擇。% if a1 thenresponse.write第一頁 response.write上一頁 end if如果當前頁面不是最后一頁,那第顯示下一頁,最后一頁連接項。if acon.pagecount thenresponse.write 下一頁 response.write最后一頁 end if%;總頁數: /顯示總的分頁頁面數(3) 借閱查詢學生可以查詢到自己已借并且尚未還的圖書借閱記錄,并且可以獲悉此書是何時借閱,以及該書的借閱期限,好讓讀者把握好時間還書或者進行續借。查詢讀者的借書
46、記錄,此系統中可以通過兩種方式實現。一種是學生通過身份驗證,登錄到系統中,在讀者頁面里點擊圖書續借標簽就可以直接查看到自己當前所有的借書記錄。在這里顯示了借閱的圖書號、借閱時間、是否已經續借過、以及讀者可以進行續借等操作。這個頁面的實現是根據記者登錄時所輸入的和密碼,登錄成功后在 borrow 表中查找出該讀者的所有借書信息顯示到頁面上來。另外一種查詢借書記錄的方式是管理員在圖書借還標簽下在相應的文本框 輸入讀者的,進入 tsjh1.asp 可以查看到該讀者的所有詳細信息。包括其讀者號、學生名、號、聯系等等信息,還有的借書記錄信息,也包括圖書號、借閱時間、是否已經續借過等。兩種方式都可以讓讀者
47、了解到自己的借書信息,以保證能夠及時的對圖書進行借還,以免超期被罰款。5.3 圖書借閱模塊圖書借閱模塊主要實現的功能包括正常借閱、續借圖書以及還書等。這個功能模塊是實現對讀者和圖書借閱管理,這也是整個圖書館系統最核心的功能,其他的所有功能都是圍繞著這個功能而展開的。圖書借閱操作必須由管理員來操作,可以通過兩種方式進行管理。一種方式是在 tsjh.asp 的讀者編號中輸入相應的讀者,同前面借閱查詢模塊進入到tshj1.asp 讀者詳細信息頁面,這里可以顯示了該讀者所有已經借了的圖書,其中有一個續借字段和一個還書字段。最下面是一個圖書借閱的 form 表單,在文本框(名為 bookhao)中輸入所
48、要借閱的圖書編號,點擊續借直接轉入到jieyue.asp 頁面進行借閱處理。jieyue.asp 中首先判斷其所輸入的 bookhao 是否為空,不為空則進行處理。其主要代碼如下:首先從 libraryDetail 表中獲取借書數量的值,用session(“data”)變量存放.再從 borrow 表中查詢到前一個頁面提交過來的讀者記錄的所有借書信息, 判斷其借書的數目是否已經達到最大的上限。所借圖書本數還未達到上限,則根據圖書號進行查找該圖書是否存在,并判斷圖書是否已被借出。若在庫存中,則可以借閱,處理數據時要保持兩個數據表中的數據統一。借閱圖書操作,使圖書表中對應圖書號的是否借出字段更改成
49、” 1”即為真值,再利用一個嵌套查詢將該圖書的借閱次數在原來的基礎上加 1,以統計圖書的借閱次數。sql=update book set 是否借出=1,借閱次數=1+(select 借閱次數 from bookwhere bookID=&request(bookhao)&) where bookID=&request(bookhao) conn.execute(sql)向 borrow 表中插入相應讀者與圖書的借閱對應關系信息。分別將讀者和圖書號共同存入進去。ssql=insertintoborrow(readerID,bookID, 借 閱 日 期 )values (&request(duz
50、hehao)&,&request(bookhao)&,&date&)conn.execute(ssql)另一種方式是在 tsjh.asp 的圖書編號文本框中直接輸入所要借閱圖書,則就會在 tshj1.asp 頁面中顯示相應的圖書信息,并在狀態字段里顯示該圖書當前的狀態是已借出還是還在圖書館中。如果在圖書館,操作字段就會顯示“借閱” 按鈕,點擊后,輸入讀者,也可直接提交到 jieyue.asp 頁面中進行借閱處理。另外讀者還可以直接在網上進行續借操作。讀者通過身份驗證過登錄到login.asp 頁面,在其圖書續借標簽(xujie.asp)里也可以查看到自己的所有借書信息,如果是還沒有續借過的記錄
51、,將會在續借字段里顯示一個續借按鈕,點擊就可以續借該圖書,代碼同上。tsjh1.asp 的讀者信息中每一條借書記錄的還書字段都有一個“還書”按鈕, 點擊此按鈕可以將該條記錄的圖書號和讀者一同提交到 return.asp 頁面進行處理。主要操作是:先將 borrow 表中相應的借書信息給刪除:sql=deletefromborrowwherebookID=&request(bookhao)&and readerID=&request(duzhehao)conn.execute(sql)再把 book 表中對應圖書的“是否借出”字段值更改成為“0”即假值。ssql=update book set
52、是否借出=0 where bookID=&request(bookhao) conn.execute(ssql)在 tsjh1.asp 的學生信息頁面里,還有一個罰金字段,如果讀者所借閱的圖書超出期限,則在系統啟動時會計算出其到當天為止就交的罰款金額,這在前面已介紹過了。這個罰金字段就顯示的是 reader 表中“罰金”字段的值。讀者在還書的時候需交納其罰款金額,交了之后,管理員可以點擊“罰金已交”按鈕將讀者信息提交到 tsjh2.asp 頁面對數據庫中數據進行清楚處理。sql=update reader set 罰金=0 where readerID=&request(ID)5.4 在線電子圖書閱覽模塊(1) 在線閱讀在線電子圖書的閱覽模塊給讀者提供了一些電子書籍的在線閱讀功能,利用網絡資源,達到資源共享的目的。給讀者帶來了積大的方便。在首頁的導航欄直接點擊進入在線閱讀者頁面(onlinereading.asp),顯示了所有
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 安全教育理科試題及答案
- 烏審旗考試真題及答案
- 事業單位員工保密協議書
- 電商平臺戰略合作協議樣板
- 小學三年級語文下冊教學計劃
- 公共服務設施物業管理制度服務協議
- 智能化建筑項目標準招標代理合同
- 2025合同范本建筑工程混凝土供應合同樣本
- STAR-RIS輔助無線供能通信系統的聯合波束賦形優化設計
- 高中歷史會考試題及答案
- 跟著音樂游中國(廣州大學)知到智慧樹章節答案
- 缺血性腸病病例
- 電大《納稅籌劃》考試題庫小抄
- 2024年新人教版五年級數學下冊《第4單元分數的意義和性質 整 理和復習》教學課件
- 如何正確呼叫120
- 古詩詞誦讀《客至》課件+2023-2024學年統編版高中語文選擇性必修下冊
- 孟母三遷故事繪本課件
- 2024年黑龍江省綏化市中考物理二模試卷(含答案)
- GB/T 44265-2024電力儲能電站鈉離子電池技術規范
- 人教版八年級下冊英語詞匯專項訓練及解析答案
- 2024年浙江省湖州市長興縣小升初數學試卷
評論
0/150
提交評論