2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩44頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)設計(論文)</b></p><p>  題 目: 圖書管理系統(tǒng) </p><p>  年級專業(yè): 06級 計算機網(wǎng)絡 </p><p>  學生姓名: </p><p>  指導教師:

2、 </p><p>  年 月 日摘 要</p><p>  隨著信息技術在管理上越來越深入而廣泛的應用,管理信息系統(tǒng)的實施在技術上已逐步成熟。管理信息系統(tǒng)是一個不斷發(fā)展的新型學科,企業(yè)要生存要發(fā)展,要高效率地把企業(yè)活動有機地組織起來,就必須加強企業(yè)管理,即加強對企業(yè)內(nèi)部的各種資源(人、財、物等)的有效管理,建立與自身特點相適應的管理信息系統(tǒng)。&l

3、t;/p><p>  本文介紹了在VB.NET環(huán)境下采用“自上而下地總體規(guī)劃,自下而上地應用開發(fā)”的策略開發(fā)一個管理信息系統(tǒng)的過程。通過分析傳統(tǒng)的人工管理圖書館的不足,創(chuàng)建了一套行之有效的計算機管理圖書館的方案。文章詳細介紹了圖書管理信息系統(tǒng)的系統(tǒng)分析部分,包括可行性分析、組織機構分析、管理職能分析、業(yè)務流程分析、數(shù)據(jù)流程分析、數(shù)據(jù)字典、處理描述等等;系統(tǒng)設計部分主要介紹了系統(tǒng)功能設計和數(shù)據(jù)庫設計;系統(tǒng)實現(xiàn)部分列出了

4、幾個主要的程序框圖,并附帶了一些主要的窗口和程序。本系統(tǒng)界面友好,操作簡單,比較實用。</p><p>  【關鍵字】管理信息系統(tǒng)、圖書管理、VB.NET應用, ACCESS。</p><p><b>  目 錄</b></p><p><b>  第一章 前言1</b></p><p>  

5、1.1 開發(fā)背景1</p><p>  1.2 開發(fā)目標1</p><p>  1.3 開發(fā)意義1</p><p>  第二章 系統(tǒng)分析2</p><p>  2.1 系統(tǒng)的設計思想2</p><p>  2.2 可行性分析3</p><p>  2.3 需求分析4&

6、lt;/p><p>  2.4 系統(tǒng)綜合要求及運行環(huán)境和開發(fā)平臺4</p><p>  2.4.1 系統(tǒng)綜合要求4</p><p>  2.4.2 系統(tǒng)運行環(huán)境簡介:5</p><p>  2.4.3 系統(tǒng)開發(fā)平臺5</p><p>  2.5 業(yè)務分析5</p><p>  第三

7、章 數(shù)據(jù)庫設計6</p><p>  3.1 數(shù)據(jù)庫的引入6</p><p>  3.2 數(shù)據(jù)庫的物理結(jié)構7</p><p>  3.3 數(shù)據(jù)庫的完整性和安全性10</p><p>  3.3.1 數(shù)據(jù)庫的完整性10</p><p>  3.3.2 數(shù)據(jù)庫的安全性10</p>&l

8、t;p>  第四章 功能模塊設計13</p><p>  4.1 數(shù)據(jù)庫的連接11</p><p>  4.2 建立應用對象13</p><p>  4.3 系統(tǒng)總體功能模塊14</p><p>  4.3.1 系統(tǒng)模塊14</p><p>  4.3.2事務處理模塊14</p>&

9、lt;p>  4.3.3信息查詢模塊14</p><p>  4.3.4系統(tǒng)維護模塊14</p><p>  4.3.5信息查詢模塊14</p><p>  4.4 具體模塊設計14</p><p>  4.4.1 系統(tǒng)登錄窗口14</p><p>  窗口名為w_login14</p>

10、<p>  4.4.2創(chuàng)建《圖書管理系統(tǒng)》項目的主界面窗口14</p><p>  4.4.3 系統(tǒng)菜單設計模塊14</p><p>  4.4.4 密碼修改窗口14</p><p>  4.5.事務處理模塊設計14</p><p>  4.5.1.借閱圖書窗口w_borrow14</p><p>

11、;  4.5.2.歸還圖書w_ghuan14</p><p>  4.5.3.罰款窗口w_fakuan14</p><p>  4.5.4.借閱證掛失及恢復窗口w_gua14</p><p>  4.5.5.借閱證掛失及恢復窗口w_tingyong14</p><p>  4.5.6.圖書丟失處理及罰款窗口w_dshi14</

12、p><p>  4.6. 信息查詢模塊設計14</p><p>  4.6.1 圖書查詢窗口w_findbook14</p><p>  4.6.2 讀者查詢窗口w_cdz14</p><p>  4.6.3 瀏覽讀者借閱情窗口w_lydz14</p><p>  4.6.4 瀏覽圖書窗口w_bookliulan

13、14</p><p>  4.7 系統(tǒng)維護模塊設計14</p><p>  4.7.1 書庫維護窗口w_book14</p><p>  4.7.2 讀者庫維護窗口 w_reader14</p><p>  4.7.3 管理員庫維護窗口 w_glyw14</p><p>  4.7.4 類別庫維護窗口 w_gl

14、yw14</p><p>  4.7.5 參數(shù)設置窗口 w_cansu14</p><p>  4.8. 統(tǒng)計打印模塊設計14</p><p>  4.8.1 借閱統(tǒng)計窗口 w_tjborrow14</p><p>  4.8.2 圖書分類統(tǒng)計窗口 w_tjlei14</p><p>  4.8.3 圖書分類

15、統(tǒng)計窗口 w_tjfakuan14</p><p>  4.8.4 圖書經(jīng)費統(tǒng)計窗口 w_tjjine14</p><p>  4.8.5 打印窗口 窗口名為w_print_setup14</p><p>  第五章 結(jié)束語14</p><p><b>  致 謝14</b></p>&l

16、t;p><b>  參考文獻14</b></p><p><b>  第一章 前言</b></p><p><b>  1.1 開發(fā)背景</b></p><p>  隨著人類社會的發(fā)展,人類對知識的需求也不斷地增長。在這種形勢下,書籍就漸漸地成為人們獲取并增長知識的主要途徑,而圖書館就自然

17、而然地在人們的生活中占據(jù)了一定的位置,如何科學地管理圖書館不但關系到讀者求知的方便程度,也關系到圖書館的發(fā)展,因此,開發(fā)一套完善的圖書館管理系統(tǒng)就必不可少了。管理信息系統(tǒng)(簡稱MIS)是介于信息論,經(jīng)濟管理理論,統(tǒng)計學與運籌學及計算機科學之間的一門邊緣性,綜合性,系統(tǒng)性的交叉科學,它是隨著管理科學,信息技術,計算機技術等的發(fā)展而產(chǎn)生和發(fā)展起來的。</p><p>  圖書館管理系統(tǒng)是典型的信息管理系統(tǒng),其開發(fā)主要

18、包括后臺數(shù)據(jù)庫的建立和維護以及前端的應用程序的開發(fā)兩個方面。對于前者要求建立數(shù)據(jù)的一致性和完整性,對于后者則要求應用程序功能的完備,易用等的特點?;谏鲜隹紤]本系統(tǒng)主要利用VB.NET作前端的應用開發(fā)工具 ,利用Access 作為后臺的數(shù)據(jù)庫,利用WINDOWS作為系統(tǒng)平臺開發(fā)的圖書管理系統(tǒng)。另外本圖書館管理系統(tǒng)利用軟件工程化思想和方法,總體上是采用結(jié)構化生命法進行系統(tǒng)分析和設計的,而系統(tǒng)實現(xiàn)等步驟則采用了原型法和面對對象的方法。<

19、;/p><p><b>  1.2 開發(fā)目標</b></p><p>  建立圖書管理系統(tǒng),采用計算機對圖書信息、讀者信息等進行管理,進一步提高現(xiàn)代化水平。幫助工作人員提高工作效率,使圖書管理向著規(guī)范化、簡單化、有效化的方向發(fā)展。</p><p><b>  1.3 開發(fā)意義</b></p><p>

20、;  傳統(tǒng)的圖書管理主要靠人工管理,每天要處理的數(shù)據(jù)很大,而且不利于讀者的借閱,圖書的管理,而且時間過久容易出錯。設計這個圖書管理系統(tǒng),可使這些管理工作通過自動化和規(guī)范化的方式完成。減少了管理員的工作,提高了效率。 </p><p><b>  第二章 系統(tǒng)分析</b></p><p>  2.1 系統(tǒng)的設計思想</p><p>  

21、圖書管理系統(tǒng)基本設計思想是把整個系統(tǒng)按照實現(xiàn)模塊進行分解,利用Microsoft Visual Studio 2005進行編程。此系統(tǒng)結(jié)構如圖2.1所示。</p><p>  圖2.1圖書管理系統(tǒng)層次圖</p><p>  圖2.1圖書管理系統(tǒng)結(jié)構圖</p><p>  2.2 可行性分析</p><p>  可行性分析(Feasibili

22、ty Analysis)也稱為可行性研究,是在系統(tǒng)調(diào)查的基礎上,針對新系統(tǒng)的開發(fā)是否具備必要性和可能性,對新系統(tǒng)的開發(fā)從技術、經(jīng)濟、社會的方面進行分析和研究,以避免投資失誤,保證新系統(tǒng)的開發(fā)成功。可行性研究的目的就是用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決。該系統(tǒng)的可行性分析包括以下幾個方面的內(nèi)容。</p><p>  1:技術可行性:本系統(tǒng)您需要一臺裝有Microsoft Visual Studio

23、2005和Microsoft Office Access 2003兩個軟件的計算機即可,對機器本身沒有太高的要求,一般單位或個人電腦完全可滿足要求。</p><p>  2:經(jīng)濟可行性:由于本系統(tǒng)是為圖書管理使用的系統(tǒng),裝上該應用軟件,即可使用系統(tǒng),系統(tǒng)成本主要集中在系統(tǒng)軟件的開發(fā)上,當系統(tǒng)投入運行后可以節(jié)約大量的人力,物力。所帶來的效益遠遠大于系統(tǒng)軟件的開發(fā)成本。在經(jīng)濟上完全可行。</p><

24、;p>  3:操作可行性:界面設計時充分考慮管理人員的習慣,使得操作簡單;數(shù)據(jù)錄入迅速、規(guī)范、可靠;統(tǒng)計準確;制表靈活;適應力強;容易擴充。</p><p>  4:管理上的可行性:主要是管理人員是否支持,現(xiàn)有的管理制度和方法是否科學,規(guī)章制度是否齊全,原始數(shù)據(jù)是否正確等。規(guī)章制度和管理方法為系統(tǒng)的建設提供了制度保障。 </p><p>  綜上所述,此系統(tǒng)開發(fā)目標已明確,在技術可行

25、,并且投入少、見效快。因此系統(tǒng)的開發(fā)是完全可行的。</p><p><b>  2.3 需求分析</b></p><p><b>  2.3.1市場需求</b></p><p>  圖書館的各種各樣的圖書為我們提供了很多的信息,但是各種各樣的圖書卻給管理人員帶來了很多麻煩。為了減輕管理人員的工作量,我設計一種可以方便地管

26、理圖書庫信息的軟件—圖書管理系統(tǒng)。此系統(tǒng)的主要功能有:圖書錄入、借書證登記、圖書借閱歸還、圖書統(tǒng)計等功能,具體要求如下。</p><p>  使得圖書的管理更加系統(tǒng)化和條理化</p><p>  可以使圖書館管理員對圖書館的圖書了如指掌,并根據(jù)現(xiàn)在圖書的使用情況進行圖書的訂購。</p><p>  2.3.2系統(tǒng)需求說明</p><p>  

27、系統(tǒng)可以進行圖書信息的錄入、編輯等基本操作。</p><p>  系統(tǒng)可以進行圖書類別的管理(增加類別、編輯類別)。</p><p>  借書證(讀者信息)的登記、修改、刪除等根本操作。</p><p>  圖書查詢功能:圖書信息的查詢,讀者信息的查詢,圖書的瀏覽。</p><p>  圖書借閱和歸還功能:實現(xiàn)圖書的借閱、歸還。</p&

28、gt;<p>  可以完成圖書借閱過期或遺失的賠償,并對賠償信息存檔。</p><p>  可以實現(xiàn)系統(tǒng)用戶信息的管理。</p><p>  2.4 系統(tǒng)綜合要求及運行環(huán)境和開發(fā)平臺</p><p>  2.4.1 系統(tǒng)綜合要求</p><p>  圖書管理系統(tǒng)是通過圖書管理的功能要求,結(jié)合圖書管理的實際情況,并結(jié)合對圖書信

29、息研究和分析規(guī)劃出來的。</p><p>  Access是Microsoft公司推出的Windows環(huán)境下一個功能完備的關系型數(shù)據(jù)庫管理系統(tǒng)管理系統(tǒng)。</p><p>  系統(tǒng)以功能強大的Windows系列操作系統(tǒng)作為操作系統(tǒng)平臺,使其具備優(yōu)良的可視化圖形操作界面,大力提高系統(tǒng)的可操作性和交互性盡量減少操作員的負擔,讓他們更方便、更快捷、更簡單的進行操作。</p><

30、p>  2.4.2 系統(tǒng)運行環(huán)境簡介:</p><p>  基于以上對系統(tǒng)各種需求的分析和定義,建議系統(tǒng)采用一下配置,已確定系統(tǒng)的穩(wěn)定、高效運行。</p><p><b>  1)、硬件環(huán)境</b></p><p>  一般的配置即可,UPS不間斷電源一臺(避免數(shù)據(jù)因突然停電等意外情況下的丟失)</p><p>

31、  2)、軟件環(huán)境 Win95以上操作系統(tǒng) </p><p>  2.4.3 系統(tǒng)開發(fā)平臺</p><p>  電腦配置:CPU: AMD 4200+ 內(nèi)存:DDR 1G 硬盤:160G</p><p>  操作系統(tǒng):Microsoft Windows XP professional 簡體中文版</p><p>  開

32、發(fā)環(huán)境: Microsoft Visual Studio 2005</p><p>  數(shù)據(jù)庫:Microsoft Office Access 2003</p><p><b>  2.5 業(yè)務分析</b></p><p>  圖書管理系統(tǒng)的業(yè)務流程:首先由管理員、工作人員及讀者者等輸入相應密碼登陸主界面,打開相應的界面,然后對具體信息進行操

33、作。圖書館管理人員的功能最為復雜,包括對工作人員、圖書借閱者、圖書進行管理和維護,及系統(tǒng)狀態(tài)的查看、維護等。圖書館工作人員對圖書借閱者的借閱及還書要求進行操作,借閱者查看確認圖書借閱者可直接查看圖書館圖書情況,如果圖書借閱者可以進行。瀏覽圖書,本人借書情況的查詢和維護部分個人信息。</p><p>  第三章 數(shù)據(jù)庫設計</p><p>  3.1 數(shù)據(jù)庫的引入</p>

34、<p>  數(shù)據(jù)庫技術從60年代中期至今只有不到40年的歷史,但其發(fā)展速度之快是其它技術所不及的。它已由第一代的層次型、網(wǎng)狀型數(shù)據(jù)庫,第二代的關系型數(shù)據(jù)庫發(fā)展到今天以面向?qū)ο鬄橹饕P偷臄?shù)據(jù)庫,即第三代數(shù)據(jù)庫。數(shù)據(jù)庫技術和網(wǎng)絡通信技術、面向?qū)ο缶幊碳夹g、并行計算機技術、人工智能技術相互融合、相互滲透,促進了數(shù)據(jù)庫技術的廣泛應用。</p><p>  數(shù)據(jù)庫(Database),是按照數(shù)據(jù)結(jié)構來組織、存儲

35、和管理數(shù)據(jù)的倉庫,是用于查詢的大量數(shù)據(jù)的存儲區(qū)域。使用數(shù)據(jù)庫可以帶來許多好處:如減少了數(shù)據(jù)的冗余度,從而大大地節(jié)省了數(shù)據(jù)的存儲空間,實現(xiàn)數(shù)據(jù)資源的充分共享等等。此外,數(shù)據(jù)庫技術還為用戶提供了非常簡便的使用手段,使用戶易于編寫有關數(shù)據(jù)庫應用程序。特別是近年來推出的計算機關系數(shù)據(jù)庫管理系統(tǒng),操作直觀,使用靈活,編程方便,功能強大,環(huán)境適應廣泛,數(shù)據(jù)處理能力極強。</p><p>  數(shù)據(jù)庫的設計是指對一個給定的應用環(huán)

36、境,構造數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應用系統(tǒng),滿足各種用戶需求。作為信息資源開發(fā)、管理和服務的一種有效的手段,數(shù)據(jù)庫技術的應用已越來越廣泛,從小型的單項事務處理系統(tǒng)到大型的信息系統(tǒng)大都用先進的數(shù)據(jù)庫技術來保持系統(tǒng)數(shù)據(jù)的安全性、完整性和共享性。對一個實際的系統(tǒng)來說,數(shù)據(jù)庫表的設計在遵循數(shù)據(jù)庫理論的同時,必須能用開發(fā)工具來實現(xiàn)用戶在各方面提出的功能要求。</p><p>  數(shù)據(jù)庫系統(tǒng)本質(zhì)上是一個用計算機存儲記錄的系統(tǒng)

37、。數(shù)據(jù)庫本身可被看作為一種電子文件柜:也就是說,它是收集計算機數(shù)據(jù)文件的倉庫或容器。系統(tǒng)用戶可以對這些文件執(zhí)行插入數(shù)據(jù)、檢索數(shù)據(jù)、更改數(shù)據(jù)、刪除數(shù)據(jù)等一系列操作</p><p>  一個真正的、完整的站點是離不開數(shù)據(jù)庫的,因為少量的數(shù)據(jù),如網(wǎng)頁訪問人數(shù)等完全可以存儲在文本文件中,但實際應用中,需要保存的數(shù)據(jù)遠不止這一點點,而且這些數(shù)據(jù)之間往往還有關聯(lián),利用數(shù)據(jù)庫來管理這些數(shù)據(jù),可以很方便的查詢和更新??梢哉f一個動

38、態(tài)網(wǎng)站的建設是離不開一個設計最優(yōu)的數(shù)據(jù)庫的。我們現(xiàn)在可以使用的數(shù)據(jù)庫有很多種,如:Fox數(shù)據(jù)庫(.dbf)、Access數(shù)據(jù)庫(.mdb)、DB2、Informix、Oracle和SQL Server、ASA等等,在本次設計中,Access數(shù)據(jù)庫(.mdb)、作為后臺數(shù)據(jù)庫工具。</p><p><b>  。</b></p><p>  總之,數(shù)據(jù)庫系統(tǒng)是一個計算機

39、存儲記錄的系統(tǒng),即,它是一個計算機系統(tǒng),該系統(tǒng)的目標存儲信息并支持用戶檢索和更新所需要的信息。圖1-2是一個數(shù)據(jù)庫系統(tǒng)的簡圖。</p><p>  圖2.1 數(shù)據(jù)庫系統(tǒng)簡圖</p><p>  3.2 數(shù)據(jù)庫的物理結(jié)構</p><p>  本系統(tǒng)的數(shù)據(jù)庫名稱為圖書管理系統(tǒng).mdb。共有8個表,分別是圖書登記表,圖書類型表,圖書借閱表,借書期限表,借書證登記表,賠償

40、條件表,賠償信息表,用戶信息表。下面將具體介紹數(shù)據(jù)庫中各個表的結(jié)構。</p><p>  表3.1 圖書登記表</p><p>  表3.2 圖書類別表</p><p>  表3.3 圖書借閱表</p><p>  表3.4 借書證登記表</p><p><b>  表3.5借書期限表</b>&l

41、t;/p><p>  表3.6 賠償條件表</p><p>  表3.7 賠償信息表</p><p>  表3.8 用戶信息表</p><p>  3.3 數(shù)據(jù)庫的完整性和安全性</p><p>  3.3.1 數(shù)據(jù)庫的完整性</p><p>  數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性和相容性。數(shù)據(jù)庫

42、管理系統(tǒng)(DBMS)用一定的機制來檢查數(shù)據(jù)庫中的數(shù)據(jù)是否滿足規(guī)定的條件——完整性約束條件,數(shù)據(jù)的約束條件是語義的體現(xiàn),將作為模式的一部分存入數(shù)據(jù)庫中。</p><p>  本系統(tǒng)中定義了表與表之間的聯(lián)系有助于實現(xiàn)完整性規(guī)則,一般在程序中實現(xiàn)具體的完整性控制。</p><p>  3.3.2 數(shù)據(jù)庫的安全性</p><p>  數(shù)據(jù)庫的安全性是指保護數(shù)據(jù)庫以防止不合

43、法的使用所造成的數(shù)據(jù)泄漏、更改或破壞。在數(shù)據(jù)庫系統(tǒng)中,大量的數(shù)據(jù)集中存放,而且為許多用戶直接共享,是寶貴的信息資源,系統(tǒng)的安全保護措施就顯得更為重要,它保護數(shù)據(jù)庫防止惡意的破壞和非法的存取。</p><p>  本系統(tǒng)包括數(shù)據(jù)庫的安全。采用管理員來管理系統(tǒng)鑒定的方法實現(xiàn)數(shù)據(jù)庫的安全,此安全管理措施在登錄數(shù)據(jù)庫時,系統(tǒng)讓管理員戶表示自己的身份,不同的人員權限不同,系統(tǒng)進行核實,鑒別人員是否為合法用戶,若是,系統(tǒng)進一

44、步核實用戶,其權限為管理員、工作人員及讀者的方可進行管理。通常要求用戶輸入口令,系統(tǒng)和對用戶口令以鑒別用戶身份。這是一種簡單可行的方法,實現(xiàn)起來比較方便。采用安全管理措施主要是為了防止沒有修改權限的用戶無意間修改了數(shù)據(jù),因此采用用戶標識和鑒定的安全管理措施就能夠保障數(shù)據(jù)庫的安全性。</p><p>  4.1 數(shù)據(jù)庫的連接和執(zhí)行操作方法</p><p>  數(shù)據(jù)庫連接將采用代碼連接,建立一

45、個類,類名MyDbEngine 應用于數(shù)據(jù)庫連接和執(zhí)行數(shù)據(jù)操作。如:查詢,執(zhí)行SQL語句返回影響的行數(shù)或者返回結(jié)果集,返回某表指定字段的值等。</p><p>  Imports System.Data.OleDb</p><p>  Imports System.Data.Common</p><p>  Imports System.IO</p>

46、<p>  ' 數(shù)據(jù)庫操作類。提供了執(zhí)行查詢等數(shù)據(jù)庫操作方法</p><p>  Public Class MyDbEngine</p><p>  Private Shared ReadOnly DB_CONNECTION As String = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" &

47、; Path.Combine(Application.StartupPath, "圖書管理系統(tǒng).mdb")</p><p>  Private conn As OleDbConnection = Nothing</p><p>  Public Sub New()</p><p><b>  End Sub</b></

48、p><p>  ' 打開數(shù)據(jù)庫連接。</p><p>  Public Sub OpenConnect()</p><p>  If IsConnectionOpened() = False Then</p><p>  conn = New OleDbConnection(DB_CONNECTION)</p><p&

49、gt;  conn.Open()</p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  ' 關閉數(shù)據(jù)庫連接。</p><p>  Public Sub CloseConnect()</p><p> 

50、 If IsConnectionOpened() Then</p><p>  conn.Close() : conn = Nothing</p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  ' 執(zhí)行 SQL 語句并返回影

51、響的行數(shù)</p><p>  Public Function ExecuteNonQuery(ByVal cmdText As String) As Integer</p><p>  OpenConnect()</p><p>  Dim cmd As OleDbCommand = New OleDbCommand(cmdText, conn)</p>

52、<p>  Return cmd.ExecuteNonQuery()</p><p>  End Function</p><p>  ' 執(zhí)行 SQL 語句,并返回結(jié)果集</p><p>  Public Function ExecuteReader(ByVal cmdText As String) As DbDataReader</p

53、><p>  OpenConnect()</p><p>  Dim cmd As OleDbCommand = New OleDbCommand(cmdText, conn)</p><p>  Return cmd.ExecuteReader()</p><p>  End Function</p><p>  

54、9; 判斷數(shù)據(jù)庫連接是否已經(jīng)打開。</p><p>  Public Function IsConnectionOpened() As Boolean</p><p>  If IsNothing(conn) Then Return False</p><p>  Return True</p><p>  End Function</

55、p><p>  ' 判斷工商信息表中某個字段中是否包含指定的值。</p><p>  Public Function IsValueExists(ByVal tableName As String, ByVal fieldName As String, ByVal fieldValue As String) As Boolean</p><p>  Dim en

56、gin As New MyDbEngine</p><p>  Dim cmdText As String</p><p>  cmdText = "select * from " + tableName + " where " + fieldName & "='" + fieldValue + "

57、9;"</p><p>  Dim reader As DbDataReader = Me.ExecuteReader(cmdText)</p><p>  reader.Read()</p><p>  Dim isExists As Boolean = reader.HasRows</p><p>  reader.Close(

58、)</p><p>  Return isExists</p><p>  End Function</p><p>  ' 根據(jù)傳入的查詢條件返回結(jié)果集</p><p>  Public Function ExecuteDataSet(ByVal cmdText As String) As DataSet</p>&l

59、t;p>  OpenConnect()</p><p>  Dim myDataSet As New DataSet</p><p>  Dim adapter As OleDbDataAdapter = New OleDbDataAdapter(cmdText, conn)</p><p>  adapter.Fill(myDataSet)</p>

60、;<p>  Return myDataSet</p><p>  End Function</p><p>  '根據(jù)某表某字段的值返回某字段的值</p><p>  Public Function ValueExists(ByVal tableName As String, ByVal fieldName As String, ByVal

61、fieldValue As String, ByVal field As String) As String</p><p>  Dim engin As New MyDbEngine</p><p>  Dim cmdText As String</p><p>  Dim Exists As String</p><p>  cmdTex

62、t = "select * from " + tableName + " where " + fieldName & "='" + fieldValue + "'"</p><p>  Dim reader As DbDataReader = Me.ExecuteReader(cmdText)</p>

63、;<p>  If reader.HasRows = False Then Exists = ""</p><p>  reader.Read()</p><p>  If reader.HasRows = False Then</p><p>  Exists = "" : Return Exists</

64、p><p>  Exit Function</p><p><b>  End If</b></p><p>  Exists = reader(field) : reader.Close()</p><p>  Return Exists</p><p>  End Function</p&g

65、t;<p><b>  End Class</b></p><p>  第四章 功能模塊和窗體設計</p><p>  對本系統(tǒng)的各個子模塊進行了系統(tǒng)分析和數(shù)據(jù)庫設計后,本章將主要討論該系統(tǒng)所實現(xiàn)的各部分功能。</p><p>  4.1 建立應用程序</p><p>  VB.NET提供了多種項目模板,

66、利用這些模板可創(chuàng)建所需的項目類型。其中“Windows應用程序”是一種最常用的模板,用于開發(fā)在Windows環(huán)境下的具有窗體或窗口的應程序。創(chuàng)建圖書管理系統(tǒng)的應用程序的步驟如下:</p><p>  (1)選擇“文件”菜單中的“新建項目”子菜單</p><p>  (2)在“模板”在選擇“Windows應用程序”,名稱為“圖書管理系統(tǒng)”,然后確定。</p><p>

67、  (3)最否保存,保存在自己要求的文件夾。</p><p>  4.2 系統(tǒng)登陸窗體和主窗體</p><p>  4.3.1 登陸窗口</p><p>  系統(tǒng)登錄窗口完成的是圖書管理系統(tǒng)的登錄功能,用戶可以通過選擇用戶名并輸入相應密碼。如果為合法用戶,則單擊“確定”按鈕就可以登錄主界面;如果為非法用戶,單擊“確定”按鈕則提示密碼錯誤登錄失敗。</p>

68、<p><b>  窗體名:Login</b></p><p>  圖4.1 系統(tǒng)登陸窗體</p><p>  確定按鈕單擊事件代碼:If Me.UsernameTB.Text.Length < 1 Or Me.PasswordTB.Text.Length < 1 Then</p><p>  Message.Text

69、 = "用戶名或密碼不能為空!" : Exit Sub</p><p><b>  End If</b></p><p>  Dim massager As New UserManager</p><p>  'loginUser變量在CommonVariable模塊中被定義</p><p>

70、  '該變量用于保存登錄用戶的信息</p><p>  loginUser = massager.GetUser(Me.UsernameTB.Text)</p><p>  If IsNothing(loginUser) Then</p><p>  MessageBox.Show("用戶不存在!") : Exit Sub</p&g

71、t;<p><b>  End If</b></p><p>  If Not loginUser.UserPassword.Equals(Me.UsernameTB.Text) Then</p><p>  MessageBox.Show("密碼錯誤!") : Exit Sub</p><p><b&g

72、t;  End If</b></p><p>  IndexForm.Menu登陸.Enabled = False</p><p>  Me.Close()</p><p>  'loginUser對象為空(Nothing)則退出應用程序</p><p>  If IsNothing(loginUser) Then<

73、/p><p>  Application.Exit() : Exit Sub</p><p><b>  End If</b></p><p>  IndexForm.Menu注銷.Enabled = True</p><p>  '權限管理。此處用到了在CommonVariable模塊中定義的loginUser變量

74、</p><p>  '該變量指向的UserInfo實例在登錄的被創(chuàng)建</p><p>  If loginUser.UserPrivilege.Equals(UserPrivilege.Management) Then</p><p>  IndexForm.Menu編輯.Visible = True</p><p>  Index

75、Form.Menu借閱.Visible() = True</p><p>  IndexForm.Menu賠償.Visible() = True</p><p>  IndexForm.Menu借書證.Visible() = True</p><p>  IndexForm.Menu系統(tǒng)管理.Visible() = True</p><p>

76、  ElseIf loginUser.UserPrivilege = UserPrivilege.Operation Then</p><p>  IndexForm.Menu編輯.Visible = True</p><p>  IndexForm.Menu借閱.Visible() = True</p><p>  IndexForm.Menu賠償.Visible

77、() = True</p><p>  IndexForm.Menu借書證.Visible() = True</p><p>  IndexForm.Menu系統(tǒng)管理.Visible() = False</p><p><b>  Else</b></p><p>  IndexForm.Menu編輯.Visible =

78、 False</p><p>  IndexForm.Menu借閱.Visible() = False</p><p>  IndexForm.Menu賠償.Visible() = False</p><p>  IndexForm.Menu借書證.Visible() = False</p><p>  IndexForm.Menu系統(tǒng)管理.

79、Visible() = False</p><p><b>  End If</b></p><p><b>  4.3.2 主窗口</b></p><p>  主窗體是用戶與計算機的交互</p><p>  窗口名:IndexForm</p><p>  標題(Text):

80、圖書管理系統(tǒng)</p><p>  窗口類型(Window Type):帶微幫助的MDI框架窗口</p><p>  窗口狀態(tài)(Window State):初始最大化(maximized!)</p><p>  關聯(lián)菜單(Menu Name):窗體主菜MS1 </p><p><b>  窗體如圖4.2:</b></

81、p><p><b>  圖4.2 主窗體</b></p><p>  主窗體的load事件代碼:</p><p>  Private Sub IndexForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load</p>

82、<p>  loginUser = Nothing : Menu登陸.Enabled = True</p><p>  Menu注銷.Enabled = False : Me.Menu編輯.Visible = False</p><p>  Me.Menu借閱.Visible() = False : Me.Menu賠償.Visible() = False</p>

83、<p>  Me.Menu借書證.Visible() = False : Me.Menu系統(tǒng)管理.Visible() = False</p><p>  Me.Menu注銷.Enabled = False : Me.TSSL1.Text = " 就緒" & Space(6)</p><p>  Me.TSSL2.Text = Space(40)

84、 : Me.TSSL3.Text = "今天是:" & Today()</p><p><b>  End Sub</b></p><p>  主窗體“窗口”菜單代碼:</p><p>  Private Sub 窗體層疊ToolStripMenuItem_Click(ByVal sender As System.O

85、bject, ByVal e As System.EventArgs) Handles 窗體層疊ToolStripMenuItem.Click</p><p>  Me.LayoutMdi(MdiLayout.Cascade)</p><p><b>  End Sub</b></p><p>  Private Sub 水平平鋪ToolStr

86、ipMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 水平平鋪ToolStripMenuItem.Click</p><p>  Me.LayoutMdi(MdiLayout.TileHorizontal)</p><p><b>  End Sub</b&g

87、t;</p><p>  Private Sub 垂直平鋪ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 垂直平鋪ToolStripMenuItem.Click</p><p>  Me.LayoutMdi(MdiLayout.TileVertical)&

88、lt;/p><p><b>  End Sub</b></p><p>  Private Sub 排列圖標ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 排列圖標ToolStripMenuItem.Click</p>&l

89、t;p>  Me.LayoutMdi(MdiLayout.ArrangeIcons)</p><p><b>  End Sub</b></p><p>  4.3 系統(tǒng)總體功能模塊</p><p>  在整體設計中,我們將圖書管理系統(tǒng)分為七個大的模塊:系統(tǒng)管理、圖書管理、圖書借閱、圖書賠償、借書證證管理、圖書查詢,幫助。每個模塊將實現(xiàn)

90、不同的功能。下面將具體進行介紹。</p><p>  表 4.3.1 模塊功能表</p><p>  4.3.1 系統(tǒng)管系統(tǒng)模塊</p><p>  本模塊分為:添加用戶、刪除用戶、修改用戶權限或密碼。窗口如下圖:</p><p><b>  窗體名:Users</b></p><p>  圖4.

91、3 用戶信息管理</p><p><b>  窗體Load事件:</b></p><p><b>  '加載用戶權限</b></p><p>  Me.PrivilegeCB.Items.Add(UserPrivilege.Management)</p><p>  Me.Privilege

92、CB.Items.Add(UserPrivilege.Operation)</p><p>  Me.PrivilegeCB.Items.Add(UserPrivilege.Normal)</p><p>  Me.PrivilegeCB.SelectedIndex = 0</p><p>  '從數(shù)據(jù)庫中加載用戶到列表框中</p><p

93、>  LoadUsers()</p><p>  定義一個Sub 過程 LoadUser</p><p><b>  '加載用戶列表</b></p><p>  Private Sub LoadUsers()</p><p>  Me.UserLst.Items.Clear()</p><

94、;p>  Dim manager As UserManager = New UserManager()</p><p>  Dim userList As ArrayList = manager.GetUserList()</p><p>  Dim i As Integer</p><p>  For i = 0 To userList.Count - 1&

95、lt;/p><p>  '由于UserInfo中已經(jīng)重寫ToString()方法,因此把</p><p>  'UserInfo對象傳入ltsUser控件中的時候,會自動</p><p>  '調(diào)用ToString()方法,因此在控件中自動顯示用戶名.</p><p>  Me.UserLst.Items.Add(user

96、List(i))</p><p><b>  Next</b></p><p><b>  End Sub</b></p><p><b>  添加按鈕單擊事件:</b></p><p>  Dim engin As New MyDbEngine</p><

97、p>  If Me.UserNameTB.Text.Length < 1 Or Me.PasswordTB.Text.Length < 1 Then</p><p>  Message.Text = "用戶名或密碼不能為空!" : Exit Sub</p><p><b>  End If</b></p><p

98、>  Dim username As String = UserNameTB.Text.Trim()</p><p>  Dim isusername As Boolean</p><p>  '判斷類別索引是否重復</p><p>  isusername = engin.IsValueExists("用戶信息表", "

99、用戶", username)</p><p>  If isusername Then</p><p>  Message.Text = "該用戶已存在,請重新輸入!" : Exit Sub</p><p><b>  End If</b></p><p>  Dim user As New

100、 UserInfo</p><p>  user.UserName = Me.UserNameTB.Text</p><p>  user.UserPassword = Me.PasswordTB.Text</p><p>  user.UserPrivilege = Me.PrivilegeCB.Text</p><p>  Dim man

101、ager As New UserManager()</p><p>  manager.AddUser(user)</p><p>  '重新加載所有用戶到列表框中</p><p>  LoadUsers()</p><p>  Message.Text = "用戶添加成功!"</p><p&g

102、t;<b>  刪除按鈕單擊事件:</b></p><p>  Private Sub btn刪除_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn刪除.Click</p><p>  '獲得選中的用戶對象</p><p>  Di

103、m user As UserInfo = Me.UserLst.SelectedItem</p><p>  If Me.UserLst.SelectedIndex < 0 Then</p><p>  Message.Text = "請選擇要刪除的用戶!" : Exit Sub</p><p><b>  End If</

104、b></p><p>  Dim manager As New UserManager()</p><p>  manager.DeleteUser(user.UserId)</p><p>  Me.UserNameTB.Text = ""</p><p>  Me.PasswordTB.Text = "

105、"</p><p>  LoadUsers()</p><p>  Message.Text = "用戶刪除成功!"</p><p><b>  End Sub</b></p><p><b>  修改按鈕單擊事件:</b></p><p>  

106、Private Sub btn修改_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn修改.Click</p><p>  '獲得選中的用戶對象</p><p>  If Me.UserLst.SelectedIndex < 0 Then</p><p&

107、gt;  Message.Text = "請選擇要修改的用戶!" : Exit Sub</p><p><b>  End If</b></p><p>  Dim user As UserInfo = Me.UserLst.SelectedItem</p><p>  user.UserName = Me.UserName

108、TB.Text</p><p>  user.UserPassword = Me.PasswordTB.Text</p><p>  user.UserPrivilege = Me.PrivilegeCB.Text</p><p>  Dim manager As New UserManager()</p><p>  manager.Upd

109、ateUser(user)</p><p>  Me.UserNameTB.Text = "" : Me.PasswordTB.Text = ""</p><p>  LoadUsers()</p><p>  Message.Text = "用戶修改成功!"</p><p><

110、;b>  End Sub</b></p><p><b>  清空按鈕單擊事件:</b></p><p>  Privat e Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click</p>&

111、lt;p>  Me.UserNameTB.Text = "" : Me.PasswordTB.Text = ""</p><p><b>  End Sub</b></p><p>  列表框SelectedIndexChanged事件:</p><p>  Private Sub UserLst_

112、SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UserLst.SelectedIndexChanged</p><p>  '獲得選中的用戶對象</p><p>  Dim user As UserInfo = Me.UserLst.SelectedI

113、tem</p><p>  Me.UserNameTB.Text = user.UserName</p><p>  Me.PasswordTB.Text = user.UserPassword</p><p>  Me.PrivilegeCB.Text = user.UserPrivilege</p><p><b>  End

114、Sub</b></p><p>  4.3.2 圖書管理模塊</p><p>  圖書管理模塊分為:添加圖書類別、圖書登記、修改和刪除圖書類別、修改和刪除圖書信息。</p><p>  添加圖書類別 如圖:</p><p>  窗體名: AddBookClass</p><p>  圖4.4 圖書類別注冊&

115、lt;/p><p><b>  提交按鈕單擊事件:</b></p><p>  Dim engin As New MyDbEngine</p><p>  engin = New MyDbEngine</p><p>  Dim cmdText As String</p><p>  Dim iscl

116、assid As Boolean</p><p>  Dim isclassname As Boolean</p><p>  engin.OpenConnect()</p><p>  Dim classid As String = Me.ClassIDTB.Text.Trim()</p><p>  If classid = "

117、" Then</p><p>  message.Text = "類別索引不能為空!" : Exit Sub</p><p><b>  End If</b></p><p>  Dim classname As String = Me.ClassNameTB.Text.Trim()</p><

118、p>  If classname = "" Then</p><p>  message.Text = "類別名稱不能為空!" : Exit Sub</p><p><b>  End If</b></p><p>  '判斷類別索引是否重復</p><p>  is

119、classid = engin.IsValueExists("圖書類別表", "類別索引", classid)</p><p>  If isclassid Then</p><p>  message.Text = "該類別索引已存在,請重新輸入!" : Exit Sub</p><p><b>

120、;  End If</b></p><p>  '判斷圖書類別是否存在</p><p>  isclassname = engin.IsValueExists("圖書類別表", "類別名稱", classname)</p><p>  If isclassname Then</p><p

121、>  message.Text = "該類別已存在,請重新輸入!" : Exit Sub</p><p><b>  End If</b></p><p>  Dim classdes As String = Me.ClassDesTB.Text.Trim()</p><p>  cmdText = "ins

122、ert into 圖書類別表(類別索引,類別名稱,類別描述) values ('" & classid & "','" & classname & "','" & classdes & "')"</p><p>  Dim result As Int

123、eger = engin.ExecuteNonQuery(cmdText)</p><p>  If result < 1 Then</p><p>  message.Text = "操作失敗!"</p><p>  engin.CloseConnect() : Exit Sub</p><p><b>

溫馨提示

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

評論

0/150

提交評論