畢業(yè)設(shè)計(jì)(論文)圖書館管理系統(tǒng)_第1頁(yè)
畢業(yè)設(shè)計(jì)(論文)圖書館管理系統(tǒng)_第2頁(yè)
畢業(yè)設(shè)計(jì)(論文)圖書館管理系統(tǒng)_第3頁(yè)
畢業(yè)設(shè)計(jì)(論文)圖書館管理系統(tǒng)_第4頁(yè)
畢業(yè)設(shè)計(jì)(論文)圖書館管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩36頁(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)介

1、哈爾濱理工大學(xué)學(xué)士學(xué)位論文第1章 緒論1.1 課題開發(fā)背景管理信息系統(tǒng)(management information system),在強(qiáng)調(diào)管理,強(qiáng)調(diào)信息的現(xiàn)代社會(huì)中它變得越來(lái)越普及f。mis是一門新的學(xué)科,它是oa(辦公自動(dòng)化系統(tǒng))的一個(gè)分支階段。跨越了若干個(gè)領(lǐng)域,比如管理科學(xué)、系統(tǒng)科學(xué),運(yùn)籌學(xué)、統(tǒng)計(jì)學(xué)以及計(jì)算機(jī)科學(xué)。在這些學(xué)科的基礎(chǔ)上,形成信息收集和加工的方法,從而形成一個(gè)縱橫交織的系統(tǒng)。本課題就是信息管理系統(tǒng)的一個(gè)具體實(shí)例。它為圖書館圖書和學(xué)生接借還信息管理提供了一種高效的操作方式。1.2 課題研究目的與意義該項(xiàng)目是以sql server 2005數(shù)據(jù)庫(kù)和c# 編程語(yǔ)言實(shí)現(xiàn)的,其功能在系

2、統(tǒng)內(nèi)部由源代碼直接完成。操作人員只需輸入一些簡(jiǎn)單的字符、數(shù)字,經(jīng)過(guò)一些簡(jiǎn)單的操作就可達(dá)到自己管理目的。對(duì)于圖書館工作人員來(lái)說(shuō),利用計(jì)算機(jī)高效率地完成日常事務(wù),是適應(yīng)學(xué)校發(fā)展要求、推動(dòng)管理走向科學(xué)化、規(guī)范化的必要條件;而且圖書館管理又是一項(xiàng)非常煩瑣的事情,數(shù)量之大,傳統(tǒng)管理極其不便。然而計(jì)算機(jī)高效的操作方式,具有手工管理所無(wú)法比擬的優(yōu)點(diǎn)。例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高學(xué)生與圖書管理人員之間共享、交流信息的效率,從而有效地進(jìn)行圖書借閱和信息管理。1.3 國(guó)內(nèi)外發(fā)展概況管理信息系統(tǒng)在初級(jí)階段是統(tǒng)計(jì)系統(tǒng),所研究的內(nèi)容是數(shù)量數(shù)據(jù)間表面的規(guī)

3、律,它可以把數(shù)據(jù)分成較相關(guān)和較不相關(guān)的組,然后把數(shù)據(jù)轉(zhuǎn)換為信息。第二階段是數(shù)據(jù)更新系統(tǒng),其典型代表是美國(guó)航空公司于20世紀(jì)50年代建成的sabre預(yù)約訂票系統(tǒng)。它設(shè)有1008個(gè)訂票點(diǎn),可以存取600000個(gè)旅客記錄和27000個(gè)飛行段記錄。它的操作比較復(fù)雜,在任何一“點(diǎn)”都可以查到某一航班是否有空座位。但從概念上來(lái)講,它只是一個(gè)數(shù)據(jù)更新系統(tǒng),比如它不能告訴你以現(xiàn)在的售票速度何時(shí)票將售完,從而采取補(bǔ)救措施。因而它也是管理信息系統(tǒng)的低級(jí)階段。第三階段是狀態(tài)報(bào)告系統(tǒng),它可以分為生產(chǎn)狀態(tài)報(bào)告、服務(wù)狀態(tài)報(bào)告和研究狀態(tài)報(bào)告等系統(tǒng)。比如生產(chǎn)狀態(tài)報(bào)告系統(tǒng),它的典型代表是ibm公司的生產(chǎn)管理系統(tǒng)。眾所周知,ib

4、m公司是世界上最大的計(jì)算機(jī)公司,1964年它生產(chǎn)出中型計(jì)算機(jī)ibm360,使計(jì)算機(jī)的水平提高了一個(gè)臺(tái)階,但同時(shí)組織生產(chǎn)的管理工作卻大大復(fù)雜化了。一臺(tái)計(jì)算機(jī)有超過(guò)15000個(gè)不同的部件,每一個(gè)部件又有若干個(gè)元件,加之ibm的工廠遍及美國(guó)各地,不同的定貨有不同的部件和不同的元件,必須指出什么工廠什么設(shè)備生產(chǎn)什么元件,因此不僅生產(chǎn)復(fù)雜,裝配、安裝和運(yùn)輸都十分復(fù)雜。為了保證生產(chǎn)以及其他環(huán)節(jié)的順利進(jìn)行,必須要有一個(gè)以計(jì)算機(jī)為基礎(chǔ)的生產(chǎn)狀態(tài)報(bào)告系統(tǒng)。因此同年ibm建立了先進(jìn)管理系統(tǒng)aas,它能進(jìn)行450個(gè)業(yè)務(wù)的操作。1968年,公司又建立了公用制造信息系統(tǒng)cmis,運(yùn)行很成功,過(guò)去需要15周的工作,該系統(tǒng)

5、只用3周就可以完成。我國(guó)的管理信息系統(tǒng)大發(fā)展是在80年代末90年代初,國(guó)家相繼建立起了“金卡”、“金關(guān)”、金橋“工程,多數(shù)企事業(yè)單位建立了局域網(wǎng)和廣域網(wǎng)管理信息系統(tǒng)。隨著世界經(jīng)濟(jì)和我國(guó)經(jīng)濟(jì)逐步向知識(shí)經(jīng)濟(jì)邁進(jìn),無(wú)論是基于工業(yè)經(jīng)濟(jì)的管理信息系統(tǒng),還是面向少數(shù)專家和管理人員的專家系統(tǒng) (es)或決策支持系統(tǒng) (dss),其處理對(duì)象和服務(wù)對(duì)象,自身的系統(tǒng)結(jié)構(gòu),處理能力,都有了進(jìn)一步的發(fā)展。第2章 需求分析2.1 需求概述2.1.1 系統(tǒng)設(shè)計(jì)目標(biāo)根據(jù)所作的需求分析可以得出,圖書館管理系統(tǒng)實(shí)施后,本系統(tǒng)需要實(shí)現(xiàn)以下目標(biāo):(1) 界面設(shè)計(jì)友好、美觀。(2) 數(shù)據(jù)存儲(chǔ)安全、可靠。(3) 信息分類清晰、準(zhǔn)確。(

6、4) 強(qiáng)大的查詢功能,保證數(shù)據(jù)查詢的靈活性。(5) 實(shí)現(xiàn)對(duì)圖書借閱和歸還過(guò)程的全程數(shù)據(jù)信息跟蹤。(6) 提供圖書借閱排行榜,為圖書館管理員提供了真實(shí)的數(shù)據(jù)信息。(7) 提供靈活、方便的權(quán)限設(shè)置功能,使整個(gè)系統(tǒng)的管理分工明確。(8) 具有易維護(hù)性和易操作性。2.1.2 系統(tǒng)功能概述根據(jù)校園用戶的實(shí)際需求,本系統(tǒng)功能分為以下六部分:l 系統(tǒng)設(shè)置l 讀者信息管理l 圖書信息管理l 圖書借閱與歸還l 圖書信息查詢l 更改密碼2.1.3 用戶特點(diǎn) 用戶為全校老師和學(xué)生,對(duì)計(jì)算機(jī)應(yīng)用有一定的了解,所以盡可能提供友好、簡(jiǎn)潔的操作界面和使用提示。2.2 需求描述2.2.1 圖書館管理系統(tǒng)總需求目標(biāo)在計(jì)算機(jī)網(wǎng)絡(luò)

7、,數(shù)據(jù)庫(kù)和先進(jìn)的開發(fā)平臺(tái)上,利用現(xiàn)有的軟件,配置一定的硬件,開發(fā)一個(gè)具有開放體系結(jié)構(gòu)的、易擴(kuò)充的、易維護(hù)的、具有良好人機(jī)交互界面的圖書館管理系統(tǒng),實(shí)現(xiàn)讀者信息管理,圖書信息管理,圖書借閱與歸還,圖書信息查詢,高效的圖書館系統(tǒng)。2.2.2 數(shù)據(jù)需求(1)數(shù)據(jù)錄入和處理的準(zhǔn)確性和實(shí)時(shí)性數(shù)據(jù)的輸入是否準(zhǔn)確是數(shù)據(jù)處理的前提,錯(cuò)誤的輸入會(huì)導(dǎo)致系統(tǒng)輸出的不正確和不可用,從而使系統(tǒng)的工作失去意義。數(shù)據(jù)的輸入來(lái)源是手工輸入。手工輸入要通過(guò)系統(tǒng)界面上的安排系統(tǒng)具有容錯(cuò)性。在系統(tǒng)中,數(shù)據(jù)的輸入往往是大量的,因此系統(tǒng)要有一定的處理能力,以保證迅速的處理數(shù)據(jù)。(2)數(shù)據(jù)的安全性本系統(tǒng)為校園圖書館管理部門設(shè)計(jì),因此只有

8、特定的圖書管理者才能對(duì)數(shù)據(jù)實(shí)現(xiàn)增、刪、改、查等操作。未獲授權(quán)人員無(wú)權(quán)限操作系統(tǒng)。(3)數(shù)據(jù)的備份要定期對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行全部或新增部分的備份工作,以保證在硬件出現(xiàn)故障或人為原因?qū)е聼o(wú)法運(yùn)行時(shí)是可以快速及時(shí)的還原到原來(lái)的正常狀態(tài)。2.2.3 功能需求概述(1) 管理員能夠進(jìn)行系統(tǒng)設(shè)置(2) 管理員管理讀者信息(3) 管理員管理館內(nèi)圖書信息(4) 讀者實(shí)現(xiàn)圖書借閱與歸還(5) 讀者實(shí)現(xiàn)圖書信息查詢(6) 用戶更改登陸密碼2.2.4約束(constraints)計(jì)算機(jī)操作系統(tǒng):windows xp/ 2003 / vista 系統(tǒng)軟件編寫環(huán)境:visual studio 2005編程語(yǔ)言:c#數(shù)據(jù)

9、庫(kù)系統(tǒng): sql server 20052.2.5系統(tǒng)模型(1)用例模型用例模型(use-case model)是系統(tǒng)既定功能及系統(tǒng)環(huán)境的模型,它可以作為客戶和開發(fā)人員之間的契約。用例是貫穿整個(gè)系統(tǒng)開發(fā)的一條主線。同一個(gè)用例模型即為需求工作流程的結(jié)果,可當(dāng)作分析設(shè)計(jì)工作流程以及測(cè)試工作流程的輸入使用(2)參與者匯總管理員:負(fù)責(zé)管理圖書信息和用戶信息相關(guān)數(shù)據(jù)用 戶:進(jìn)行圖書信息查詢和圖書借還(3)用例匯總管理員:設(shè)置系統(tǒng)使用權(quán)限;設(shè)置圖書館信息;設(shè)置書架信息;添加圖書類型;修改圖書類型;刪除圖書類型;添加圖書檔案信息;修改圖書檔案信息;刪除圖書檔案信息;管理圖書借閱信息;管理圖書歸還信息;圖書信

10、息查詢管理;圖書借閱信息管理。用 戶:查詢圖書在館信息;查詢圖書借閱信息;圖書借閱;圖書歸還。第3章 系統(tǒng)的設(shè)計(jì)3.1 軟件模塊設(shè)計(jì)3.1.1 系統(tǒng)模塊功能概述(1) 用戶登錄圖書館管理系統(tǒng)后,進(jìn)入圖書館主界面,如圖3.1所示,通過(guò)此界面可看到圖書借閱排行榜和讀者借閱排行榜,通過(guò)排行榜可以看出借閱圖書的名稱、圖書類型、借閱次數(shù)及借閱讀者等相關(guān)信息。圖3.1圖書館主界面(2) 單擊“系統(tǒng)設(shè)置”/“圖書館信息”命令,對(duì)圖書館信息進(jìn)行設(shè)置操作。單擊“系統(tǒng)設(shè)置”/“管理員設(shè)置”命令,對(duì)管理員信息進(jìn)行添加、權(quán)限設(shè)置、瀏覽及刪除操作。單擊“系統(tǒng)設(shè)置”/“書架管理”命令,對(duì)書架信息進(jìn)行添加、修改及刪除操作。

11、如圖3.2、3.3、3.3所示圖3.2圖書館信息圖3.3權(quán)限管理圖3.4書架管理(3) 單擊“讀者管理”/“讀者類型管理”命令,對(duì)讀者類型信息進(jìn)行添加、修改及刪除操作。如圖3.5所示圖3.5讀者類型管理(4) 單擊“讀者管理”/“讀者檔案管理”命令,對(duì)讀者信息進(jìn)行添加、修改、查看及刪除操作。如圖3.6所示圖3.6讀者檔案管理(5) 單擊“圖書管理”/“圖書類型管理”命令,對(duì)圖書類型進(jìn)行添加、修改及刪除操作。如圖3.7所示 圖3.7圖書類型管理 (6) 單擊“圖書管理”/“圖書檔案管理”命令,對(duì)圖書信息進(jìn)行添加、修改及刪除操作。如圖3.8所示圖3.8圖書檔案管理(7) 單擊“圖書借還”/“圖書借

12、閱”命令,對(duì)圖書借閱信息添加操作。如圖3.9所示圖3.9圖書借閱(8) 單擊“圖書借還”/“圖書歸還”命令,對(duì)圖書歸還信息進(jìn)行添加操作。如圖3.10所示圖3.10圖書歸還(9) 單擊“圖書查詢”/“圖書信息查詢”命令,對(duì)圖書檔案信息進(jìn)行查詢操作。如圖3.11所示圖3.11圖書信息查詢(10) 單擊“圖書查詢”/“借閱信息查詢”命令,對(duì)借閱的圖書信息進(jìn)行查詢操作。如圖3.12所示圖3.12借閱信息查詢(11) 單擊“更改密碼”按鈕,對(duì)當(dāng)前的用戶密碼進(jìn)行修改操作。如圖3.13所示圖3.13更改密碼(12) 單擊“退出系統(tǒng)”按鈕,退出當(dāng)前操作系統(tǒng)。如圖3.14所示圖3.14退出系統(tǒng)3.1.2 系統(tǒng)管

13、理流程3.2 數(shù)據(jù)庫(kù)設(shè)計(jì)3.2.1 數(shù)據(jù)庫(kù)分析在開發(fā)應(yīng)用程序時(shí),對(duì)數(shù)據(jù)庫(kù)的操作時(shí)必不可少的,一個(gè)數(shù)據(jù)庫(kù)的設(shè)計(jì)優(yōu)秀與否,將直接影響到軟件的開發(fā)進(jìn)度和性能。圖書館管理系統(tǒng)的需求主要包括對(duì)圖書信息的管理,其中包括基本信息和存檔信息;對(duì)圖書的借閱和歸還管理,其中包括圖書借閱信息和圖書歸還信息;對(duì)用戶檔案信息的管理,其中包括基本信息和借閱信息。3.2.2 數(shù)據(jù)庫(kù)概念設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)是系統(tǒng)設(shè)計(jì)過(guò)程中的重要組成部分,它是通過(guò)管理系統(tǒng)的整體需求而制定的。下面對(duì)本系統(tǒng)中具有代表性的數(shù)據(jù)庫(kù)設(shè)計(jì)進(jìn)行詳細(xì)說(shuō)明。在開發(fā)圖書館管理系統(tǒng)時(shí),最重要的是圖書信息管理和用戶檔案信息。在用戶檔案信息中又分為基本信息、借閱信息,本系統(tǒng)

14、提供了用戶借閱信息查詢功能,因此需要設(shè)計(jì)出用戶檔案信息的e-r圖。本系統(tǒng)提供了圖書信息查詢功能,因此需要設(shè)計(jì)出圖書信息的e-r圖。由于信息多而復(fù)雜,這里只給出關(guān)鍵信息。用戶檔案信息表e-r圖如圖3.15所示;圖書信息表e-r圖如圖3.16所示。用戶信息姓 名性 別讀者編號(hào)證件類型可借數(shù)量證件號(hào)碼讀者類型圖3.15 用戶檔案信息表e-r圖圖書信息條形碼圖書名稱圖書類型出版社書架庫(kù)存數(shù)量入館時(shí)間圖3.16圖書信息表e-r圖3.2.3 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫(kù)概念設(shè)計(jì)中已經(jīng)分析了圖書信息,用戶信息主要數(shù)據(jù)實(shí)體對(duì)象,這些實(shí)體對(duì)象是數(shù)據(jù)表結(jié)構(gòu)的基本模型,最終的數(shù)據(jù)模型都要實(shí)施到數(shù)據(jù)庫(kù)中,形成整體的數(shù)據(jù)結(jié)

15、構(gòu)??梢允褂胮owerdesigner工具完成這個(gè)數(shù)據(jù)庫(kù)的建模。3.3代碼設(shè)計(jì)3.3.1 用戶登陸功能代碼實(shí)現(xiàn)界面如下:如圖3.12所示圖3.17登錄系統(tǒng)代碼如下:public partial class login : system.web.ui.page operatorclass operatorclass = new operatorclass(); adminmanage adminmanage = new adminmanage(); readermanage readermanage = new readermanage(); protected void page_load(o

16、bject sender, eventargs e) /單擊登陸按鈕事件 protected void btnlogin_click(object sender, eventargs e) if (txtadmin.text = string.empty) response.write("<script>alert('管理員名稱不能為空!')</script>"); return; else dataset adminds = null; dataset readerds = null; adminmanage.name = txta

17、dmin.text; adminmanage.pwd = txtpwd.text; adminds = adminmanage.login(adminmanage); readermanage.id=txtpwd.text; readermanage.name=txtadmin.text; readerds=readermanage.readerlogin(readermanage); if (adminds.tables0.rows.count > 0 && txtcode.text = request.cookies"checkcode".valu

18、e) session"name" = txtadmin.text; response.redirect("index/default.aspx"); else if (readerds.tables0.rows.count > 0 && txtcode.text = request.cookies"checkcode".value) session"name" = txtadmin.text; session"readid" = txtpwd.text; session&q

19、uot;role" = "reader" response.redirect("index/default.aspx"); else response.write("<script>alert('登錄名或密碼不正確!')</script>"); /單擊取消按鈕事件 protected void btncancel_click(object sender, eventargs e) txtadmin.text = txtpwd.text = txtcode.text = string.e

20、mpty; 3.3.2查詢功能代碼實(shí)現(xiàn)代碼如下:public partial class sysquery_bookquery : system.web.ui.page bookmanage bookmanage = new bookmanage(); protected void page_load(object sender, eventargs e) this.title = "圖書信息查詢頁(yè)面" if (!ispostback) gvbind(); protected void btnquery_click(object sender, eventargs e) g

21、vbind(); protected void gvbookinfo_pageindexchanging(object sender, gridviewpageeventargs e) gvbookinfo.pageindex = e.newpageindex; gvbind(); protected void gvbind() dataset ds = null; int intcondition = ddlcondition.selectedindex; if (txtcondition.text = "") ds = bookmanage.getallbook(&qu

22、ot;tb_bookinfo"); else switch (intcondition) case 0: bookmanage.bookcode = txtcondition.text; ds = bookmanage.findbookbycode(bookmanage, "tb_bookinfo"); break; case 1: bookmanage.bookname = txtcondition.text; ds = bookmanage.findbookbyname(bookmanage, "tb_bookinfo"); break;

23、case 2: bookmanage.type = txtcondition.text; ds = bookmanage.findbookbytype(bookmanage, "tb_bookinfo"); break; case 3: bookmanage.author = txtcondition.text; ds = bookmanage.findbookbyauthor(bookmanage, "tb_bookinfo"); break; case 4: bookmanage.pubname = txtcondition.text; ds = b

24、ookmanage.findbookbypub(bookmanage, "tb_bookinfo"); break; case 5: bookmanage.bcase = txtcondition.text; ds = bookmanage.findbookbybcase(bookmanage, "tb_bookinfo"); break; gvbookinfo.datasource = ds; gvbookinfo.databind(); 3.3.3插入功能代碼實(shí)現(xiàn)代碼如下:public partial class bookmanage_addbook

25、 : system.web.ui.page validateclass validate=new validateclass(); bookcasemanage bookcasemanage = new bookcasemanage(); btypemanage btypemanage = new btypemanage(); bookmanage bookmanage = new bookmanage(); protected void page_load(object sender, eventargs e) this.title = "添加/修改圖書信息頁(yè)面" if

26、(!ispostback) dataset bcaseds = bookcasemanage.getallbcase("tb_bookcase"); ddlbcase.datasource = bcaseds; ddlbcase.datatextfield = "name" ddlbcase.databind(); dataset btypeds = btypemanage.getallbtype("tb_booktype"); ddlbtype.datasource = btypeds; ddlbtype.datatextfield

27、 = "typename" ddlbtype.databind(); if (request"bookcode" = null) btnadd.enabled = true; txtintime.text = datetime.now.toshortdatestring(); else btnsave.enabled = true; txtbcode.readonly = txtbname.readonly = true; txtbcode.text = request"bookcode".tostring(); bookmanage

28、.bookcode = txtbcode.text; dataset bookds = bookmanage.findbookbycode(bookmanage,"tb_bookinfo"); txtbname.text = bookds.tables0.rows01.tostring(); ddlbtype.selectedvalue = bookds.tables0.rows02.tostring(); txtauthor.text = bookds.tables0.rows03.tostring(); txttranslator.text = bookds.table

29、s0.rows04.tostring(); txtpub.text = bookds.tables0.rows05.tostring(); txtprice.text = bookds.tables0.rows06.tostring(); txtpage.text = bookds.tables0.rows07.tostring(); ddlbcase.selectedvalue = bookds.tables0.rows08.tostring(); txtstorage.text = bookds.tables0.rows09.tostring(); txtintime.text = boo

30、kds.tables0.rows010.tostring(); txtoper.text = bookds.tables0.rows011.tostring(); /單擊添加按鈕事件 protected void btnadd_click(object sender, eventargs e) validatefun(); bookmanage.bookcode = txtbcode.text; if (bookmanage.findbookbycode(bookmanage, "tb_bookinfo").tables0.rows.count > 0) bookma

31、nage.bookname = txtbname.text; bookmanage.type = ddlbtype.selectedvalue; bookmanage.author = txtauthor.text; bookmanage.translator = txttranslator.text; bookmanage.pubname = txtpub.text; bookmanage.price = convert.todecimal(txtprice.text); bookmanage.page = convert.toint32(txtpage.text); bookmanage.

32、bcase = ddlbcase.selectedvalue; bookmanage.storage = convert.toint32(txtstorage.text) + convert.toint32(bookmanage.findbookbycode(bookmanage, "tb_bookinfo").tables0.rows09.tostring(); bookmanage.intime = convert.todatetime(txtintime.text); bookmanage.oper = txtoper.text; bookmanage.updateb

33、ook(bookmanage); else bookmanage.bookname = txtbname.text; bookmanage.type = ddlbtype.selectedvalue; bookmanage.author = txtauthor.text; bookmanage.translator = txttranslator.text; bookmanage.pubname = txtpub.text; bookmanage.price = convert.todecimal(txtprice.text); bookmanage.page = convert.toint3

34、2(txtpage.text); bookmanage.bcase = ddlbcase.selectedvalue; bookmanage.storage = convert.toint32(txtstorage.text); bookmanage.intime = convert.todatetime(txtintime.text); bookmanage.oper = txtoper.text; bookmanage.addbook(bookmanage); response.redirect("bookmanage.aspx");/單擊保存按鈕事件 protecte

35、d void btnsave_click(object sender, eventargs e) validatefun(); bookmanage.bookcode = txtbcode.text; bookmanage.bookname = txtbname.text; bookmanage.type = ddlbtype.selectedvalue; bookmanage.author = txtauthor.text; bookmanage.translator = txttranslator.text; bookmanage.pubname = txtpub.text; bookma

36、nage.price = convert.todecimal(txtprice.text); bookmanage.page = convert.toint32(txtpage.text); bookmanage.bcase = ddlbcase.selectedvalue; bookmanage.storage = convert.toint32(txtstorage.text); bookmanage.intime = convert.todatetime(txtintime.text); bookmanage.oper = txtoper.text; bookmanage.updateb

37、ook(bookmanage); response.redirect("bookmanage.aspx");/單擊取消按鈕事件 protected void btncancel_click(object sender, eventargs e) txtintime.text = datetime.now.toshortdatestring(); txtbname.text = txtauthor.text = txttranslator.text = txtpub.text = txtprice.text = txtpage.text = txtstorage.text =

38、 txtoper.text = string.empty; response.redirect("bookmanage.aspx"); protected void validatefun() if (txtbcode.text = "") response.write("<script>alert('圖書條形碼不能為空!');location='javascript:history.go(-1)'</script>"); return; if (txtbname.text =

39、"") response.write("<script>alert('圖書名稱不能為空!');location='javascript:history.go(-1)'</script>"); return; if (!validate.validatenum(txtprice.text) response.write("<script>alert('圖書價(jià)格輸入有誤!');location='javascript:history.go(-1)'&

40、lt;/script>"); return; if (!validate.validatenum(txtpage.text) response.write("<script>alert('圖書頁(yè)碼輸入有誤!');location='javascript:history.go(-1)'</script>"); return; if (!validate.validatenum(txtstorage.text) response.write("<script>alert('圖書

41、庫(kù)存量輸入有誤!');location='javascript:history.go(-1)'</script>"); return; 3.3.4修改/刪除功能代碼實(shí)現(xiàn)代碼如下:public partial class readermanage_rtypemanage : system.web.ui.page rtypemanage rtypemanage = new rtypemanage(); protected void page_load(object sender, eventargs e) this.title = "查看讀者

42、類型頁(yè)面" if (!ispostback) gvbind(); protected void gvrtypeinfo_pageindexchanging(object sender, gridviewpageeventargs e) gvrtypeinfo.pageindex = e.newpageindex; gvbind(); protected void gvrtypeinfo_rowediting(object sender, gridviewediteventargs e) gvrtypeinfo.editindex = e.neweditindex; gvbind();

43、 protected void gvrtypeinfo_rowupdating(object sender, gridviewupdateeventargs e) rtypemanage.id = convert.toint32(gvrtypeinfo.datakeyse.rowindex.value.tostring(); rtypemanage.name = (textbox)(gvrtypeinfo.rowse.rowindex.cells1.controls0).text; rtypemanage.number = convert.toint32(textbox)(gvrtypeinf

44、o.rowse.rowindex.cells2.controls0).text); rtypemanage.updatertype(rtypemanage); gvrtypeinfo.editindex = -1; gvbind(); protected void gvrtypeinfo_rowcancelingedit(object sender, gridviewcancelediteventargs e) gvrtypeinfo.editindex = -1; gvbind(); protected void gvrtypeinfo_rowdeleting(object sender,

45、gridviewdeleteeventargs e) rtypemanage.id = convert.toint32(gvrtypeinfo.datakeyse.rowindex.value.tostring(); rtypemanage.deletertype(rtypemanage); response.write("<script>alert('讀者類型信息刪除成功')</script>"); gvbind(); private void gvbind() dataset ds = rtypemanage.getallrtyp

46、e("tb_readertype"); gvrtypeinfo.datasource = ds; gvrtypeinfo.datakeynames = new string "id" ; gvrtypeinfo.databind(); 第4章 圖書管理系統(tǒng)的實(shí)現(xiàn)整個(gè)系統(tǒng)除了用戶登錄外,主要有首頁(yè)模塊、系統(tǒng)設(shè)置模塊、讀者管理模塊、圖書管理模塊、圖書借還模塊、圖書查詢模塊、更改密碼、退出系統(tǒng)八個(gè)模塊。通過(guò)本系統(tǒng),讀者可以方便的對(duì)書目進(jìn)行檢索和閱覽,輕輕松松就可盡覽群書。4.1 用戶登錄模塊的實(shí)現(xiàn)功能:本模塊主要用于對(duì)用戶身份進(jìn)行鑒別。用戶通過(guò)表單提供用戶名和

47、密碼信息,系統(tǒng)根據(jù)用戶提供的登錄信息對(duì)用戶進(jìn)行身份查詢鑒別。如果身份合法,則將用戶導(dǎo)向系統(tǒng)的主頁(yè)面并記錄用戶的相關(guān)信息,留待以后的系統(tǒng)頁(yè)面使用。輸入:用戶名、密碼處理:(1) 輸入用戶的登錄信息。在頁(yè)面提供的表單出輸入用戶的用戶名和密碼信息,點(diǎn)擊“登錄”按鈕提交表單信息到身份驗(yàn)證頁(yè)面?;螯c(diǎn)擊“重填”按鈕,重新輸入。(2) 從form表單獲取輸入數(shù)據(jù)。 當(dāng)用戶單擊“登錄”按鈕后,登錄信息由form表單提交到logon.asp進(jìn)行處理。(3) 用戶身份進(jìn)行驗(yàn)證。連接數(shù)據(jù)庫(kù),打開用戶數(shù)據(jù)表usertype,檢驗(yàn)用戶登錄信息。以輸入數(shù)據(jù)“用戶名”為查詢條件創(chuàng)建數(shù)據(jù)集查看輸入用戶名是否存在。如果存在,繼

48、續(xù)檢驗(yàn)輸入的密碼是否正確。密碼和用戶名都正確,則進(jìn)入圖書館主頁(yè)面frame.asp;如果用戶名不存在或密碼不正確,則給出登錄失敗的提示框,并返回首頁(yè)重新登錄。輸出:圖書館主頁(yè)面模塊所使用的數(shù)據(jù)表本頁(yè)面使用了library.mdb數(shù)據(jù)庫(kù)中的用戶信息表(usertype)。4.2首頁(yè)模塊的實(shí)現(xiàn)本系統(tǒng)的主頁(yè)面使用了框架結(jié)構(gòu)。使用框架(frames)結(jié)構(gòu)設(shè)計(jì)的html文件,能夠?qū)⒄麄€(gè)窗口分成幾個(gè)獨(dú)立的小窗口,每個(gè)窗口可以分別載入不同的文件??蚣艿闹饕獌?yōu)點(diǎn)是獨(dú)立顯示內(nèi)容,能直觀的分開內(nèi)容??梢栽谝粋€(gè)框架中定義鏈接,在另一個(gè)框架中顯示內(nèi)容或觸發(fā)操作,而不必從重設(shè)計(jì)整個(gè)屏幕。框架不能單獨(dú)存在,而要用框架組來(lái)

49、定義??蚣芙M用<frameset>標(biāo)簽定義,框架用<frame>標(biāo)簽定義。首頁(yè)frame的代碼如下:public partial class login : system.web.ui.page operatorclass operatorclass = new operatorclass(); adminmanage adminmanage = new adminmanage(); readermanage readermanage = new readermanage(); protected void page_load(object sender, eventargs e)從以上代碼可以看出,整個(gè)頁(yè)面分為2個(gè)frame。頂部為菜單頁(yè)面,下面是顯示頁(yè)面。在系統(tǒng)運(yùn)行過(guò)程中,頂部菜單頁(yè)面一直都是顯示狀態(tài),方便用戶在不同的功能模塊之間切換;顯示頁(yè)面則根據(jù)頂部菜單顯示不同的閱讀內(nèi)容。4.3 系統(tǒng)設(shè)置模塊的實(shí)現(xiàn)功能:用戶進(jìn)入此頁(yè)面后,所有的系統(tǒng)信息將會(huì)顯示出來(lái),用戶可以看到系統(tǒng)的各種信息并加以修改,點(diǎn)擊系統(tǒng)設(shè)置,就可以進(jìn)一步查詢與修改系統(tǒng)信息的具體內(nèi)容。輸入:點(diǎn)擊系統(tǒng)設(shè)置的超鏈接文本處理:(1) 構(gòu)造頁(yè)面格式。使用表格標(biāo)簽構(gòu)造頁(yè)面表單,構(gòu)造放置各個(gè)字段及字段值的表單,美化頁(yè)面。(2) 連接數(shù)據(jù)庫(kù)。與數(shù)據(jù)庫(kù)創(chuàng)建鏈接,使用sql語(yǔ)言在數(shù)據(jù)庫(kù)中

溫馨提示

  • 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)論