基于.NET的圖書管理系統(tǒng)_第1頁
基于.NET的圖書管理系統(tǒng)_第2頁
基于.NET的圖書管理系統(tǒng)_第3頁
基于.NET的圖書管理系統(tǒng)_第4頁
基于.NET的圖書管理系統(tǒng)_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 分類號 UDC本單位編號 密級Xx大學畢業(yè)設(shè)計論文題名和副題名 基于ASP.NET的圖書管理系統(tǒng)作者姓名 學號 工作單位 聯(lián)系 指導教師姓名 職稱 工作單位 聯(lián)系 辯論委員會主席評 閱 人 2021年6月摘 要當今時代是飛速開展的信息時代。在各行各業(yè)中都離不開數(shù)據(jù)處理,這使得計算機被廣泛應(yīng)用于信息管理系統(tǒng)。計算機的最大好處在于利用它能夠進行信息管理。使用計算機進行信息管理,能夠大大地提高工作效率,而且增強了數(shù)據(jù)平安性。圖書館作為一種信息資源的集散地,圖書和用戶借閱資料繁多,包含大量的信息數(shù)據(jù)管理。本論文主要闡述了一個基于ASP.NET和SQL Server 2000的圖書管理系統(tǒng)的設(shè)計與實現(xiàn)

2、,該系統(tǒng)實現(xiàn)了用戶管理、圖書檢索、借書還書、圖書增刪改功能。具有良好的人機界面。關(guān)鍵詞: ASP.NET, SQL Server 2000, 圖書管理, 信息AbstractToday is a rapid development of information age. In all walks of life can not be separated from data processing, which is widely used in computer information management system. The greatest advantage the computer

3、is to be able to use its information management. The use of computer information management, can greatly improve efficiency, and enhanced data security. As a distribution center for information resources, there are many books and users in the library. So a library includes a large number of informat

4、ion data management. This paper mainly expounds the design and implementation of a library management system which is based on ASP.NET and SQL Server 2000. This MIS system includes many modules such as user management, book search, borrow books and return books, additions and deletions of books with

5、 a good user interface.Keywords: ASP.NET, SQLServer2000, Book Management, Information目 錄 TOC o 1-3 h z u HYPERLINK l _Toc226565305 第1章 前言 PAGEREF _Toc226565305 h 1 HYPERLINK l _Toc226565306 1.1 背景介紹 PAGEREF _Toc226565306 h 1 HYPERLINK l _Toc226565307 1.2 系統(tǒng)設(shè)計目的及內(nèi)容 PAGEREF _Toc226565307 h 1 HYPERLINK

6、 l _Toc226565308 第2章 綜述 PAGEREF _Toc226565308 h 2 HYPERLINK l _Toc226565309 2.1課題來源 PAGEREF _Toc226565309 h 2 HYPERLINK l _Toc226565310 2.2需求分析 PAGEREF _Toc226565310 h 2 HYPERLINK l _Toc226565311 2.2.1 功能需求 PAGEREF _Toc226565311 h 2 HYPERLINK l _Toc226565312 2.2.2 其他需求 PAGEREF _Toc226565312 h 3 HYPE

7、RLINK l _Toc226565313 第3章 設(shè)計方案 PAGEREF _Toc226565313 h 4 HYPERLINK l _Toc226565314 3.1 ASP.NET簡介 PAGEREF _Toc226565314 h 4 HYPERLINK l _Toc226565315 3.2 SQL Server簡介 PAGEREF _Toc226565315 h 5 HYPERLINK l _Toc226565316 3.3 系統(tǒng)設(shè)計方案 PAGEREF _Toc226565316 h 6 HYPERLINK l _Toc226565317 第4章 系統(tǒng)設(shè)計 PAGEREF _T

8、oc226565317 h 7 HYPERLINK l _Toc226565318 4.1 系統(tǒng)結(jié)構(gòu) PAGEREF _Toc226565318 h 7 HYPERLINK l _Toc226565319 4.1.1 系統(tǒng)框架圖 PAGEREF _Toc226565319 h 7 HYPERLINK l _Toc226565320 4.2 模塊介紹 PAGEREF _Toc226565320 h 7 HYPERLINK l _Toc226565321 4.3 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計 PAGEREF _Toc226565321 h 8 HYPERLINK l _Toc226565322 第5章 系統(tǒng)實現(xiàn)

9、 PAGEREF _Toc226565322 h 10 HYPERLINK l _Toc226565323 5.1 開發(fā)環(huán)境及工具 PAGEREF _Toc226565323 h 10 HYPERLINK l _Toc226565324 5.2 模塊說明及程序流程設(shè)計 PAGEREF _Toc226565324 h 10 HYPERLINK l _Toc226565325 5.2.1 模塊說明 PAGEREF _Toc226565325 h 10 HYPERLINK l _Toc226565326 5.2.2 模塊流程 PAGEREF _Toc226565326 h 11 HYPERLINK

10、l _Toc226565327 5.3 關(guān)鍵技術(shù)分析 PAGEREF _Toc226565327 h 13 HYPERLINK l _Toc226565328 第6章 系統(tǒng)運行效果 PAGEREF _Toc226565328 h 20 HYPERLINK l _Toc226565329 6.1 系統(tǒng)運行效果 PAGEREF _Toc226565329 h 20 HYPERLINK l _Toc226565330 6.2 測試結(jié)果 PAGEREF _Toc226565330 h 22 HYPERLINK l _Toc226565331 6.3自我評價 PAGEREF _Toc226565331

11、h 22 HYPERLINK l _Toc226565332 6.4改良意見 PAGEREF _Toc226565332 h 22 HYPERLINK l _Toc226565333 結(jié)束語 PAGEREF _Toc226565333 h 23 HYPERLINK l _Toc226565334 致謝 PAGEREF _Toc226565334 h 24 HYPERLINK l _Toc226565335 參考文獻 PAGEREF _Toc226565335 h 25 HYPERLINK l _Toc226565336 附錄 PAGEREF _Toc226565336 h 26第1章 前言1.

12、1 背景介紹 一直以來人們使用傳統(tǒng)的人工方式管理圖書館的日常工作,對于圖書館的借書和還書過程,想必大家都已很熟悉。在計算機尚未在圖書館廣泛使用之前,借書和還書過程主要依靠手工。一個最典型的手工處理還書過程就是:讀者將要借的書和借閱證交給工作人員,工作人員將每本書上附帶的描述書的信息的卡片和讀者的借閱證放在一個小格欄里,并在借閱證和每本書貼的借閱條上填寫借閱信息。這樣借書過程就完成了。還書時,讀者將要還的書交給工作人員,工作人員根據(jù)圖書信息找到相應(yīng)的書卡和借閱證,并填好相應(yīng)的還書信息,這樣還書過程就完成了。 以上所描述的手工過程的缺乏之處顯而易見,首先處理借書、還書業(yè)務(wù)流程的效率很低,其次處理能

13、力比擬低,一段時間內(nèi),所能效勞的讀者人數(shù)是有限的。利用計算機來處理這些流程無疑會極大程度地提高效率和處理能力。我們將會看到排隊等候借書、還書的隊伍不再那么長,工作人員出錯的概率也小了,讀者可以花更多的時間在選擇書和看書上。 為方便對圖書館書籍、讀者資料、借還書等進行高效的管理,于是提出了本課題。1.2 系統(tǒng)設(shè)計目的及內(nèi)容圖書管理系統(tǒng)主要目的是對圖書館種類繁多的書籍進行管理,并且合理管理好用戶的借還信息。提高圖書館的工作效率,降低管理本錢。其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護,以及前端應(yīng)用程序的開發(fā)。前者要求建立起數(shù)據(jù)一致性、完整性強、數(shù)據(jù)平安性好的數(shù)據(jù)庫。而后者那么要求應(yīng)用程序具有功能完備、易

14、用等特點。本系統(tǒng)結(jié)合這些要求,采用ASP.NET技術(shù)和SQL SERVER 2000數(shù)據(jù)庫進行系統(tǒng)的開發(fā)。提供了用戶信息管理、圖書信息檢索、借書、還書、圖書新增、圖書銷毀、圖書信息修改功能。第2章 綜述課題來源開發(fā)軟件的一個目的是針對目前普遍的圖書管理系統(tǒng)存在的功能不全,操作復雜,系統(tǒng)要求高等一系列問題,而設(shè)想一個具有個性化的圖書管理系統(tǒng)。該管理系統(tǒng)與MIS系統(tǒng)相聯(lián)系,在圖書館內(nèi)部建成可靠,方便,并且功能齊全的MIS系統(tǒng)。從而在圖書館對新舊書的反響;對書籍借閱的管理能力;對讀者和圖書館工作人員的管理能力;對圖書館管理人員軟件操作的適應(yīng)時間和操作感覺這些方面都將大大的提高。當然對該軟件的態(tài)度是渴

15、望獲得顯著的社會效益。開發(fā)軟件的另一個目的是使其具有強大的實用價值,即它可以滿足中小型圖書館的借閱與管理的需要。在一般的學校與科研機構(gòu),其下屬的很多分支的研究中心,試驗中心,各個學院,它們往往都有著自己的規(guī)模較大的圖書資料室。而這些圖書資料室由于本身規(guī)模不大因此其對書籍或資料的管理模式一般都比擬舊,而且在沒有能力也沒有必要引進大型的圖書館管理軟硬件的根底上,尋求一個針對中小型圖書資料室的管理軟件是必要的。這種管理軟件對硬件的要求很低,一般有一個比擬簡單的效勞器與PC機組成的網(wǎng)絡(luò)即可,再加上使用比擬廉價、性能不錯的軟件,這樣就可以以較低的本錢來實現(xiàn)一個足夠使用的功能,而這種模式也正滿足了那種中小

16、型資料室,圖書館的要求。但是目前對這種管理軟件的開發(fā)還處于一種比擬原始的階段。開發(fā)者往往都是出于資金和時間的顧慮使用比擬陳舊的技術(shù),并且各為己見,并且很少涉及網(wǎng)絡(luò)??墒钱斀袷且粋€網(wǎng)絡(luò)化的社會,像資料室,圖書館這樣的信息機構(gòu)不能與網(wǎng)絡(luò)聯(lián)系起來豈不可惜,再加上如今單機版的圖書管理軟件多如牛毛,去開發(fā)一個類似的軟件無疑是一種在時間上、精神上和資源上的極大浪費。所以出于多方面的考慮覺得有必要為這種有需要的中小型圖書館,資料室開發(fā)一種基于網(wǎng)絡(luò)的圖書資料管理軟件。需求分析 功能需求根據(jù)用戶需求,結(jié)合實際考察,圖書管理系統(tǒng)要求具備如下功能:新增用戶,修改注冊用戶信息能夠根據(jù)圖書名、ISBN號等方式檢索圖書信

17、息為讀者提供借書、還書效勞圖書新增功能圖書銷毀功能能夠修改圖書館中現(xiàn)有的圖書信息。2.2.2 其他需求要求系統(tǒng)響應(yīng)速度快、可靠操作方便、界面友好第3章 設(shè)計方案3.1 ASP.NET簡介ASP.NET不僅僅是下一版本的ActiveServerPage(ASP);它是統(tǒng)一的Web 開發(fā)平臺,用來提供開發(fā)人員生成企業(yè)級Web應(yīng)用程序所需的效勞。ASP.NET的語法在很大程度上與ASP 兼容,同時它還提供一種新的編程模型和結(jié)構(gòu),用于生成更平安、可伸縮和穩(wěn)定的應(yīng)用程序??梢酝ㄟ^在現(xiàn)有ASP應(yīng)用程序中逐漸添加ASP.NET功能,隨時增強該 ASP應(yīng)用程序的功能。 ASP.NET是一個已編譯的、基于.NE

18、T的環(huán)境,可以用任何與.NET兼容的語言包括VisualBasic.NET、C#和 JScript.NET.創(chuàng)作應(yīng)用程序。另外,任何ASP.NET應(yīng)用程序都可以使用整個.NET 框架。開發(fā)人員可以方便地獲得這些技術(shù)的優(yōu)點,其中包括托管的公共語言運行庫環(huán)境、類型平安、繼承等等。 ASP.NET可以無縫地與WYSIWYGHTML編輯器和其他編程工具包括MicrosoftVisualStudio .NET一起工作。這不僅使得Web開發(fā)更加方便,而且還能提供這些工具必須提供的所有優(yōu)點,包括開發(fā)人員可以用來將效勞器控件拖放到Web頁的GUI 和完全集成的調(diào)試支持。 在創(chuàng)立ASP.NET應(yīng)用程序、Web窗

19、體和Web 效勞時,開發(fā)人員可以選擇以下兩個功能,或者以他們認為適宜的任何方式將它們結(jié)合起來使用。每個功能都能得到同一結(jié)構(gòu)的支持,使您能夠使用身份驗證方案,緩存經(jīng)常使用的數(shù)據(jù),或者對應(yīng)用程序的配置進行自定義,這里只是列出幾種可能性而已。“Web窗體用于生成功能強大的基于窗體的Web頁。生成這些頁時,可以使用ASP.NET效勞器控件來創(chuàng)立公共UI 元素,以及對它們進行編程以用于執(zhí)行常見的任務(wù)。這些控件使您能夠用可重復使用的內(nèi)置或自定義組件生成Web窗體,從而簡化頁面的代碼。有關(guān)更多信息,請參閱 Web窗體頁。有關(guān)如何開發(fā)ASP.NET效勞器控件的信息,請參閱開發(fā)ASP.NET效勞器控件。XMLW

20、ebservices提供了遠程訪問效勞器功能的途徑。通過使用Web 效勞,企業(yè)可以公開其數(shù)據(jù)或業(yè)務(wù)邏輯的編程接口,然后客戶端和效勞器應(yīng)用程序就可以獲得和操作這些編程接口。 這些模型中的每一個模型都可以充分利用所有ASP.NET功能,以及.NET框架和.NET 框架公共語言運行庫的強大功能。這些功能以及使用它們的方法概述如下:如果您具有ASP開發(fā)技能,那么新的ASP.NET編程模型對您來說將會是非常熟悉的。不過,與ASP相比,ASP.NET 對象模型變化顯著,它更為結(jié)構(gòu)化并且面向?qū)ο?。但這也意味著ASP.NET不是完全向后兼容的;幾乎所有現(xiàn)有的ASP頁都必須經(jīng)過一定程度的修改后才可以在ASP.N

21、ET下運行。此外,用VisualBasicScripting 版本編寫的現(xiàn)有ASP頁通常將不會直接移植到ASP.NET中。不過,在大多數(shù)情況下,只需對少數(shù)幾行代碼進行必要的修改。從ASP.NET應(yīng)用程序訪問數(shù)據(jù)庫是向Web站點訪問者顯示數(shù)據(jù)的常用技術(shù)。ASP.NET使得為此目的而對數(shù)據(jù)庫的訪問比以往更加方便。它還使您能夠從您的代碼管理數(shù)據(jù)庫。有關(guān)更多信息,請參閱通過ASP.NET訪問數(shù)據(jù)。3.2 SQL Server簡介SQL Server 是一個關(guān)系數(shù)據(jù)庫管理系統(tǒng)它是由Microsoft推出的。SQL Server 是一個具備完全 Web 支持的數(shù)據(jù)庫產(chǎn)品,提供了對可擴展標記語言 (XML)

22、 的核心支持以及在 Internet 上和防火墻外進行查詢的能力,提供了以 Web 標準為根底的擴展數(shù)據(jù)庫編程功能。豐富的 XML 和 Internet 標準支持允許使用內(nèi)置的存儲過程以 XML 格式輕松存儲和檢索數(shù)據(jù)。SQL Server 提供強大的開發(fā)工具和各類開發(fā)特性,在大大提高開發(fā)效率的同時,進一步拓展應(yīng)用空間,帶來新的商業(yè)應(yīng)用機遇。例如,XML數(shù)據(jù)庫與Web Service的支持將使您的應(yīng)用實現(xiàn)Internet數(shù)據(jù)互聯(lián),.net集成極大的擴展了開發(fā)空間,異構(gòu)數(shù)據(jù)集成、Service Broker使您的數(shù)據(jù)和其它應(yīng)用無縫集成,各種新數(shù)據(jù)類型和T-SQL擴展帶來了諸多靈活性。C#、VB.

23、net、XQuery、XMLA、ADO.net 2.0、SMO、AMO等都將成為SQL Server數(shù)據(jù)平臺上開發(fā)數(shù)據(jù)相關(guān)應(yīng)用的有力工具。它具有以下特點:上手容易大多數(shù)的中小企業(yè)日常的數(shù)據(jù)應(yīng)用是建立在Windows平臺上的。由于SQL Server與Windows界面風格完全一致,且有許多向?qū)?Wizard)幫助,因此易于安裝和學習,有關(guān)SQL Server的資料、培訓隨處可得,并且目前國內(nèi)具有MCDBA認證的工程師不在少數(shù)兼容性良好由于今天Windows操作系統(tǒng)占領(lǐng)著主導地的位,選擇SQL Server一定會在兼容性方面取得一些優(yōu)勢。另外,SQL Server 2000 除了具有擴展性,可靠

24、性以外,還具有可以迅速開發(fā)新的因特網(wǎng)系統(tǒng)的功能。尤其是它可以直接存貯 XML 數(shù)據(jù),可以將搜索結(jié)果以 XML格式輸出等特點,有利于構(gòu)建了異構(gòu)系統(tǒng)的互操作性,奠定了面向互聯(lián)網(wǎng)的企業(yè)應(yīng)用和效勞的基石。這些特點在.NET 戰(zhàn)略中發(fā)揮著重要的作用。電子商務(wù)在使用由Microsoft SQL Server 2000關(guān)系數(shù)據(jù)庫引擎的情況下,XML數(shù)據(jù)可在關(guān)系表中進行存儲,而查詢那么能以XML格式將有關(guān)結(jié)果返回。此外,XML支持還簡化了后端系統(tǒng)集成,并實現(xiàn)了跨防火墻的無縫數(shù)據(jù)傳輸。你還可以使用Hypertext Transfer Protocol超文本傳輸協(xié)議,HTTP來訪問SQL Server 2000,

25、以實現(xiàn)面向SQL Server 2000數(shù)據(jù)庫的平安Web連接和無須額外編程的聯(lián)機分析處理OLAP多維數(shù)據(jù)集。數(shù)據(jù)倉庫Microsoft SQL Server 2000非常明顯的改良就是增加了OLAP(聯(lián)機分析處理)功能,這可以讓很多中小企業(yè)用戶也可以使用數(shù)據(jù)倉庫的一些特性進行分析。OLAP可以通過多維存儲技術(shù)對大型、復雜數(shù)據(jù)集執(zhí)行快速、高級的分析工作。數(shù)據(jù)挖掘功能能夠揭示出隱藏在大量數(shù)據(jù)中的傾向及趨勢,它允許組織或機構(gòu)最大限度的從數(shù)據(jù)中獲取價值。通過對現(xiàn)有數(shù)據(jù)進行有效分析,這一功能可以對未來的趨勢進行預測。3.3 系統(tǒng)設(shè)計方案基于以上介紹,本系統(tǒng)采用B/S架構(gòu)設(shè)計。其中,前端顯示采用ASP.

26、NET技術(shù),語言采用C#。后臺的數(shù)據(jù)庫采用Microsoft公司的SQL Server 2000個人版。通過ADO.NET技術(shù)訪問數(shù)據(jù)庫。本系統(tǒng)開發(fā)完成后,部署到一臺安裝有IIS 6.0效勞器上運行。第4章 系統(tǒng)設(shè)計4.1 系統(tǒng)結(jié)構(gòu) 系統(tǒng)框架圖圖書管理系統(tǒng)的系統(tǒng)框架圖如下所示:圖書管理系統(tǒng)用戶管理借書還書圖書管理新增用戶修改用戶圖書檢索圖書借閱圖書歸還新增圖書銷毀圖書修改圖書4.2 模塊介紹根據(jù)4.1系統(tǒng)結(jié)構(gòu)圖可以看出,圖書管理系統(tǒng)需要實現(xiàn)的功能主要有三大塊:“用戶管理、“圖書信息檢索和借還書、“圖書管理?!坝脩艄芾砟K在本模塊中,圖書管理員可以新增一個圖書館用戶,同時,圖書館管理員也可以查看

27、當前系統(tǒng)中所有用戶一覽,并且,圖書管理員可以修改任意一個用戶的根本信息或密碼?!皥D書檢索和借還書模塊本模塊提供應(yīng)普通讀者查詢書目信息的功能,提供瀏覽器模式的圖書信息檢索工具。檢索時可按書名、ISBN、作者、出版社、備注進行任意條件查詢。本模塊中提供的檢索功能是一個模糊查詢。本模塊還提供了為某讀者借閱書籍的功能,輸入讀者證件號,即可對根據(jù)檢索條件檢索出來的書籍進行借閱。本模塊同時還提供了圖書歸還功能,首先根據(jù)讀者證件號,查閱該讀者當前正在借閱的書籍一覽??梢詫δ骋槐鞠霘w還的書籍進行歸還操作。 “圖書管理模塊:圖書管理模塊主要提供了針對圖書館藏書的管理功能。該模塊提供了添加圖書的功能,管理員可以在

28、本模塊上錄入圖書館引進的新書。圖書維護:管理員實現(xiàn)對圖書的維護,通過檢索特定的書籍,管理員可以對該書籍的根本信息進行修改操作,如修改圖書名稱、在庫數(shù)量、作者、定價等等。本模塊還提供了圖書銷毀功能,管理員通過條件檢索,獲得待銷毀圖書一覽信息,直接在頁面上單擊一個“刪除按鈕即可完成對該圖書的銷毀操作。4.3 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計本系統(tǒng)使用的數(shù)據(jù)庫管理系統(tǒng)為SQL Server 2000,下面介紹圖書管理系統(tǒng)數(shù)據(jù)庫的結(jié)構(gòu)設(shè)計。我們在SQL Server的企業(yè)管理器中新建一個數(shù)據(jù)庫,名為:BookStore。在本數(shù)據(jù)庫下建立圖書管理系統(tǒng)所需要的數(shù)據(jù)表。首先,我們建立一張用戶表userinfosheet,該表

29、用于存儲不同身份的用戶數(shù)據(jù),其模式如表4.1所示。表4.1 userinfosheet用戶表字段名數(shù)據(jù)類型備注Codevarchar(10)用戶證件號,主鍵userdispnamevarchar(32)用戶昵稱UserNamevarchar(32)用戶姓名passwordVarchar(32)用戶密碼fpasswordvarchar(16)用戶界面顯示的用戶密碼,始終為*typechar(1)用戶類型 U: 普通用戶S:管理員 存儲圖書信息的表Bookinfosheet,如表4.2所示,用于存放圖書管理系統(tǒng)中所有已錄入的書目信息。表4.2 Bookinfosheet圖書信息表字段名數(shù)據(jù)類型備注

30、CodeVarchar(32)圖書編號,主鍵Namevarchar(32)書名sourcecodevarchar(32)圖書源碼Selfcodevarchar(32)自編代碼isbnvarchar(32)ISBN號yyearVarchar(32)出版年份versionVarchar(32)圖書版數(shù)authorvarchar(32)作者priceint圖書價格presscodeVarchar(32)出版社編碼loccodevarchar(32)書架號memovarchar(200)備注Numint在庫數(shù)量 存儲圖書借閱信息的表lendInfo,模式如表4.3所示。改表存放了所有讀者的借閱信息,借

31、書和還書都對該表進行操作。表3.3 lendInfo圖書借閱表字段名數(shù)據(jù)類型備注Usercodevarchar(32)用戶證件號BookcodeVarchar(32)圖書編號statusint借閱狀態(tài)BorrowDateVarchar(10)借閱時間returnDateVarchar(10)歸還時間 存儲出版社信息表pressinfosheet,模式如表3.4所示。該表存放了系統(tǒng)中的所有權(quán)限情況,本系統(tǒng)中只有四類權(quán)限:學生、老師、普通管理員和總管理員。表3.4 pressinfosheet出版社信息表字段名數(shù)據(jù)類型備注Codevarchar(10)出版社編號abbrNamevarchar(32

32、)簡略名稱fullnamevarchar(32)出版社全稱此外,我們的數(shù)據(jù)庫系統(tǒng)中還存在一個存儲過程Procedure,名為dt_bookInfo,該存儲過程用于返回圖書館中不同種類書籍的數(shù)量。其SQL腳本為:CREATE PROCEDURE dt_bookinfo AS (SELECT COUNT(*) FROM bookinfosheet)關(guān)于數(shù)據(jù)庫BOOKSTORE的建庫腳本請參照附錄2.第5章 系統(tǒng)實現(xiàn)5.1 開發(fā)環(huán)境及工具系統(tǒng)開發(fā)環(huán)境軟件環(huán)境:開發(fā)平臺:Windows XP SP3數(shù)據(jù)庫:SQL Server 2000 個人版WEB效勞器:IIS 6.0硬件環(huán)境:處理器: AMD T

33、urion 64 X2 1.9 GHz內(nèi)存:2G硬盤:160G開發(fā)工具Microsoft Visual Studio 2005Visual Studio 2005是一款優(yōu)秀的集成開發(fā)環(huán)境,它支持Windows應(yīng)用程序和ASP.NET應(yīng)用程序的開發(fā),而且它內(nèi)置了一個ASP.NET Development Server,支持ASP.NET WEB應(yīng)用程序的調(diào)試,我們可以像調(diào)試Windows應(yīng)用程序一樣去調(diào)試ASP.NET應(yīng)用程序。5.2 模塊說明及程序流程設(shè)計 模塊說明圖書管理系統(tǒng)實現(xiàn)功能分為如下三個模塊:“用戶管理模塊在本模塊中,圖書管理員可以輸入用戶編號、用戶姓名、用戶昵稱和用戶密碼創(chuàng)立一個圖

34、書管理系統(tǒng)的新用戶,該用戶默認為普通用戶。同時,圖書館管理員也可以查看當前系統(tǒng)中所有用戶一覽信息。該用戶一覽界面上提供了三個按鈕:“編輯、“修改密碼、“刪除,分別對應(yīng)著:修改用戶根本信息、修改用戶密碼和刪除該用戶功能。管理員登入系統(tǒng)后,單擊這些按鈕即可方便地實現(xiàn)對注冊用戶的管理操作。“圖書檢索和借還書模塊本模塊提供應(yīng)普通讀者查詢書目信息的功能,提供瀏覽器模式的圖書信息檢索工具。檢索時可按書名、ISBN、作者、出版社、備注進行任意條件查詢。本模塊中提供的檢索功能是一個模糊查詢。本頁面中,對檢索結(jié)果進行了分頁顯示,每頁顯示10條數(shù)據(jù),在網(wǎng)頁上提供了:“首頁、“上頁、“下頁、“尾頁和頁碼數(shù)字。用戶可

35、以方便地快速定位到某一頁。本模塊還提供了為某讀者借閱書籍的功能,首先輸入檢索條件檢索需要借閱的書籍,待檢索到的書籍在庫數(shù)量不為0時,在頁碼上輸入讀者證件號,即可對根據(jù)檢索條件檢索出來的書籍進行借閱。如果檢索到的書籍在庫數(shù)量為0,此時那么無法借閱相關(guān)書籍。頁面上會提示在庫數(shù)量為0時無法借閱。本模塊同時還提供了圖書歸還功能,首先根據(jù)讀者證件號,查閱該讀者當前正在借閱的書籍一覽。在頁面上,當前正在借閱的書籍一覽以表格的形式顯示出來。每行的最后一列提供了一個“歸還按鈕,管理員單擊該按鈕即可對該本書籍進行歸還操作?!皥D書管理模塊:圖書管理模塊主要提供了針對圖書館藏書的管理功能。該模塊提供了添加圖書的功能

36、,管理員可以在本模塊上錄入圖書館引進的新書。圖書維護:管理員實現(xiàn)對圖書的維護,通過檢索特定的書籍,管理員可以對該書籍的根本信息進行修改操作,如修改圖書名稱、在庫數(shù)量、作者、定價等等。本模塊還提供了圖書銷毀功能,管理員通過條件檢索,獲得待銷毀圖書一覽信息,直接在頁面上單擊一個“刪除按鈕即可完成對該圖書的銷毀操作。 模塊流程圖書管理系統(tǒng)三大模塊的處理流程如下:“用戶管理模塊此處給出修改用戶密碼的處理流程,其他流程類似不再贅述。輸入舊密碼、兩次輸入新密碼舊密碼正確?修改數(shù)據(jù)庫中用戶密碼提示信息:密碼錯誤NY“圖書檢索和借還書模塊 與用戶管理模塊類似,此處以借書為例,說明一下借書的處理流程。輸入書籍查

37、詢條件,查詢書籍該書籍存在?該書無庫存無法借閱書籍未找到無法借閱NY庫存大于0?NY在庫數(shù)量減一,指定用戶借書記錄加一“圖書管理模塊:此處以圖書銷毀為例,詳細說明其處理流程,如以下圖:輸入書籍查詢條件,查詢書籍該書籍存在?書籍未找到無法借閱NY從書籍表中刪除該書的信息5.3 關(guān)鍵技術(shù)分析在整個圖書管理系統(tǒng)設(shè)計實現(xiàn)過程中,存在一些關(guān)鍵技術(shù)。以下對這些關(guān)鍵技術(shù)進行代碼級的分析:數(shù)據(jù)庫連接字符串獲取代碼0102SqlConnection conn;conn = new SqlConnection(System.Configuration.ConfigurationManager.AppSetting

38、sconnection);第1行聲明一個SqlConnection對象conn,用于連接SQL Server數(shù)據(jù)庫。第2行從Web.config配置文件中讀取Key為Connection的字符串,根據(jù)該字符串生成一個SqlConnection對象。接下來我們看一下web.config文件內(nèi)容:該文件是一個XML文件,我們可以看到Key為Connection的標記的Value正是一個SQL Server連接字符串。!-數(shù)據(jù)以表格形式顯示到頁面代碼在圖書管理系統(tǒng)中,我們隨處可見數(shù)據(jù)表中的數(shù)據(jù)以表格的形式顯示在網(wǎng)頁上,這是通過一個DataGrid控件來實現(xiàn)的。以用戶信息為例,該頁面是userinfo

39、.aspx,表格相關(guān)代碼如下: 上表的代碼中,標簽對應(yīng)到查詢SQL語句的一個字段,而那么對應(yīng)編輯命令、同理對應(yīng)于一個按鈕命令,如刪除和修改密碼。我們在標簽中注冊了幾個處理事件,如下:OnCancelCommand=Grid1_Cancel OnEditCommand=Grid1_Edit OnItemCommand=Grid1_Mod OnPageIndexChanged=Grid1_PageIndexChanged OnUpdateCommand=Grid1_Update PageSize=10 OnItemDataBound=DataGrid1_ItemDataBound OnDelete

40、Command=DataGrid1_DeleteCommand這些事件分別對應(yīng)于后臺代碼文件中的函數(shù),此處不再贅述,僅僅分析一下填充該DataGrid的代碼:01020304050607080910111213141516171819202122232425262728293031323334353637 public void BindGrid() SqlDataAdapter dtcmd =null; SqlDataReader dataR =null; DataTable dt =new DataTable(); string str2 = select count(*) as nums

41、 from userinfosheet; cmd = new SqlCommand(str2, conn); conn.Open(); dataR = cmd.ExecuteReader(); if (dataR.Read() if (dataRnums.ToString() = 0) Msg.Text = ; else Msg.Text = 合計:記錄數(shù) + dataRnums.ToString(); conn.Close(); string str1 = select * from userinfosheet order by code; dtcmd = new SqlDataAdapte

42、r(str1, conn); dtcmd.Fill(dt); #region 用來判斷當前刪除是否為當前頁的最后一條記錄 if (this.DataGrid1.CurrentPageIndex = this.DataGrid1.PageCount - 1) & this.DataGrid1.Items.Count = 1) if (this.DataGrid1.CurrentPageIndex - 1 1) this.DataGrid1.CurrentPageIndex = this.DataGrid1.CurrentPageIndex - 1; else this.DataGrid1.Cur

43、rentPageIndex = 0; #endregion DataGrid1.DataSource = dt; DataGrid1.DataBind(); 第1行是函數(shù)名,填充DataGrid函數(shù)名為BindGrid第35行聲明了三個變量,用于從數(shù)據(jù)庫中獲取數(shù)據(jù)以及將保存數(shù)據(jù)第616行翻開到數(shù)據(jù)庫的連接,執(zhí)行一條SQL語句獲取用戶表中用戶的數(shù)量,用戶數(shù)會在頁面上顯示。第17行關(guān)閉到SQL Server的連接。第1820行通過執(zhí)行一條SQL語句,從數(shù)據(jù)庫中將userinfosheet表中的數(shù)據(jù)取出來保存到一個DateTable對象中。第3536行將上一步取到的數(shù)據(jù)設(shè)置到DataGrid對象的D

44、ataSource屬性中,調(diào)用DataBind函數(shù)使得userinfosheet表中的數(shù)據(jù)填充到DataGrid控件中,對用戶來說此時頁面上顯示出一張表格。圖書借閱處理代碼借閱圖書涉及到兩張數(shù)據(jù)表的更新,分別是bookinfosheet和lendinfo。其代碼如下:0102030405060708091011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 string CodeStr = e.Item.Cells0.Text; string userCode = tb_u

45、sercode.Text.Trim(); if (userCode = ) Msg.Text = 請輸入借閱者證件號!; return; int number = int.Parse(e.Item.Cells6.Text.Trim(); if (number 0) string sql_insert; string sql_update; string today = DateTime.Today.Year.ToString() +-+ (DateTime.Today.Month 9 ? DateTime.Today.Month.ToString() : 0 + DateTime.Today.

46、Month.ToString(); today += - + (DateTime.Today.Day 9 ? DateTime.Today.Day.ToString() : 0 + DateTime.Today.Day.ToString(); sql_insert = insert into lendInfo(usercode, bookcode, borrowDate) values ( + userCode + , + CodeStr + , + today + ); sql_update = update bookinfosheet set num=num-1 where code= +

47、 CodeStr + ; SqlTransaction trans = null ; try conn.Open(); trans = conn.BeginTransaction(IsolationLevel.Serializable); cmd = new SqlCommand(sql_insert, conn, trans); cmd.ExecuteNonQuery(); cmd.CommandText = sql_update; cmd.ExecuteNonQuery(); trans.Commit(); conn.Close(); DataGrid1.EditItemIndex = -

48、1; BindGrid(); Msg.Text = 借閱成功!; catch (SqlException) trans.Rollback(); Msg.Text = 借閱失敗,請重試!; return; finally if (conn.State = ConnectionState.Open) conn.Close(); else Msg.Text = 該書已經(jīng)沒有庫存!; 圖書借閱操作分為三個步驟,首先輸入借閱者證件號。然后生成兩條SQL語句,分別用于將bookinfosheet表中相應(yīng)書籍的在庫數(shù)量減一和在lendinfo表中增加一條對應(yīng)讀者的借書記錄。第17行代碼獲取讀者編號和圖書編號

49、,并判斷頁面上是否輸入了讀者編號,如果沒有輸入那么在頁面上顯示一條提示消息。第89行獲取該書的在庫數(shù)量,并且判斷在庫數(shù)量是否大于0,假設(shè)不大于0那么在頁面上顯示一條提示消息,該書已經(jīng)沒有庫存,無法借閱。第1120行生成兩條SQL語句,分別用于更新bookinfosheet中對應(yīng)書籍的在庫數(shù)量和向lendinfo表中插入一條借書記錄。第2148行執(zhí)行上一步生成的兩條SQL語句,在這里為了確保數(shù)據(jù)庫信息一致性和完整性,我們將這兩條SQL語句放入一個事務(wù)Transaction中執(zhí)行。這兩條SQL語句要么全部執(zhí)行,要么全部不執(zhí)行。當兩條SQL語句執(zhí)行成功時候,頁面上顯示一條借閱成功的消息,否那么在頁面

50、上顯示一條借閱失敗的消息。圖書歸還處理代碼01020304050607080910111213141516171819202122232425262728293031323334353637string CodeStr = e.Item.Cells0.Text;string userCode = e.Item.Cells2.Text;string borrowDate = e.Item.Cells4.Text;string sql_update1;string sql_update2;string today = this.getToday();sql_update1 = update len

51、dInfo set status=1, returnDate= + today + where bookcode= + CodeStr + AND usercode= + userCode + AND borrowDate= + borrowDate + ;sql_update2 = update bookinfosheet set num=num+1 where code= + CodeStr + ;SqlTransaction trans = null; try conn.Open(); trans = conn.BeginTransaction(IsolationLevel.Serializable); cmd = new SqlCommand(sql_update2, conn, trans); cmd.ExecuteNonQuery(); cmd.CommandText = sql_update1; cmd.ExecuteNonQuery(); trans.Commit(); conn.Close(); DataGrid1.EditItemIn

溫馨提示

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

評論

0/150

提交評論