- 相關(guān)推薦
圖書管理系統(tǒng)畢業(yè)論文
1 引言
1.1 圖書管理系統(tǒng)的現(xiàn)狀
國(guó)際上圖書管理系統(tǒng)前景看好,而國(guó)內(nèi)的在線圖書,數(shù)量上也有了新的增長(zhǎng)。數(shù)字圖書,各高校的電子圖書室等在線圖書的出現(xiàn),證明了在線圖書管理系統(tǒng)的前景。當(dāng)今世界,科學(xué)技術(shù)突飛猛進(jìn)。以計(jì)算機(jī)多媒體和網(wǎng)絡(luò)技術(shù)為代表的信息技術(shù),以驚人的發(fā)展速度,迅速在各領(lǐng)域運(yùn)用,教育也面臨信息技術(shù)的挑戰(zhàn)。圖書館信息管理系統(tǒng)建設(shè)作為學(xué)校教育現(xiàn)代化的基礎(chǔ)工程已引起了我國(guó)教育行政部門和學(xué)校的高度重視。上個(gè)世紀(jì)90年代初美國(guó)科學(xué)家首次提出數(shù)字圖書館(Digital Library)這一概念以來,全球開展數(shù)字圖書館研究和實(shí)踐已近十幾個(gè)年頭。我國(guó)圖書館報(bào)界、IT業(yè)界自1995年左右開始對(duì)這一領(lǐng)域跟蹤研究,1998年開始全面升溫,迄今無論是在對(duì)數(shù)字圖書館的認(rèn)識(shí),還是理論研究、關(guān)鍵技術(shù)準(zhǔn)備方面,都取得了很大的進(jìn)展。國(guó)內(nèi)數(shù)字圖書館的實(shí)踐活動(dòng)大致可分為以下三種類型:資源服務(wù)器型、服務(wù)研究型和聯(lián)合建設(shè)型。雖然,從嚴(yán)格意義上講,資源服務(wù)型不能算是數(shù)字圖書館,但它的網(wǎng)上信息服務(wù)目前已在大多數(shù)圖書館開展,是現(xiàn)階段我國(guó)圖書館情報(bào)界提供網(wǎng)上數(shù)字服務(wù)的主要形式。
1.2選題的目的與意義
當(dāng)今時(shí)代是飛速發(fā)展的信息時(shí)代。在各行各業(yè)中離不開信息處理,這證實(shí)計(jì)算機(jī)被廣泛應(yīng)用于信息管理系統(tǒng)的環(huán)境。計(jì)算機(jī)的最大好處在于利用它能夠進(jìn)行信息管理。使用計(jì)算機(jī)進(jìn)行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。尤其對(duì)于復(fù)雜的信息管理,計(jì)算機(jī)能夠充分發(fā)揮它的優(yōu)越性。計(jì)算機(jī)進(jìn)行信息管理與信息管理系統(tǒng)的開發(fā)密切相關(guān),系統(tǒng)的開發(fā)是系統(tǒng)管理的前提。本系統(tǒng)就是為了管理好圖書館信息而設(shè)計(jì)的。圖書館作為一種信息資源的集散地,圖書和用戶借閱資料繁多,包含很多的信息數(shù)據(jù)的管理,現(xiàn)金,有很多的圖書館都是初步開始使用,甚至尚未使用計(jì)算機(jī)進(jìn)行信息管理。根據(jù)調(diào)查得知,他們以前對(duì)信息管理的主要方式是基于文本、表格等紙介質(zhì)的手工處理,對(duì)于圖書借閱情況(如借書天數(shù)、超過限定借書時(shí)
間的天數(shù))的統(tǒng)計(jì)和核實(shí)等往往采用對(duì)借書卡的人工檢查進(jìn)行,對(duì)借閱者的借閱權(quán)限、以及借閱天數(shù)等用人工計(jì)算、手抄進(jìn)行。數(shù)據(jù)信息處理工作量大,容易出錯(cuò);由于數(shù)據(jù)繁多,容易丟失,且不易查找?偟膩碚f,缺乏系統(tǒng),規(guī)范的信息管理手段。盡管有的圖書館有計(jì)算機(jī),但是尚未用于信息管理,沒有發(fā)揮它的效力,資源閑置比較突出,這就是管理信息系統(tǒng)的開發(fā)的基本環(huán)境。數(shù)據(jù)處理手工操作,工作量大,出錯(cuò)率高,出錯(cuò)后不易更改。圖書館采取手工方式對(duì)圖書借閱情況進(jìn)行人工管理,由于信息比較多,圖書借閱信息的管理工作亂而復(fù)雜;一般借閱情況是記錄在借閱證上,圖書的數(shù)目和內(nèi)容記錄在文件中,圖書館的工作人員和管理員也只是當(dāng)時(shí)對(duì)它比較清楚,時(shí)間一長(zhǎng),如要再進(jìn)行查詢,就得在眾多的資料中翻閱、查找了,造成查詢費(fèi)時(shí)、費(fèi)力。如要對(duì)很長(zhǎng)時(shí)間以前的圖書進(jìn)行更改就更加困難了。基于這些問題,我認(rèn)為有必要建立一個(gè)圖書管理系統(tǒng),使圖書管理工作規(guī)范化,系統(tǒng)化,程序化,避免圖書館的隨意性,提高信息處理的速度和準(zhǔn)確性,能夠及時(shí)、準(zhǔn)確、有效的查詢和修改圖書情況。隨著圖書館規(guī)模的不斷擴(kuò)大,圖書數(shù)量也相應(yīng)的增加,有關(guān)圖書的各種信息量也成倍增加,面對(duì)著龐大的信息量,傳統(tǒng)的人工方式管理會(huì)導(dǎo)致圖書館管理上的混亂,人力與物力過多浪費(fèi),圖書館管理費(fèi)用的增加從而使圖書館的負(fù)擔(dān)過重,影響整個(gè)圖書館的運(yùn)作和控制管理,因此,必須制定一套合理、有效、規(guī)范和實(shí)用的圖書管理系統(tǒng),對(duì)圖書資料進(jìn)行集中統(tǒng)一的管理。系統(tǒng)開發(fā)的總的設(shè)計(jì)目標(biāo)是實(shí)現(xiàn)圖書管理的系統(tǒng)化、規(guī)范化和自動(dòng)化,實(shí)現(xiàn)對(duì)圖書資料的集中統(tǒng)一的管理。通過該系統(tǒng)可以實(shí)現(xiàn)圖書信息的檢索、圖書借閱管理、用戶個(gè)人信息的管理等各種功能,實(shí)現(xiàn)圖書管理的快捷、高效。
2 相關(guān)技術(shù)介紹
本次設(shè)計(jì)首先通過查閱資料對(duì)圖書領(lǐng)域的基本知識(shí)有一定的認(rèn)識(shí),了解用戶各個(gè)方面的需求,包括現(xiàn)有的以及將來的可能增加的需求。然后按照數(shù)據(jù)庫(kù)設(shè)計(jì)的六個(gè)階段進(jìn)行了設(shè)計(jì)與實(shí)現(xiàn):需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)實(shí)施、數(shù)據(jù)庫(kù)的運(yùn)行和維護(hù)。
2.1 ASP.NET簡(jiǎn)介
ASP.NET 是統(tǒng)一的 Web 應(yīng)用程序平臺(tái),它提供了為建立和部署企業(yè)級(jí) Web 應(yīng)用
程序所必需的服務(wù)。
ASP.NET 為能夠面向任何瀏覽器或設(shè)備的更安全的、更強(qiáng)的可升級(jí)性、更穩(wěn)定的應(yīng)用程序提供了新的編程模型和基礎(chǔ)結(jié)構(gòu)。
ASP.NET為Web應(yīng)用程序提供了默認(rèn)的授權(quán)和身份驗(yàn)證方案,開發(fā)人員可以根據(jù)應(yīng)用程序的需要很容易地添加、刪除或替換這些方案。通過簡(jiǎn)單地將必要的文件復(fù)制到服務(wù)器上,ASP.NET應(yīng)用程序即可以部署到該服務(wù)器上,不需要重新啟動(dòng)服務(wù)器,甚至在部署或替換運(yùn)行的已編譯代碼時(shí)也不需要重新啟動(dòng)。
ASP.NET是運(yùn)行在服務(wù)器上的已編譯代碼。與傳統(tǒng)的Active Server Pages (ASP)不同,ASP.NET能利用早期綁定、實(shí)時(shí)(JIT)編譯、本機(jī)優(yōu)化和全新的緩存服務(wù)來提高性能。詳細(xì)信息。根據(jù)應(yīng)用程序的需要,ASP.NET可以緩存頁(yè)數(shù)據(jù)、頁(yè)的一部分或整個(gè)頁(yè)。緩存的項(xiàng)目可以依賴于緩存中的文件或其他項(xiàng)目,或者可以根據(jù)過期策略進(jìn)行刷新。
ASP.NET在內(nèi)部使用Unicode 以表示請(qǐng)求和響應(yīng)數(shù)據(jù),可以為每臺(tái)計(jì)算機(jī)、每個(gè)目錄和每頁(yè)配置國(guó)際化設(shè)置。
ASP.NET支持任何設(shè)備上的任何瀏覽器。開發(fā)人員使用與用于傳統(tǒng)的桌面瀏覽器相同的編程技術(shù)來處理新的移動(dòng)設(shè)備。ASP.NET被設(shè)計(jì)成可擴(kuò)展的、具有特別專有的功能來提高群集的、多處理器環(huán)境的性能。
除此之外,Internet信息服務(wù)(IIS)和ASP.NET運(yùn)行時(shí)密切監(jiān)視和管理進(jìn)程,以便在一個(gè)進(jìn)程出現(xiàn)異常時(shí),可在該位置創(chuàng)建新的進(jìn)程使應(yīng)用程序繼續(xù)處理請(qǐng)求。
ASP.NET提供了跟蹤服務(wù),該服務(wù)可在應(yīng)用程序級(jí)別和頁(yè)面級(jí)別調(diào)試過程中啟用?梢赃x擇查看頁(yè)面的信息,或者使用應(yīng)用程序級(jí)別的跟蹤查看工具查看信息。
在開發(fā)和應(yīng)用程序處于生產(chǎn)狀態(tài)時(shí),ASP.NET 支持使用.NET Framework調(diào)試工具進(jìn)行本地和遠(yuǎn)程調(diào)試。當(dāng)應(yīng)用程序處于生產(chǎn)狀態(tài)時(shí),跟蹤語(yǔ)句能夠留在產(chǎn)品代碼中而不會(huì)影響性能。與.NET Framework集成。 因?yàn)锳SP.NET是.NET Framework的一部分,整個(gè)平臺(tái)的功能和靈活性對(duì)Web應(yīng)用程序都是可用的。也可從Web上流暢地訪問.NET類庫(kù)以及消息和數(shù)據(jù)訪問解決方案。
ASP和ASP.NET可并行運(yùn)行在IIS Web服務(wù)器上而互不沖突;不會(huì)發(fā)生因安裝ASP.NET而導(dǎo)致現(xiàn)有ASP應(yīng)用程序崩潰的可能。ASP.NET僅處理具有.aspx文件擴(kuò)展名的文件。具有.asp文件擴(kuò)展名的文件繼續(xù)由ASP引擎來處理。然而,應(yīng)該注意的是會(huì)話狀態(tài)和應(yīng)用程序狀態(tài)并不在ASP和ASP.NET頁(yè)面之間共享。ASP.NET啟用了分
布式應(yīng)用程序的兩個(gè)功能:Web窗體和XML Web服務(wù)。相同的配置和調(diào)試基本結(jié)構(gòu)支持這兩種功能。
2.2 數(shù)據(jù)庫(kù)Access
Access 是微軟公司推出的基于Windows的桌面關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS,即Relational Database Management System),是Office系列應(yīng)用軟件之一。它提供了表、查詢、窗體、報(bào)表、頁(yè)、宏、模塊7種用來建立數(shù)據(jù)庫(kù)系統(tǒng)的對(duì)象;提供了多種向?qū)А⑸善、模板,把?shù)據(jù)存儲(chǔ)、數(shù)據(jù)查詢、界面設(shè)計(jì)、報(bào)表生成等操作規(guī)范化;為建立功能完善的數(shù)據(jù)庫(kù)管理系統(tǒng)提供了方便,也使得普通用戶不必編寫代碼,就可以完成大部分?jǐn)?shù)據(jù)管理的任務(wù)。
Access能夠存取 Access/Jet、Microsoft SQL Server、Oracle(甲骨文軟件公司),或者任何 ODBC 兼容數(shù)據(jù)庫(kù)內(nèi)的資料。熟練的軟件設(shè)計(jì)師和資料分析師利用它來開發(fā)應(yīng)用軟件,而一些不熟練的程序員和非程序員的"進(jìn)階用戶"則能使用它來開發(fā)簡(jiǎn)單的應(yīng)用軟件。Access具有很多優(yōu)點(diǎn):存儲(chǔ)方式簡(jiǎn)單 易于維護(hù)管理、界面友好 易操作、集成環(huán)境 處理多種數(shù)據(jù)信息、支持廣泛 易于擴(kuò)展 彈性較大等?傊,Access是一個(gè)既可以只用來存放數(shù)據(jù)的數(shù)據(jù)庫(kù),也可以作為一個(gè)客戶端開發(fā)工具來進(jìn)行數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā);即可以開發(fā)方便易用的小型軟件,也可以用來開發(fā)大型的應(yīng)用系統(tǒng)。
2.3 C#簡(jiǎn)介
C sharp(又被簡(jiǎn)稱為"C#")是微軟公司在2006年6月發(fā)布的一種新的編程語(yǔ)言,并定于在微軟職業(yè)開發(fā)者論壇(PDC)上登臺(tái)亮相.C#是微軟公司研究員Anders Hejlsberg的最新成果.C#看起來與Java有著驚人的相似;它包括了諸如單一繼承,界面,與Java幾乎同樣的語(yǔ)法,和編譯成中間代碼再運(yùn)行的過程.但是C#與Java有著明顯的不同,它借鑒了Delphi的一個(gè)特點(diǎn),與COM(組件對(duì)象模型)是直接集成的,而且它是微軟公司.NET windows網(wǎng)絡(luò)框架的主角。C#擁有比C,C++或者Java更廣泛的數(shù)據(jù)類型.這些類型是bool, byte, ubyte, short, ushort, int, uint, long, ulong, float, double,和decimal.象Java一樣,所有這些類型都有一個(gè)固定的大小.又象C和C++一樣,每個(gè)數(shù)據(jù)類型都有有符號(hào)和無符號(hào)兩種類型.與Java相同的是,一個(gè)字符變量包含的是一個(gè)16位的Unicode字符.C#新的數(shù)據(jù)類型是decimal數(shù)據(jù)類型,對(duì)于貨幣數(shù)據(jù),它能存放28
位10進(jìn)制數(shù)字
3 系統(tǒng)設(shè)計(jì)
3.1系統(tǒng)設(shè)計(jì)目標(biāo)
本圖書館公共檢索系統(tǒng)主要面向于現(xiàn)今廣大圖書館工作單位的圖書管理員在對(duì)圖書及用戶進(jìn)行管理時(shí)所采用的應(yīng)用系統(tǒng),通過圖書管理員的管理實(shí)現(xiàn)圖書管理、讀者管理、借閱情況查詢、圖書借還等功能,這樣以來當(dāng)讀者登錄系統(tǒng)后即可實(shí)現(xiàn)圖書檢索還可以實(shí)現(xiàn)對(duì)圖書的借閱、歸還等功能。
系統(tǒng)充分結(jié)合了傳統(tǒng)和現(xiàn)代的圖書館管理系統(tǒng)和圖書館檢索系統(tǒng)特點(diǎn),使系統(tǒng)在既符合應(yīng)用系統(tǒng)相關(guān)要求的同時(shí)又滿足圖書館單位個(gè)性化的需求。可以方便靈活的使用本系統(tǒng)為讀者服務(wù)。利用數(shù)據(jù)庫(kù)技術(shù)實(shí)現(xiàn)對(duì)圖書館的數(shù)據(jù)和信息系統(tǒng)化、程序化的組織管理,將以往低效、功能簡(jiǎn)單的傳統(tǒng)圖書館管理系統(tǒng)和圖書館檢索系統(tǒng)合起來發(fā)展成為依靠計(jì)算機(jī)自動(dòng)化技術(shù)來進(jìn)行圖書館管理、圖書信息檢索、圖書借閱等操作合為一體的高級(jí)管理軟件。通過對(duì)此系統(tǒng)的實(shí)施、運(yùn)行,管理從而方便、快捷、準(zhǔn)確地進(jìn)行讀者借還、圖書信息檢索以及圖書管理,此外通過查看圖書借閱排行榜即可了解到本館各類書籍的受歡迎程度,為讀者以提供良好的信息幫助供其進(jìn)行參考,以便能提高該系統(tǒng)在圖書館系統(tǒng)中的市場(chǎng)競(jìng)爭(zhēng)力和服務(wù)的質(zhì)量。
3.2 系統(tǒng)需求分析
軟件需求分析是軟件開發(fā)期的第一個(gè)階段,也是關(guān)系到軟件開發(fā)成敗的關(guān)鍵步驟。準(zhǔn)確、完整和規(guī)范化的軟件需求是軟件開發(fā)成功的關(guān)鍵。它的重要性在于讓用戶完全清楚對(duì)軟件系統(tǒng)的確切要求,它不是確定系統(tǒng)怎樣完成它的工作,而僅僅是確定系統(tǒng)必須完成哪些工作。也就是對(duì)目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。反復(fù)的調(diào)查和研究,了解數(shù)據(jù)庫(kù)的組織的詳細(xì)情況,了解管理的業(yè)務(wù)流程等系統(tǒng)需求,它對(duì)于設(shè)計(jì)好概念模型是至關(guān)重要的。一個(gè)好的管理系統(tǒng)可以將我們的管理員從繁重的工作中解脫出來,使工作更輕松。而需求分析的好壞直接影響到系統(tǒng)設(shè)計(jì)的好壞。 (1)管理員對(duì)功能的需求:
注冊(cè)讀者的查詢、刪除、添加 圖書的查詢、刪除、新增
借閱情況的查詢 (2)讀者對(duì)功能的需求:
普通讀者能夠注冊(cè) 普通讀者對(duì)圖書的瀏覽 圖書的查詢 圖書的借閱和歸還 系統(tǒng)的設(shè)計(jì)應(yīng)達(dá)到以下要求:
1)運(yùn)用ASP.NET技術(shù)開發(fā)系統(tǒng)界面,用ACCESS完成數(shù)據(jù)庫(kù)的建立,數(shù)據(jù)表的設(shè)計(jì)的設(shè)計(jì)。
2)界面美觀、簡(jiǎn)潔,易于操作,清楚體現(xiàn)其功能。 3)系統(tǒng)要求穩(wěn)定,功能要基本滿足在線圖書館的需要。 4)畢業(yè)論文嚴(yán)格按學(xué)校的要求撰寫。 5)系統(tǒng)要求具有一定的可擴(kuò)展性。
3.3可行性分析
本系統(tǒng)主要實(shí)現(xiàn)對(duì)圖書館信息的管理,主要功能為管理有關(guān)讀者,書籍,借閱和管理者的信息等。本系統(tǒng)結(jié)構(gòu)分為讀者信息管理模塊,書籍信息管理模塊,借閱信息管理模塊,管理者信息管理模塊。讀者信息管理部分有兩方面的功能,可以瀏覽讀者的信息,可以對(duì)讀者信息進(jìn)行維護(hù)。書籍信息管理可以瀏覽書籍的信息,可以對(duì)書籍信息進(jìn)行維護(hù)。借閱信息管理可以顯示當(dāng)前數(shù)據(jù)庫(kù)中書籍借閱情況,可以對(duì)借閱信息進(jìn)行維護(hù)。管理者信息管理可以顯示數(shù)據(jù)庫(kù)中管理者的情況,可以對(duì)管理者信息進(jìn)行維護(hù)。可見,本系統(tǒng)并不復(fù)雜,主要解決的問題是利用關(guān)鍵字對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢。
3.4 運(yùn)行環(huán)境
操作系統(tǒng):Windows XP 開發(fā)技術(shù):ASP.NET
數(shù) 據(jù) 庫(kù)::Microsoft Access 2003
開發(fā)工具:Microsoft Access 2003、Visual Studio 2005等
3.5 系統(tǒng)功能模塊設(shè)計(jì)
圖書管理系統(tǒng)主要由圖書管首頁(yè)模塊、讀者注冊(cè)/登錄模塊、讀者借書/還書模塊、圖書管理模塊、讀者管理模塊,如圖 3.1系統(tǒng)功能模塊圖。
圖 3.1系統(tǒng)功能模塊圖
各功能模塊詳細(xì)介紹如下:
圖書館首頁(yè)模塊:登錄之后可以瀏覽本圖書館內(nèi)的所有圖書
讀者注冊(cè)/登錄模塊:讀者必須通過注冊(cè)之后才能登錄到圖書借閱頁(yè)面進(jìn)行圖書
的查詢和借閱
讀者借書還書模塊:讀者通過查詢找到需要借閱的圖書并借閱和歸還 圖書管理模塊:管理者登錄之后可以對(duì)讀書進(jìn)行查詢、刪除和添加 讀者管理模塊:管理者對(duì)讀者信息進(jìn)行查詢和新增
在線圖書館系統(tǒng)主要是實(shí)現(xiàn)對(duì)圖書的查詢、借閱和歸還的功能,讀者必須注冊(cè)之后才能查詢和借還圖書。不注冊(cè)的用戶則只能登錄主界面對(duì)圖書整體進(jìn)行瀏覽,不能分類查詢,也不能查詢和借還圖書。
管理者可以對(duì)圖書、讀者以及借閱情況進(jìn)行查詢與管理經(jīng)過分析得到流程圖,如圖3.2流程圖
4 系統(tǒng)設(shè)計(jì)
4.1 數(shù)據(jù)庫(kù)的分析和設(shè)計(jì)
結(jié)合實(shí)際情況以及對(duì)用戶的需求分析,該在線圖書館的數(shù)據(jù)庫(kù)中主要數(shù)據(jù)表的表結(jié)構(gòu)如下:
圖書信息表(圖書編號(hào),圖書名稱,圖書類別,作者,出版社,價(jià)格) 讀者信息表(讀者ID,用戶名,密碼,性別)
借閱情況表(讀者ID,圖書編號(hào),圖書名稱,圖書類別,作者)
表4.2 讀者信息表
表4.3借閱情況表
4.2系統(tǒng)實(shí)現(xiàn)
4.2.1 Access 數(shù)據(jù)庫(kù)的連接
ASP.net連接數(shù)據(jù)庫(kù)前要先引入命名空間代碼如下:
using System.Data.Oledb;
通過Connection對(duì)象來連接數(shù)據(jù)庫(kù),代碼如下:
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = "Provider=Microsoft.Jet.OleDb.4.0;" + "Data Source=" + Server.MapPath("App_Data/數(shù)據(jù)庫(kù).mdb");//設(shè)置連接字符串 conn.Open();//打開數(shù)據(jù)庫(kù)
4.2.2 網(wǎng)站首頁(yè)
用戶進(jìn)入網(wǎng)站之后可以進(jìn)行圖書的瀏覽,注冊(cè)成功之后可以登錄然后對(duì)圖書進(jìn)行查詢、借閱和歸還。管理者登錄可對(duì)注冊(cè)讀者、圖書以及借閱情況進(jìn)行管理。網(wǎng)站如圖4.1 主界面所示:
圖4.1 主界面
管理員登錄:
if (txtUsername.Text == "管理員" && txtPassword.Text == "666666") {
Session["pass"] = "admin";
Response.Redirect("管理者頁(yè)面.aspx"); }//管理員密碼輸入正確則跳轉(zhuǎn)到管理者頁(yè)面
會(huì)員登錄:先要連接數(shù)據(jù)庫(kù)
if (txtUsername .Text ==dr ["用戶名"].ToString ()&&txtPassword .Text ==dr ["密碼"].ToString ()) {
strUsername =dr["用戶名"].ToString (); strPassword = dr["密碼"].ToString (); break;
}//輸入的用戶名和密碼與數(shù)據(jù)庫(kù)中的相同則將值傳給strUsername,之后根據(jù)strUsername有無值判定是否可以登錄
4.2.3 注冊(cè)
普通用戶必須注冊(cè)之后才能查詢和借閱圖書,在注冊(cè)時(shí)通過驗(yàn)證控件設(shè)置了幾個(gè)不為空的,當(dāng)輸入為空或格式不正確時(shí)會(huì)報(bào)錯(cuò),提醒你正確必須填寫相關(guān)內(nèi)容,用戶注冊(cè)效果圖如圖4.2讀者注冊(cè)所示。
該模塊的功能有: 1) 驗(yàn)證注冊(cè)用戶的信息。
2) 將驗(yàn)證成功的用戶信息插入到讀者信息表中。
實(shí)現(xiàn)過程如下:
1) 當(dāng)用戶注冊(cè)時(shí),注冊(cè)信息的驗(yàn)證主要通過驗(yàn)證控件RequiredFieldValidator和CompareValidator來實(shí)現(xiàn)。
2)驗(yàn)證通過后,通過SQL語(yǔ)句將信息插到讀者信息中,跳轉(zhuǎn)到主頁(yè)面。實(shí)現(xiàn)代碼如下:
string strVal = "'" + TxtNo.Text + "','" + TxtName.Text + "','" + TxtPassword.Text + "','" + TxtSex.Text + "'";
string strSQL = "insert into 讀者信息(讀者ID,用戶名,密碼,性別)values("+strVal +")";//定義SQL語(yǔ)句的內(nèi)容
OleDbCommand com=new OleDbCommand (strSQL ,conn );//聲明一個(gè)Command對(duì)象com,該對(duì)象使用conn定義的連接,執(zhí)行strSQL定義的SQL語(yǔ)句
com.ExecuteNonQuery ();//調(diào)用ExecuteNonQuery()方法執(zhí)行無返回的insert語(yǔ)句 conn.Close ();
Response.Write("");
圖4.2 讀者注冊(cè)
4.2.4 讀者登錄
讀者登錄之后可以對(duì)圖書進(jìn)行分類查詢,該查詢用到了RadioButtonList控件和GridView控件對(duì)數(shù)據(jù)庫(kù)的綁定,在TexeBox中輸入關(guān)鍵字進(jìn)行查詢,若無符合此條件的圖書將做出提示。單擊“顯示全部”按鈕將在下方顯示所有圖書。如圖4.3讀者對(duì)圖書的查詢,其查詢實(shí)現(xiàn)代碼如下:
strSQL = "select * from 圖書信息 where "+RadioButtonList1.SelectedItem .Text +" like'%"+TextBox1 .Text +"%'";//篩選出符合條件的圖書之后連接到所需的數(shù)據(jù)庫(kù)
OleDbDataReader dr = com.ExecuteReader();//使用com對(duì)象的ExecuteReader()方法創(chuàng)建一個(gè)DataReader對(duì)象dr
GridView1.DataSource = dr;//設(shè)置dr為GridView控件的數(shù)據(jù)源
GridView1.DataBind();//將GridView控件綁定到數(shù)據(jù)源
conn.Close();//關(guān)閉數(shù)據(jù)庫(kù)
圖4.3讀者對(duì)圖書的查詢
讀者查詢出自己喜歡的書籍后可以進(jìn)行借閱,還可以將自己所借圖書歸還。填寫自己需要借還圖書的詳細(xì)信息,單擊借閱之后會(huì)將信息存儲(chǔ)到數(shù)據(jù)庫(kù)借閱情況表中,從而實(shí)現(xiàn)圖書的借閱。圖書的歸還與該功能的實(shí)現(xiàn)類似,只是從借閱情況表中刪除該條記錄。界面如圖4.4 圖書的借閱與歸還。其代碼如下:
圖書的借閱:
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = "Provider=Microsoft.Jet.OleDb.4.0;" + "Data Source=" + Server.MapPath("App_Data/數(shù)據(jù)庫(kù).mdb");
conn.Open();
string strVal = "'" + TextBox2.Text + "','" + TextBox3.Text + "','" + TextBox4.Text + "','" + TextBox5.Text + "','"+TextBox6.Text +"'";
string strSQL = "insert into 借閱情況(讀者ID,圖書編號(hào),圖書名稱,圖書類別,作者)values(" + strVal + ")";
OleDbCommand com = new OleDbCommand(strSQL, conn);
com.ExecuteNonQuery();
conn.Close();
Response.Write("");
圖書的歸還:
string strDel = "delete from 借閱情況 where 讀者ID='" + TextBox2 .Text + "'"+"and 圖書編號(hào)='"+TextBox3 .Text +"'";
OleDbCommand delCom = new OleDbCommand(strDel, conn);
OleDbDataAdapter da = new OleDbDataAdapter();
conn.Open();
da.DeleteCommand = delCom;
da.DeleteCommand.ExecuteNonQuery();
conn.Close();
Response.Write("");
圖4.4 圖書的借閱與歸還
4.2.5管理者登錄
管理者登錄后對(duì)圖書信息、讀者信息、借閱情況進(jìn)行管理。
管理員對(duì)讀者和圖書添加新記錄需要在表中依次填入所需信息,單擊添加按鈕,然后將該信息存儲(chǔ)到圖書信息表中或讀者信息表中,從而達(dá)到添加記錄的目的。如圖
4.5添加新記錄,其代碼的實(shí)現(xiàn)如下:
string strVal = "'" + TextBox2.Text + "','" + TextBox3.Text + "','" +
TextBox4.Text + "','" + TextBox5.Text + "','" + TextBox6.Text + "','" +TextBox7.Text+"'"; string strIns ="insert into 圖書信息(圖書編號(hào),圖書名稱,圖書類別,作者,出版社,價(jià)格) values (" + strVal +")";
OleDbCommand insCom=new OleDbCommand (strIns ,conn );
OleDbDataAdapter da=new OleDbDataAdapter();//聲明OleDbDataAdapter對(duì)象da conn.Open();
da.InsertCommand=insCom;//設(shè)置da對(duì)象的InsertCommand屬性為前面的insCom對(duì)象 da.InsertCommand.ExecuteNonQuery();
conn.Close();
圖4.5 添加新記錄
管理者還可以對(duì)圖書和讀者做刪除處理,實(shí)現(xiàn)過程中添加了DropDownList控件和控件GridView并將其與DropDownList控件綁定,如圖4.6 刪除記錄,其代碼如下所示:
string strDel="delete from 圖書信息 where 圖書編號(hào)
='"+DropDownList1.SelectedItem.Text +"'";
OleDbCommand delCom=new OleDbCommand (strDel,conn);
OleDbDataAdapter da=new OleDbDataAdapter();
conn.Open();
da.DeleteCommand =delCom;
da.DeleteCommand .ExecuteNonQuery ();
conn.Close();
Response .Write("");
圖4.6 刪除記錄
管理者可以對(duì)借閱情況進(jìn)行瀏覽與查詢,頁(yè)面中加入了GridView控件,設(shè)置其數(shù)據(jù)源為借閱情況表,加載時(shí)出現(xiàn)所有的借閱情況,可以對(duì)其瀏覽。查詢記錄中利用了RadioButtonList控件,可以進(jìn)行分類查詢。其界面如圖4.6 借閱情況查詢。查詢代碼如下:
protected void Button1_Click(object sender, EventArgs e)
{
string strSQL;
if (TextBox1.Text == "")
{
Response.Write("");
return;
}//TextBox1不能為空,否則出現(xiàn)提示
strSQL = "select * from 借閱情況 where " + RadioButtonList1.SelectedItem.Text + " like'%" + TextBox1.Text + "%'";//定義SQL語(yǔ)句內(nèi)容
OleDbConnection conn = new OleDbConnection();//聲明一個(gè)Connection連接對(duì)象conn conn.ConnectionString = "Provider=Microsoft.Jet.OleDb.4.0;"+"Data
Source="+Server .MapPath ("App_Data/數(shù)據(jù)庫(kù).mdb");//設(shè)置conn對(duì)象的Connection屬性(連接字符串)
conn.Open();//打開數(shù)據(jù)庫(kù)連接
OleDbCommand com = new OleDbCommand(strSQL ,conn );//聲明一個(gè)Command對(duì)象com,該對(duì)象使用conn定義的連接,執(zhí)行strSQL定義的SQL語(yǔ)句。
OleDbDataReader dr = com.ExecuteReader();//使用com對(duì)象的ExecuteReader()方法創(chuàng)建一個(gè)DataReader對(duì)象dr
GridView1.DataSource = dr;//設(shè)置dr為GridView控件的數(shù)據(jù)源
GridView1.DataBind();//將GridView控件綁定到數(shù)據(jù)源
if (GridView1.Rows.Count == 0)
{
Response.Write("");
}
conn.Close();
}
圖4.6 借閱情況查詢
結(jié) 論
本設(shè)計(jì)使用Access創(chuàng)建后臺(tái)數(shù)據(jù)庫(kù),使用Microsoft Visual Studio作為前臺(tái)操作界面實(shí)現(xiàn)對(duì)圖書管理系統(tǒng)的功能操作。本圖書管理系統(tǒng)實(shí)現(xiàn)了圖書管理的基本功能,經(jīng)過調(diào)試運(yùn)行,表明該系統(tǒng)具有可行性和可擴(kuò)充性。但數(shù)據(jù)庫(kù)還有待進(jìn)一步的完善與規(guī)劃,操作系統(tǒng)還有待于進(jìn)一步的改善,使系統(tǒng)更加高效,更加人性化。
通過這段時(shí)間的軟件研究,從系統(tǒng)的需求分析開始,到概念設(shè)計(jì),邏輯設(shè)計(jì),再到最后的系統(tǒng)實(shí)施與維護(hù),一步步走下來雖然感覺有點(diǎn)累,但每一步都獲益匪淺。認(rèn)認(rèn)真真完成每一步,直到完成大部分系統(tǒng)之后,忽然有一種破繭而出的感覺。從這個(gè)設(shè)計(jì)中,不僅僅從實(shí)踐中鞏固提高了數(shù)據(jù)庫(kù)的相關(guān)知識(shí),體會(huì)了設(shè)計(jì)一個(gè)系統(tǒng)的過程,更學(xué)到了一種設(shè)計(jì)分析的思想,一種能力。
從系統(tǒng)的需求分析開始,到后來的每一步,都需要圍繞著一個(gè)整體的思路,一個(gè)工程的概念進(jìn)行,需要逐層的將系統(tǒng)一步步分解,細(xì)化。然后,分別實(shí)現(xiàn)每一個(gè)功能,每一個(gè)模塊,最后將全部模塊整合起來,系統(tǒng)便成型了。在這段時(shí)間的軟件設(shè)計(jì)中,遇到了各種各樣的問題,特別是數(shù)據(jù)庫(kù)實(shí)現(xiàn),與系統(tǒng)前臺(tái)的實(shí)現(xiàn)階段。由于第一次接觸相關(guān)的軟件,所以使用起來相當(dāng)?shù)某粤Γ瑤缀趺恳徊蕉伎赡馨l(fā)生錯(cuò)誤。為了解決這樣那樣的問題,我翻閱了不同的書籍,在網(wǎng)上搜索了大量的資料,一個(gè)一個(gè)的將問題解決掉。在這期間,無形中鍛煉了我分析問題,解決問題的能里,鍛煉了我自主學(xué)習(xí)的能力。
參 考 文 獻(xiàn)
1 常永英,崔淼,馬潤(rùn)成,梁云杰.ASP.NET程序設(shè)計(jì)教程(c#版)[M].機(jī)械工業(yè)出版社.2007
2 (美)Jesse Libery,Dan Hurwitz.瞿杰,趙立東,張昊(譯). Programming ASP.NET中文版(第3版).電子工業(yè)出版社, 2007 年1月
3 常永英 .ASP.NET程序設(shè)計(jì)教程(C#版).機(jī)械工業(yè)出版社.2009
4 李明剛,肖建等.ASP.NET Web站點(diǎn) 高級(jí)編程范例.清華大學(xué)出版社.2004 5 楊曉云.Access 2003權(quán)威指南.第3版. 北京:人民郵電出版社,2007
6 袁玫編著.網(wǎng)絡(luò)數(shù)據(jù)庫(kù)應(yīng)用教程. 北京:人民郵電出版社,2002
7 廖信彥. ASP.NET交互式Web數(shù)據(jù)庫(kù)程序設(shè)計(jì). 北京:中國(guó)鐵道出版社 2004 8 張凱,付興宏.VC#程序設(shè)計(jì).大連理工大學(xué)出版社,2002
9 馬建紅,范貽明.Visual C#程序設(shè)計(jì)與軟件技術(shù)基礎(chǔ).中國(guó)水利水電出版社,2002
10 陳偉.SQL Server 2005數(shù)據(jù)庫(kù)應(yīng)用與開發(fā)教程.北京:清華大學(xué)出版社,2007 11 鄭阿奇.SQL Server教程.清華大學(xué)出版社[M].2005
12 戴婉榮,熊前興.SQL Server數(shù)據(jù)同步機(jī)制的研究與應(yīng)用[J].電腦知識(shí)與技術(shù).2009
13 http://www.ourasp.net (ASP.NET中文專業(yè)網(wǎng))
14 http://www.aspx.net.cn (開發(fā).NET先鋒論壇)
致謝
在這一段時(shí)間里,得到了許多人的幫助,再次要感謝輔導(dǎo)老師的督促和同學(xué)們的幫助,輔導(dǎo)老師在整個(gè)畢業(yè)設(shè)計(jì)的選題、設(shè)計(jì)和論文階段對(duì)自己的工作起了很重要的指導(dǎo)作用,在此謹(jǐn)向她致以誠(chéng)摯的謝意。在該系統(tǒng)的開發(fā)過程中,自己遇到了許多的難題,都是在大家共同的努力和奮戰(zhàn)下才解決的,也給自己帶來了一起學(xué)習(xí)的快樂。最后,要感謝所有的老師們,在這三年中給予知識(shí)和力量,使自己未來的路更寬廣。
以后的日子里我會(huì)更加的努力,不辜負(fù)家長(zhǎng)和老師對(duì)我的期望。
【圖書管理系統(tǒng)畢業(yè)論文】相關(guān)文章:
圖書管理系統(tǒng)報(bào)告12-02
圖書管理系統(tǒng)個(gè)人總結(jié)12-22
圖書管理系統(tǒng)論文11-09