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

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  一、編寫目的</b></p><p>  隨著知識(shí)經(jīng)濟(jì)時(shí)代的來臨,將不可避免地從根本上動(dòng)搖各類組織的管理思想、管理制度和管理方式,現(xiàn)代圖書館的管理也概莫能外。從一定意義上說,建立一套圖書館管理信息系統(tǒng)有著重要的意義。為開發(fā)院系圖書資料室管理系統(tǒng),能使圖書館工作人員更好地管理同學(xué)借書還書等流程。</p><p><b>  二、設(shè)

2、計(jì)任務(wù)</b></p><p>  本數(shù)據(jù)庫(kù)系統(tǒng)主要解決在學(xué)校圖書館中,實(shí)現(xiàn)圖書基本情況的錄入、修改、刪除,能夠辦理借書卡,實(shí)現(xiàn)借書功能、還書功能 ,實(shí)現(xiàn)對(duì)借閱者圖書證的錄入、刪除,以及根據(jù)圖書編號(hào)對(duì)圖書進(jìn)行查詢。 系統(tǒng)開發(fā)的意圖是幫助圖書管理人員提高管理效率,通過本管理系統(tǒng)軟件,能幫助工作人員利用計(jì)算機(jī),快速方便的對(duì)圖書信息數(shù)據(jù)進(jìn)行管理、輸入、輸出、查找的操作,使雜亂的圖書信息數(shù)據(jù)能夠具體化、直觀化

3、、合理化等。另一方面方便學(xué)生使用,快速查找相關(guān)書籍信息,</p><p>  目前圖書管理系統(tǒng)在學(xué)校的圖書管理中起著不可替代的作用,是一個(gè)典型的數(shù)據(jù)庫(kù)系統(tǒng)。本次的課程設(shè)計(jì)采用了結(jié)構(gòu)化和面向?qū)ο蟪绦蛟O(shè)計(jì)的方法,使后臺(tái)數(shù)據(jù)庫(kù)具有可擴(kuò)展性,前臺(tái)界面簡(jiǎn)單實(shí)用。本系統(tǒng)在Windows XP環(huán)境中采用Visual Basic為開發(fā)平臺(tái),使用SQL SERVER創(chuàng)建數(shù)據(jù)庫(kù),用于對(duì)圖書信息資料的增加、刪除、修改,以及學(xué)生借書還書

4、信息的增加、刪除、修改。此系統(tǒng)經(jīng)過分析、設(shè)計(jì)、編碼、調(diào)試等一系列步驟,初步實(shí)現(xiàn)了設(shè)計(jì)目標(biāo),并且經(jīng)過適當(dāng)完善后,最終作出了一個(gè)雖簡(jiǎn)潔但卻實(shí)用的圖書管理系統(tǒng)。 </p><p><b>  三、功能要求</b></p><p>  本數(shù)據(jù)庫(kù)系統(tǒng)主要解決在學(xué)校圖書館中,如何實(shí)現(xiàn)圖書基本情況的錄入、修改、刪除,如何辦理借書卡,如何實(shí)現(xiàn)借書功能、還書功能 ,以及方便的對(duì)圖書進(jìn)行

5、查詢。 系統(tǒng)開發(fā)的意圖是幫助圖書管理人員提高管理效率,通過本管理系統(tǒng)軟件,能幫助工作人員利用計(jì)算機(jī),快速方便的對(duì)圖書信息數(shù)據(jù)進(jìn)行管理、輸入、輸出、查找的操作,使雜亂的圖書信息數(shù)據(jù)能夠具體化、直觀化、合理化等。具體功能如下:</p><p>  實(shí)現(xiàn)圖書基本情況的錄入、修改、刪除,包括圖書的編號(hào)、書名、價(jià)格、種類、購(gòu)買日期等等。</p><p>  辦理借書卡,包括學(xué)生的班級(jí)、姓名、學(xué)號(hào)、性

6、別、年齡、學(xué)院、專業(yè)等等。</p><p>  實(shí)現(xiàn)借書功能、還書功能,包括學(xué)號(hào)、圖書編號(hào)、姓名、書名、借書日期、應(yīng)還日期、備注等等。</p><p>  對(duì)圖書進(jìn)行查詢,包括書名、種類、圖書編號(hào)、館藏副本、館藏地、可借副本等等。</p><p>  系統(tǒng)開發(fā)的意圖是幫助圖書管理人員提高管理效率,通過本管理系統(tǒng)軟件,能幫助工作人員利用計(jì)算機(jī),快速方便的對(duì)圖書信息數(shù)據(jù)

7、進(jìn)行管理、輸入、輸出、查找的操作,使雜亂的圖書信息數(shù)據(jù)能夠具體化、直觀化、合理化等。</p><p>  本數(shù)據(jù)庫(kù)系統(tǒng)軟件所需的系統(tǒng)配置為:</p><p><b>  1.軟件配置</b></p><p>  操作系統(tǒng):Windows XP中文版或更高;</p><p>  數(shù)據(jù)庫(kù)選擇:SQL SERVER;</

8、p><p>  開發(fā)平臺(tái):Visual Basic</p><p><b>  2.硬件配置</b></p><p>  CPU:Pentium II 266或更高;</p><p>  內(nèi)存:64MB或以上;</p><p><b>  硬盤:2G以上;</b></p&g

9、t;<p>  顯示器:VGA或更高</p><p>  四、設(shè)計(jì)思路及采取的方案</p><p><b>  1、需求分析</b></p><p><b> ?。?)數(shù)據(jù)需求</b></p><p>  ①“圖書基本信息表”用來存放圖書的基本信息。所需數(shù)據(jù)項(xiàng)有:圖書編號(hào)、書名、種類、

10、價(jià)格、購(gòu)買日期。其中圖書編號(hào)為主鍵。</p><p>  圖書編號(hào)為唯一可標(biāo)示每一圖書元組的數(shù)據(jù)項(xiàng),其數(shù)據(jù)類型為char,長(zhǎng)度為10,此圖書編號(hào)采用國(guó)家統(tǒng)一標(biāo)示方法。</p><p>  書名數(shù)據(jù)類型為char,長(zhǎng)度為50。</p><p>  種類可方便學(xué)生對(duì)圖書進(jìn)行查找、定位,圖書室中圖書一般按種類分區(qū)存放。數(shù)據(jù)類型為char,長(zhǎng)度為50。</p>

11、<p>  價(jià)格數(shù)據(jù)類型為 float ,長(zhǎng)度為8。</p><p>  購(gòu)買日期數(shù)據(jù)類型為 datetime ,長(zhǎng)度為 8。</p><p>  ②“圖書分類信息表”用來存放圖書分類的信息,一便方便的對(duì)圖書所在地進(jìn)行查詢。所需數(shù)據(jù)項(xiàng)為:圖書編號(hào)、書名、種類、館藏地、館藏副本、可借副本。</p><p>  圖書編號(hào)為唯一可標(biāo)示每一圖書元組的數(shù)據(jù)項(xiàng),其數(shù)

12、據(jù)類型為char,長(zhǎng)度為10,此圖書編號(hào)采用國(guó)家統(tǒng)一標(biāo)示方法。</p><p>  館藏地為圖書在圖書館中的存放位置,有助于學(xué)生快速找到圖書及圖書管理員對(duì)圖書進(jìn)行規(guī)范存放。其數(shù)據(jù)類型為char,長(zhǎng)度為25。</p><p>  館藏副本為圖書室中存放各種圖書的數(shù)量,當(dāng)學(xué)生進(jìn)行圖書檢索時(shí),便可知道圖書館中是否存在此類圖書。其數(shù)據(jù)類型為smallint,長(zhǎng)度為2。</p><

13、;p>  可借副本是在館藏副本的基礎(chǔ)上,讓學(xué)生知道圖書館中現(xiàn)存的此種圖書數(shù)量,以及借出的數(shù)量。其數(shù)據(jù)類型為smallint,長(zhǎng)度為2。</p><p>  ③“借書卡信息表”用來存放辦理借書卡的同學(xué)的各類信息。所需數(shù)據(jù)項(xiàng)為:學(xué)號(hào)、姓名、性別、年齡、專業(yè)、班級(jí)、學(xué)院。其主鍵為學(xué)號(hào)。</p><p>  學(xué)號(hào)為唯一確定每個(gè)學(xué)生的信息。其數(shù)據(jù)類型為char,長(zhǎng)度為10。按照學(xué)校學(xué)生實(shí)際學(xué)號(hào)

14、進(jìn)行錄入。</p><p>  姓名為學(xué)生稱謂,數(shù)據(jù)類型為char,長(zhǎng)度為10。</p><p>  性別數(shù)據(jù)類型為char,長(zhǎng)度為10,其域?yàn)槟谢蚺?lt;/p><p>  年齡為學(xué)生實(shí)際年齡,數(shù)據(jù)類型為char,長(zhǎng)度為10。</p><p>  專業(yè)為學(xué)生所學(xué)專業(yè),數(shù)據(jù)類型為char,長(zhǎng)度為40。此處可為空,方便老師為未分專業(yè)學(xué)生錄入信息。

15、</p><p>  班級(jí)為學(xué)生所在班級(jí),數(shù)據(jù)類型為char,長(zhǎng)度為10。</p><p>  學(xué)院為學(xué)生所在學(xué)院,數(shù)據(jù)類型為char,長(zhǎng)度為20。</p><p> ?、堋敖栝喰畔⒈怼庇脕泶娣沤钑瑢W(xué)有關(guān)借書的信息。所需數(shù)據(jù)項(xiàng)為:學(xué)號(hào),姓名,書名,備注,借閱日期,歸還日期,圖書編號(hào)。其主鍵為學(xué)號(hào)+圖書編號(hào)。</p><p>  學(xué)號(hào)為唯一確

16、定每個(gè)學(xué)生的信息。其數(shù)據(jù)類型為char,長(zhǎng)度為10。按照學(xué)校學(xué)生實(shí)際學(xué)號(hào)進(jìn)行錄入。</p><p>  姓名為學(xué)生稱謂,數(shù)據(jù)類型為char,長(zhǎng)度為10。</p><p>  書名為學(xué)生所借圖書名,數(shù)據(jù)類型為char,長(zhǎng)度為50。</p><p>  備注為學(xué)生所接此書的有關(guān)信息,如借閱時(shí)圖書以經(jīng)陳舊或損壞等等。其數(shù)據(jù)類型為char,長(zhǎng)度為100。</p>

17、<p>  借閱日期為學(xué)生借書時(shí)間,數(shù)據(jù)類型為datatime,長(zhǎng)度為8。</p><p>  歸還日期為學(xué)生還書日期,數(shù)據(jù)類型為datatime,長(zhǎng)度為8。</p><p>  圖書編號(hào)為學(xué)生所接圖書的唯一標(biāo)示,此處與學(xué)生學(xué)號(hào)共同組成主碼。數(shù)據(jù)類型為char,長(zhǎng)度為10。</p><p> ?、荨按a表”用來存放圖書的基本信息,里面有較全的國(guó)家統(tǒng)一標(biāo)

18、準(zhǔn)的圖書編號(hào)及種類。當(dāng)圖書管理員購(gòu)進(jìn)新的圖書時(shí)可通過查詢此表來給圖書進(jìn)行編號(hào)及確定圖書種類然后確定要存放的圖書室。并將此信息錄入“圖書基本信息表”和“圖書分類信息表”中。所需數(shù)據(jù)項(xiàng)為:圖書編號(hào),書名,種類。其中圖書編號(hào)為主碼。</p><p>  圖書編號(hào)為唯一可標(biāo)示每一圖書元組的數(shù)據(jù)項(xiàng),其數(shù)據(jù)類型為char,長(zhǎng)度為10,此圖書編號(hào)采用國(guó)家統(tǒng)一標(biāo)示方法。</p><p>  書名數(shù)據(jù)類型為

19、char,長(zhǎng)度為50。</p><p>  種類可方便學(xué)生對(duì)圖書進(jìn)行查找、定位,圖書室中圖書一般按種類分區(qū)存放。數(shù)據(jù)類型為char,長(zhǎng)度為50。</p><p><b>  (2)事務(wù)需求</b></p><p>  (1)在讀者信息管理部分,要求如下。</p><p>  ①可以瀏覽讀者信息。</p>&

20、lt;p> ?、诳梢詫?duì)讀者信息進(jìn)行維護(hù),包括添加及刪除等操作。</p><p>  (2)在書籍信息管理部分,要求如下。</p><p> ?、倏梢詾g覽書籍信息。</p><p> ?、诳梢詫?duì)書籍信息進(jìn)行維護(hù),包括添加及刪除等操作。</p><p>  (3)在借閱信息管理部分,要求如下。</p><p> ?、?/p>

21、可以瀏覽借閱信息。</p><p> ?、诳梢詫?duì)借閱信息進(jìn)行維護(hù)操作。</p><p>  (4)在借書卡信息管理部分,要求如下。</p><p> ?、倏梢詾g覽借書卡信息</p><p>  ②可以對(duì)借書卡信息進(jìn)行維護(hù),包括辦理及刪除。</p><p><b>  2、概念設(shè)計(jì)</b></

22、p><p>  總E-R圖設(shè)計(jì)如下:</p><p>  在圖書館數(shù)據(jù)庫(kù)系統(tǒng)中,從效率、安全、方便角度考慮,應(yīng)設(shè)計(jì)用戶自模式。</p><p>  對(duì)不同級(jí)別的用戶定義不同的視圖:</p><p>  定義一般的讀者對(duì)數(shù)據(jù)庫(kù)的應(yīng)用只包括對(duì)書的借出信息,作者,還書日期,和簡(jiǎn)介等信息的查找,不能對(duì)以上的信息的刪除和更改,更新信息只能由圖書館類的服務(wù)人

23、員作相應(yīng)的操作。 對(duì)學(xué)生:</p><p>  圖書基本情況(圖書編號(hào),書名,價(jià)格,種類,購(gòu)買日期,退出)</p><p>  圖書查詢(書名,種類,圖書編號(hào),館藏副本,館藏地,可借副本)</p><p><b>  E-R圖如下:</b></p><p><b>  對(duì)管理員:</b>&

24、lt;/p><p>  管理人員可以直接訪問借閱記錄關(guān)系,增加刪除基本信息。</p><p>  借書卡辦理(學(xué)號(hào),姓名,年齡,專業(yè),班級(jí),性別,學(xué)院,辦理,刪除,退出)</p><p>  借書還書(學(xué)號(hào),圖書編號(hào),姓名,書名,借書日期,應(yīng)還日期,備注,借書,還書)</p><p>  圖書查詢(書名,種類,圖書編號(hào),館藏副本,館藏地,可借副本

25、)</p><p>  圖書基本情況(圖書編號(hào),書名,價(jià)格,種類,購(gòu)買日期,增加記錄,刪除記錄,退出)</p><p><b>  E-R圖如下:</b></p><p><b>  3、邏輯設(shè)計(jì)階段</b></p><p>  (1)根據(jù)總E-R圖中的實(shí)體與實(shí)體之間的聯(lián)系以及轉(zhuǎn)換的一般原則,得到如

26、下的關(guān)系:</p><p>  根據(jù)以上1:1關(guān)系得可到關(guān)于讀者關(guān)系:</p><p>  讀者( 姓名,性別,年齡,學(xué)號(hào),專業(yè),班級(jí),學(xué)院); </p><p>  該關(guān)系的函數(shù)依賴圖:</p><p>  從函數(shù)依賴圖可以看出,該關(guān)系中不存在部分函數(shù)依賴、傳遞函數(shù)依賴,且只有學(xué)號(hào)能夠確定其它各項(xiàng)。所以該關(guān)系是BCNF范式。</p&

27、gt;<p> ?。?)借書卡(證件號(hào),證件類別); 該關(guān)系來源于證件實(shí)體, 該關(guān)系的函數(shù)依賴圖如下:</p><p>  該關(guān)系仍然是BCNF范式。</p><p>  (3)圖書( 圖書編號(hào),書名,種類,館藏地,館藏副本,可借副本,價(jià)格,購(gòu)買日期); 該關(guān)系來源于圖書實(shí)體,它的函數(shù)依賴圖如下:</p><p>  該關(guān)系仍然是BCNF范式。<

28、/p><p> ?。?)借閱紀(jì)錄(學(xué)號(hào),圖書編號(hào),姓名,書名,借閱日期,應(yīng)還日期,備注);</p><p><b>  優(yōu)化分析:</b></p><p>  在圖書館中,由于圖書數(shù)量上百萬(wàn)冊(cè),所以為了提高檢索效率,應(yīng)根據(jù)圖書類別把圖書進(jìn)行水平分類,即按照?qǐng)D書的種類不同將圖書分成不同類型的圖書,如:文史圖書、自然科學(xué)圖書、工具圖書、古籍等。這樣相同

29、類型的圖書存放在一起,便于提高查找效率。</p><p>  證件與讀者是緊密聯(lián)系的,二者同時(shí)產(chǎn)生,同時(shí)離開,并且日常查詢中二者常常同時(shí)被要求,因此,應(yīng)把這兩個(gè)關(guān)系合二為一。即:</p><p>  借書卡(證件號(hào), 姓名,性別,年齡, 學(xué)號(hào),學(xué)院,專業(yè),班級(jí),);</p><p>  該關(guān)系的函數(shù)依賴圖如下:</p><p>  從函數(shù)依賴

30、圖可以看出該關(guān)系存在非碼決定因素, 沒有傳遞依賴和部分依賴,所以是3NF范式。</p><p><b>  4、設(shè)計(jì)數(shù)據(jù)庫(kù)</b></p><p>  本系統(tǒng)在Windows XP環(huán)境中采用Visual Basic為開發(fā)平臺(tái),使用SQL SERVER創(chuàng)建數(shù)據(jù)庫(kù)?!QL Server 是一個(gè)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),SQL Server 2000 的特性包括:</p&

31、gt;<p>  (1)Internet 集成。SQL Server 2000 數(shù)據(jù)庫(kù)引擎提供完整的XML 支持。它還具有構(gòu)成最大的Web 站點(diǎn)的數(shù)據(jù)存儲(chǔ)組件所需的可伸縮性、可用性和安全功能?!?</p><p>  (2)可伸縮性和可用性。同一個(gè)數(shù)據(jù)庫(kù)引擎可以在不同的平臺(tái)上使用,從運(yùn)行 Microsoft Windows&reg; 98 的便攜式電腦,到運(yùn)行 Microsoft Win

32、dows 2000 數(shù)據(jù)中心版的大型多處理器服務(wù)器。</p><p>  (3)企業(yè)級(jí)數(shù)據(jù)庫(kù)功能。SQL Server 2000 關(guān)系數(shù)據(jù)庫(kù)引擎支持當(dāng)今苛刻的數(shù)據(jù)處理環(huán)境所需的功能。數(shù)據(jù)庫(kù)引擎充分保護(hù)數(shù)據(jù)完整性,同時(shí)將管理上千個(gè)并發(fā)修改數(shù)據(jù)庫(kù)的用戶的開銷減到最小。</p><p> ?。?)易于安裝、部署和使用。SQL Server 2000 中包括一系列管理和開發(fā)工具,這些工具可改進(jìn)在多

33、個(gè)站點(diǎn)上安裝、部署、管理和使用 SQL Server 的過程。</p><p><b>  (1)創(chuàng)建數(shù)據(jù)庫(kù)</b></p><p>  (1)打開SQL 2000企業(yè)管理器,右鍵單擊數(shù)據(jù)庫(kù)創(chuàng)建新數(shù)據(jù)庫(kù),命名為圖書管理系統(tǒng)設(shè)計(jì)。</p><p><b>  (2)創(chuàng)建數(shù)據(jù)表</b></p><p>

34、  創(chuàng)建數(shù)據(jù)庫(kù)后,為數(shù)據(jù)庫(kù)添加數(shù)據(jù)表,步驟如下。</p><p>  1.在企業(yè)管理器中右擊數(shù)據(jù)庫(kù)下的“表”文件夾。在彈出的快捷菜單中執(zhí)行“新建表命令,出現(xiàn)表設(shè)計(jì)器。</p><p>  2.包括代碼表,借書卡信息表,借閱信息表,圖書分類信息表,圖書基本信息表,用戶登錄信息表。</p><p>  3.添加表的字段和其他詳細(xì)資料。各表數(shù)據(jù)結(jié)構(gòu)如上述數(shù)據(jù)分析所示。&l

35、t;/p><p><b> ?。?)設(shè)計(jì)前臺(tái)程序</b></p><p><b>  設(shè)計(jì)圖書基本情況表</b></p><p>  要求能清晰瀏覽現(xiàn)存圖書信息。工程中添加窗體,名稱為f1.在窗體中添加label、command、datagrid、ADODC控件。修改各個(gè)控件caption屬性,給窗體和命令按鈕添加背景圖片,A

36、DODC控件Visible屬性設(shè)置為False。前臺(tái)VB與后臺(tái)SQL的連接主要靠ADODC控件。整個(gè)系統(tǒng)運(yùn)行下來,兩者之間的連接主要靠ADODC控件。右鍵單擊控件,選擇屬性,通用頁(yè)點(diǎn)擊生成,在彈出的對(duì)話框中,選擇Microsoft OLE DB Provider For SQL Server,單擊下一步按鈕,打開連接選項(xiàng)卡,選擇所需數(shù)據(jù)庫(kù)路徑和名稱,即已建立的數(shù)據(jù)庫(kù)。測(cè)試連接,若成功則可以連接。在屬性頁(yè)對(duì)話框中選擇記錄源,命令類型選擇2

37、-AdCmdTable,點(diǎn)擊表的存儲(chǔ)過程下拉列表選擇需要的表。單擊確定,關(guān)閉屬性頁(yè)。</p><p>  DATAGRID控件的DATASource屬性選擇ADODC1,將二者連接,從而實(shí)現(xiàn)后臺(tái)數(shù)據(jù)表反映到前臺(tái)。寫入代碼,設(shè)計(jì)成功后運(yùn)行界面如下:</p><p>  對(duì)圖書基本情況瀏覽過后,應(yīng)該具備對(duì)基本信息的增加、刪除功能。利用命令按鈕調(diào)用子菜單,實(shí)現(xiàn)對(duì)圖書的增加和刪除,子菜單命名為f1

38、0,代碼為: f10.Show vbModal。如此設(shè)計(jì)使程序簡(jiǎn)單易懂不易出現(xiàn)導(dǎo)致系統(tǒng)崩潰的錯(cuò)誤,f10中添加ADODC控件,visible屬性設(shè)置為false,與數(shù)據(jù)庫(kù)中圖書基本信息表建立連接。添加label、text控件,修改各個(gè)caption屬性。設(shè)置Text的DATASource屬性均為ADODC1,圖書編號(hào)對(duì)應(yīng)的text的DATAFeild屬性選擇“圖書編號(hào)”、書名對(duì)應(yīng)的text的DATAFeild屬性選擇“書名”,依次類推

39、,各個(gè)text的DATAFeild屬性選擇相應(yīng)的后臺(tái)數(shù)據(jù)表列名。給命令按鈕和form添加背景圖片并更改大小。寫入代碼后運(yùn)行界面分別如下:</p><p><b>  設(shè)計(jì)借書卡辦理表</b></p><p>  要求能清晰瀏覽已辦理的借書卡信息。工程中建立新表單。添加命令按鈕、ADODC控件、DATAGRID控件。ADODC控件連接數(shù)據(jù)庫(kù)方法以及相應(yīng)屬性設(shè)置方法如上所

40、述,連接“借書卡信息表”,DATAGRID控件DATASource屬性選擇ADODC1。寫入代碼,運(yùn)行后界面如下:</p><p>  借書卡信息瀏覽后,要具備對(duì)借書卡的維護(hù)功能,通過命令按鈕調(diào)用子表單實(shí)現(xiàn)對(duì)借書卡的辦理與刪除。需要用到label、text、command 、ADODC控件。子界面設(shè)計(jì)、控件屬性設(shè)置、前臺(tái)與后臺(tái)連接以及主菜單的命令按鈕設(shè)計(jì)方法均如“圖書基本信息”菜單的設(shè)置方法相同。代碼調(diào)用后運(yùn)行結(jié)

41、果如下圖所示:</p><p><b>  設(shè)計(jì)圖書查詢表</b></p><p>  要求能根據(jù)輸入的圖書編號(hào)查詢圖書的基本信息。工程中添加新表單,表單中添加label、text、command、ADODC控件按鈕。更改各個(gè)label和text以及command的caption屬性如下圖,給表單和命令按鈕添加背景圖片,調(diào)整大小。ADODC控件屬性如上所述,連接數(shù)據(jù)庫(kù)

42、,并隱藏,連接“圖書分類信息表”。各個(gè)text對(duì)應(yīng)的DATAField以及DATASource屬性設(shè)置方法與上述“圖書基本信息”子菜單設(shè)置方法相同。需注意的是圖書查詢只能按照?qǐng)D書編號(hào)查詢,為避免出現(xiàn)借閱者不知情況而想要根據(jù)其他類別進(jìn)行查詢的做法,不如根據(jù)書名查詢,根據(jù)種類查詢,要求其他text不能隨意更改顯示內(nèi)容,方法是更改除圖書編號(hào)對(duì)應(yīng)的text之外的其他text的enable屬性為false,菜單運(yùn)行后字體顯示為銀白色并且不能插入光

43、標(biāo)驚醒更改,寫入代碼后的運(yùn)行界面如下: </p><p><b>  設(shè)計(jì)借閱信息表</b></p><p>  要求能清晰瀏覽已經(jīng)借閱的圖書信息及學(xué)生信息。工程中添加新表單,表單中添加label、ADODC、DATAGRID、command。更改各個(gè)控件屬性,給表單和命令按鈕添加背景圖片調(diào)整大小,ADODC控件連接數(shù)據(jù)庫(kù),連接“借閱信息表”DATAGRID控件設(shè)置

44、數(shù)據(jù)源,方法與上述“圖書基本信息”表單設(shè)置方法相同。寫入代碼,運(yùn)行成功后界面如下:</p><p>  瀏覽完借閱信息后,要求能對(duì)借閱信息進(jìn)行維護(hù),實(shí)現(xiàn)借書還書功能。利用命令按鈕調(diào)用子菜單實(shí)現(xiàn)。子表單設(shè)計(jì)方法如上,運(yùn)行界面如下:</p><p><b>  設(shè)計(jì)登陸界面</b></p><p>  在圖書館數(shù)據(jù)庫(kù)系統(tǒng)中,從效率、安全、方便角度考

45、慮,對(duì)不同級(jí)別的用戶定義不同的視圖:定義一般的讀者對(duì)數(shù)據(jù)庫(kù)的應(yīng)用只包括對(duì)書的借出信息,著者,還書日期,和簡(jiǎn)介等信息的查找,不能對(duì)以上的信息的刪除和更改,更新信息只能由圖書館類的服務(wù)人員作相應(yīng)的操作。用戶憑借用戶名和密碼使用系統(tǒng)。</p><p>  在工程中添加窗體,名稱form1。窗體中添加frame控件。在控件中添加label、text、command、ADODC控件。修改各個(gè)控件caption。給窗體和命令

46、按鈕添加背景圖片并調(diào)整大小,隱藏ADODC控件。連接數(shù)據(jù)庫(kù)中“用戶登錄信息表”,方法如上所述。運(yùn)行界面如下:</p><p><b>  設(shè)計(jì)主窗體</b></p><p>  前臺(tái)使用VB設(shè)計(jì)界面。新建工程,添加MDI模塊,作為主窗體。</p><p>  添加狀態(tài)條,要求界面運(yùn)行后顯示系統(tǒng)當(dāng)前日期時(shí)間以及系統(tǒng)名。它屬于ActiveX控件,先

47、在部件中選中“Microsoft Windows Common Control 6.0”,將其加入工具箱中。在窗體中加入一個(gè)狀態(tài)條控件StatusBar1,該控件自動(dòng)位于窗體下方。狀態(tài)條可分為若干個(gè)條目即窗格,在控件上單擊鼠標(biāo)右鍵選中屬性菜單,打開屬性頁(yè)對(duì)話框。在窗格標(biāo)簽中,插入3個(gè)窗格,分別設(shè)置它們的樣式,分別為sbrDate、sbrTime、sbrTExt。</p><p>  工具里菜單編輯器添加標(biāo)題:“圖

48、書基本情況”,點(diǎn)擊插入,輸入標(biāo)題“借書卡辦理”,依次類推一共插入5個(gè)標(biāo)題,剩余3個(gè)分別是“圖書查詢”、“借書還書”、“退出”。將各個(gè)系統(tǒng)功能顯示在主窗體上方界面運(yùn)行如下:</p><p><b>  (4)連接數(shù)據(jù)庫(kù)</b></p><p>  為SQL數(shù)據(jù)庫(kù)和VB之間建立一個(gè)數(shù)據(jù)連接。</p><p>  整個(gè)系統(tǒng)運(yùn)行下來,兩者之間的連接主要

49、靠ADODC控件。右鍵單擊控件,選擇屬性,通用頁(yè)點(diǎn)擊生成,在彈出的對(duì)話框中,選擇Microsoft OLE DB Provider For SQL Server,單擊下一步按鈕,打開連接選項(xiàng)卡,選擇所需數(shù)據(jù)庫(kù)路徑和名稱,即已建立的數(shù)據(jù)庫(kù)。測(cè)試連接,若成功則可以連接。在屬性頁(yè)對(duì)話框中選擇記錄源,命令類型選擇2-AdCmdTable,點(diǎn)擊表的存儲(chǔ)過程下拉列表選擇需要的表。單擊確定,關(guān)閉屬性頁(yè)。</p><p><

50、;b>  五、取得的結(jié)果</b></p><p>  圖書管理信息系統(tǒng)成功運(yùn)行,功能劃分清晰,實(shí)現(xiàn)圖書基本情況的錄入、修改、刪除,辦理借書卡,實(shí)現(xiàn)借書功能、還書功能 ,以及方便的對(duì)圖書進(jìn)行查詢。各個(gè)功能表單的運(yùn)行結(jié)果如上所示,對(duì)于不同權(quán)限用戶的主窗體顯示如下:</p><p><b>  對(duì)于管理員:</b></p><p>

51、<b>  對(duì)于學(xué)生:</b></p><p><b>  六、總結(jié)與體會(huì)</b></p><p><b>  1、問題與解決</b></p><p>  設(shè)計(jì)之初是不會(huì)將SQL與VB連接,實(shí)現(xiàn)后臺(tái)SQL數(shù)據(jù)庫(kù),前臺(tái)VB界面。解決方法是查閱了大量圖書,并在網(wǎng)上查找方法,最終是在老師的指導(dǎo)下完成連接。第

52、二是對(duì)于一些較為復(fù)雜的操作,在VB菜單中的代碼不會(huì)寫,解決方法是查閱大量圖書并在網(wǎng)上查找,最終是在《Visual Basic 程序設(shè)計(jì)實(shí)用教程》 高等教育出版社一書中找到解決辦法。第三是多個(gè)功能在一個(gè)表單中難以成功實(shí)現(xiàn),比如圖書基本信息表中,增加和刪除圖書信息后不可以繼續(xù)翻頁(yè)查找。解決辦法是將這些互相沖突的功能分開,利用子菜單的形式實(shí)現(xiàn)增加和刪除圖書信息的功能。同樣將借閱信息表單和借書卡信息表單更改為調(diào)用子菜單實(shí)現(xiàn)功能。不盡解決了功能沖

53、突,使功能實(shí)現(xiàn)更為簡(jiǎn)單,同時(shí)運(yùn)行界面美觀、簡(jiǎn)潔、易于操作相應(yīng)功能、無(wú)審美疲勞。</p><p><b>  2、體會(huì)</b></p><p>  設(shè)計(jì)系統(tǒng)過程中逐步體會(huì)到關(guān)于系統(tǒng)的一些基本需求,如下:</p><p><b> ?。?)可用性</b></p><p>  可用于各院圖圖書館工作人員,

54、以及各院學(xué)生</p><p><b>  (2)安全性</b></p><p>  自身提供了對(duì)數(shù)據(jù)的安全保護(hù)措施,數(shù)據(jù)進(jìn)行集中管理同時(shí)避免了數(shù)據(jù)的不一致和冗余,只有管理中心數(shù)據(jù)庫(kù)服務(wù)器的成員持有對(duì)數(shù)據(jù)訪問的權(quán)限,本系統(tǒng)的用戶、密碼能保證安全。對(duì)任務(wù)、成員的管理,數(shù)據(jù)庫(kù)同時(shí)提供了備份和恢復(fù)的功能,在數(shù)據(jù)庫(kù)服務(wù)器出現(xiàn)問題的時(shí)候,能進(jìn)行數(shù)據(jù)的快速恢復(fù)。</p>

55、<p><b>  (3)可維護(hù)性</b></p><p>  A、在用戶輸入一些不合理的數(shù)據(jù)的時(shí)候,能夠進(jìn)行一些合理的提示信息,不能因?yàn)檩斎脲e(cuò)誤而導(dǎo)致系統(tǒng)的錯(cuò)誤,或者程序停止運(yùn)行; B、程序運(yùn)行時(shí),對(duì)服務(wù)器和網(wǎng)絡(luò)通信故障能夠識(shí)別并提示,當(dāng)故障排除后,程序恢復(fù)正常運(yùn)行; C、數(shù)據(jù)庫(kù)要求有災(zāi)難備份機(jī)制,以防止數(shù)據(jù)的全部丟失。</p><p&

56、gt;  (4)可轉(zhuǎn)移/轉(zhuǎn)換性</p><p>  系統(tǒng)在開發(fā)完畢以后,只實(shí)現(xiàn)了任務(wù)管理的功能和框架,在后續(xù)的開發(fā)中,可以在本框的基礎(chǔ)上,采用VB中面向?qū)ο蟮奶攸c(diǎn)來增加功能模塊。 可能增加的功能模塊包括:查詢操作中模糊查詢功能、打印功能、數(shù)據(jù)備份功能、自動(dòng)電子文稿篩選、電子文稿自動(dòng)摘要、網(wǎng)絡(luò)版功能。</p><p>  但是本系統(tǒng)也存在缺陷:</p><p>

57、; ?。?)本系統(tǒng)僅能實(shí)現(xiàn)簡(jiǎn)單的基本功能,對(duì)于龐大的圖書管理系統(tǒng)還應(yīng)該具備財(cái)政管理,人員管理等等很多方面的設(shè)計(jì),本系統(tǒng)均不具備</p><p> ?。?)系統(tǒng)不會(huì)有海量存儲(chǔ)的要求,功能不支持大量存儲(chǔ)信息。</p><p> ?。?)技術(shù)約束。小組成員均是軟件開發(fā)的初學(xué)者,相對(duì)于設(shè)計(jì)完整的數(shù)據(jù)庫(kù)系統(tǒng)存在技術(shù)困難。</p><p><b>  七、主要參考文獻(xiàn)

58、</b></p><p>  《數(shù)據(jù)庫(kù)系統(tǒng)概論》高等教育出版社</p><p>  《Visual Basic 程序設(shè)計(jì)》 人民郵電出版社</p><p>  《Visual Basic 程序設(shè)計(jì)實(shí)用教程》 高等教育出版社</p><p><b>  互聯(lián)網(wǎng)借閱</b></p><p>

59、;<b>  八、附錄</b></p><p>  本代碼表均是部分重要代碼,并未全部顯示</p><p><b>  登陸界面代碼如下:</b></p><p>  Dim n As Integer</p><p>  Private Sub Command1_Click()</p>

60、<p>  Dim txtsql As String</p><p>  txtsql = "select * from 用戶登錄信息表 where 用戶名='" & Trim(Text1.Text) & "'" & " and 口令='" & Trim(Text2.Text) &

61、; "'"</p><p>  Adodc1.CommandType = adCmdText</p><p>  Adodc1.RecordSource = txtsql</p><p>  Adodc1.Refresh</p><p>  If Adodc1.Recordset.RecordCount = 0 T

62、hen</p><p><b>  n = n + 1</b></p><p>  If n < 3 Then</p><p>  MsgBox "用戶名或口令不正確,請(qǐng)重新登錄", vbOKOnly + vbExclamation, "信息提示"</p><p>  Tex

63、t1.Text = ""</p><p>  Text2.Text = ""</p><p>  Text1.SetFocus</p><p><b>  Else</b></p><p>  MsgBox "已登錄失敗三次,退出系統(tǒng)", vbOKOnly +

64、vbExclamation, "信息提示"</p><p><b>  Unload Me</b></p><p><b>  End If</b></p><p><b>  Else</b></p><p>  userlevel = Trim(Adod

65、c1.Recordset("級(jí)別"))</p><p><b>  Unload Me</b></p><p>  MDIForm1.Show</p><p><b>  End If</b></p><p><b>  End Sub</b></p&

66、gt;<p>  Private Sub Command2_Click()</p><p><b>  Unload Me</b></p><p><b>  End Sub</b></p><p>  Private Sub Form_Load()</p><p><b>

67、  n = 0</b></p><p><b>  End Sub</b></p><p>  用戶權(quán)限設(shè)置的代碼如下:</p><p>  Private Sub MDIForm_Load()</p><p>  If userlevel <> "圖書管理員" Then<

68、;/p><p>  menu2.Enabled = False</p><p>  menu4.Enabled = False</p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  主窗口標(biāo)題欄調(diào)用表單的代碼如下

69、:</p><p>  Private Sub menu1_click()</p><p>  f1.Show vbModal</p><p><b>  End Sub</b></p><p>  增加圖書信息代碼如下:</p><p>  Private Sub Command1_Click(

70、)</p><p>  On Error GoTo adderr</p><p>  Text1.SetFocus</p><p>  Adodc1.Recordset.AddNew</p><p><b>  Exit Sub</b></p><p><b>  adderr:<

71、/b></p><p>  MsgBox Err.Description</p><p><b>  End Sub</b></p><p>  刪除圖書信息代碼如下:</p><p>  Private Sub Command1_Click()</p><p>  On Error GoT

72、o deleteerr</p><p>  With Adodc1.Recordset</p><p>  If Not .EOF And Not .BOF Then</p><p>  If MsgBox("刪除當(dāng)前記錄嗎?", vbYesNo + vbQuestion) = vbYes Then</p><p><

73、;b>  .Delete</b></p><p><b>  .MoveNext</b></p><p><b>  End If</b></p><p><b>  End If</b></p><p><b>  End With</b&g

74、t;</p><p><b>  Exit Sub</b></p><p>  deleteerr:</p><p>  MsgBox Err.Description</p><p><b>  End Sub</b></p><p>  辦理借書卡代碼如下:</p&g

75、t;<p>  Private Sub Command1_Click()</p><p>  On Error GoTo adderr</p><p>  Text1.SetFocus</p><p>  Adodc1.Recordset.AddNew</p><p><b>  Exit Sub</b>&

76、lt;/p><p><b>  adderr:</b></p><p>  MsgBox Err.Description</p><p><b>  End Sub</b></p><p>  刪除借書卡代碼如下:</p><p>  Private Sub Command1_C

77、lick()</p><p>  On Error GoTo deleteerr</p><p>  With Adodc1.Recordset</p><p>  If Not .EOF And Not .BOF Then</p><p>  If MsgBox("刪除當(dāng)前記錄嗎?", vbYesNo + vbQuest

78、ion) = vbYes Then</p><p><b>  .Delete</b></p><p><b>  .MoveNext</b></p><p>  If .EOF Then .MoveLast</p><p><b>  End If</b></p>

79、<p><b>  End If</b></p><p><b>  End With</b></p><p><b>  Exit Sub</b></p><p>  deleteerr:</p><p>  MsgBox Err.Description<

80、/p><p><b>  End Sub</b></p><p><b>  借書代碼如下:</b></p><p>  Private Sub Command1_Click()</p><p>  rno = Trim(Text1.Text)</p><p>  If rno

81、= "" Then</p><p>  MsgBox "學(xué)號(hào)不能為空", vbOKOnly, "信息提示"</p><p>  Text1.SetFocus</p><p><b>  Else</b></p><p>  sqltxt = "sele

82、ct 借書卡信息表.學(xué)號(hào) from 借書卡信息表 where 借書卡信息表.學(xué)號(hào)= " & rno</p><p>  Set rs = exesql(sqltxt)</p><p>  If rs.EOF Then</p><p>  MsgBox "該讀者未登記,不能借書", vbOKOnly, "信息提示&quo

83、t;</p><p>  Text1.SetFocus</p><p><b>  Else</b></p><p>  bno = Trim(Text2.Text)</p><p>  If bno = "" Then</p><p>  MsgBox "圖書編號(hào)不

84、能為空", vbOKOnly, "信息提示"</p><p>  Text2.SetFocus</p><p><b>  Else</b></p><p>  sqltxt = "select * from 圖書分類信息表 where 圖書分類信息表.圖書編號(hào)=" & bno</

85、p><p>  Set bs = exesql(sqltxt)</p><p>  If bs.EOF Then</p><p>  MsgBox "該圖書不存在", vbOKOnly, "信息提示"</p><p>  Text2.SetFocus</p><p><b>

86、;  Else</b></p><p>  If bs("可借副本") > 0 Then</p><p>  sqltxt = "select * from 借閱信息表"</p><p>  Set bors = exesql(sqltxt)</p><p>  bors.AddNew

87、</p><p>  bors("學(xué)號(hào)") = rno</p><p>  bors("圖書編號(hào)") = bno</p><p>  bors("借閱日期") = Date</p><p>  bors.Update</p><p>  MsgBox &quo

88、t;借書成功"</p><p>  bs("已借副本") = bs("已借副本") + 1</p><p><b>  bs.Update</b></p><p><b>  Else</b></p><p>  MsgBox "該圖書已全

89、部借出"</p><p><b>  End If</b></p><p><b>  End If</b></p><p><b>  End If</b></p><p><b>  End If</b></p><p&g

90、t;<b>  End If</b></p><p><b>  End Sub</b></p><p><b>  還書代碼如下:</b></p><p>  Private Sub Command1_Click()</p><p>  rno = Trim(Text1.Te

91、xt)</p><p>  bno = Trim(Text2.Text)</p><p>  sqltxt = "select *from 借閱信息表 where 圖書編號(hào)=" & bno & "and 學(xué)號(hào)=" & rno</p><p>  Set bors = exesql(sqltxt)<

92、/p><p>  If Not bors.EOF Then</p><p>  bors.Delete</p><p><b>  End If</b></p><p>  MsgBox "還書成功", vbOKOnly, "信息提示"</p><p>  sq

93、ltxt = "select * from 圖書分類信息表 where 圖書分類信息表.圖書編號(hào)=" & bno</p><p>  Set bs = exesql(sqltxt)</p><p>  bs("已借副本") = bs("已借副本") - 1</p><p><b>  bs

94、.Update</b></p><p><b>  Unload Me</b></p><p><b>  End Sub</b></p><p><b>  圖書查詢代碼如下:</b></p><p>  Private Sub Command1_Click()&

95、lt;/p><p>  On Error GoTo adderr</p><p><b>  Dim i%</b></p><p>  Dim ans1 As ADODB.Connection</p><p>  Dim cmd As New ADODB.Command</p><p>  Dim r

96、st1 As New ADODB.Recordset</p><p>  Set ans1 = New ADODB.Connection</p><p>  ans1.CursorLocation = adUseClient</p><p>  ans1.Open "Provider=SQLOLEDB.1;" & "Integr

97、ated Security=SSPI;" & "Persist Security Info=False;" & "Initial Catalog=圖書管理系統(tǒng)設(shè)計(jì)"</p><p>  Set cmd.ActiveConnection = ans1</p><p>  cmd.CommandText = "sele

98、ct * from 圖書分類信息表"</p><p>  rst1.CursorLocation = adUseClient</p><p>  rst1.Open cmd, , adOpenStatic, adLockBatchOptimistic</p><p>  rst1.Filter = "圖書編號(hào)=" & Text2

99、.Text</p><p>  rst1.MoveFirst</p><p>  For i = 0 To rst1.RecordCount - 1</p><p>  Text1.Text = rst1.Fields("書名")</p><p>  Text2.Text = rst1.Fields("圖書編號(hào)&

100、quot;)</p><p>  Text3.Text = rst1.Fields("館藏地")</p><p>  Text4.Text = rst1.Fields("種類")</p><p>  Text5.Text = rst1.Fields("館藏副本")</p><p> 

101、 Text6.Text = rst1.Fields("已借副本")</p><p>  rst1.MoveNext</p><p><b>  Next i</b></p><p><b>  Exit Sub</b></p><p><b>  adderr:<

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論