數(shù)據(jù)庫原理課程設計--圖書管理系統(tǒng)_第1頁
已閱讀1頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

11、<p>  價格數(shù)據(jù)類型為 float ,長度為8。</p><p>  購買日期數(shù)據(jù)類型為 datetime ,長度為 8。</p><p> ?、凇皥D書分類信息表”用來存放圖書分類的信息,一便方便的對圖書所在地進行查詢。所需數(shù)據(jù)項為:圖書編號、書名、種類、館藏地、館藏副本、可借副本。</p><p>  圖書編號為唯一可標示每一圖書元組的數(shù)據(jù)項,其數(shù)

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

13、;p>  可借副本是在館藏副本的基礎上,讓學生知道圖書館中現(xiàn)存的此種圖書數(shù)量,以及借出的數(shù)量。其數(shù)據(jù)類型為smallint,長度為2。</p><p> ?、邸敖钑ㄐ畔⒈怼庇脕泶娣呸k理借書卡的同學的各類信息。所需數(shù)據(jù)項為:學號、姓名、性別、年齡、專業(yè)、班級、學院。其主鍵為學號。</p><p>  學號為唯一確定每個學生的信息。其數(shù)據(jù)類型為char,長度為10。按照學校學生實際學號

14、進行錄入。</p><p>  姓名為學生稱謂,數(shù)據(jù)類型為char,長度為10。</p><p>  性別數(shù)據(jù)類型為char,長度為10,其域為男或女。</p><p>  年齡為學生實際年齡,數(shù)據(jù)類型為char,長度為10。</p><p>  專業(yè)為學生所學專業(yè),數(shù)據(jù)類型為char,長度為40。此處可為空,方便老師為未分專業(yè)學生錄入信息。

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

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

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

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

19、char,長度為50。</p><p>  種類可方便學生對圖書進行查找、定位,圖書室中圖書一般按種類分區(qū)存放。數(shù)據(jù)類型為char,長度為50。</p><p><b> ?。?)事務需求</b></p><p>  (1)在讀者信息管理部分,要求如下。</p><p> ?、倏梢詾g覽讀者信息。</p>&

20、lt;p> ?、诳梢詫ψx者信息進行維護,包括添加及刪除等操作。</p><p>  (2)在書籍信息管理部分,要求如下。</p><p> ?、倏梢詾g覽書籍信息。</p><p> ?、诳梢詫畔⑦M行維護,包括添加及刪除等操作。</p><p>  (3)在借閱信息管理部分,要求如下。</p><p> ?、?/p>

21、可以瀏覽借閱信息。</p><p> ?、诳梢詫栝喰畔⑦M行維護操作。</p><p>  (4)在借書卡信息管理部分,要求如下。</p><p> ?、倏梢詾g覽借書卡信息</p><p> ?、诳梢詫钑ㄐ畔⑦M行維護,包括辦理及刪除。</p><p><b>  2、概念設計</b></

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

58、</b></p><p>  《數(shù)據(jù)庫系統(tǒng)概論》高等教育出版社</p><p>  《Visual Basic 程序設計》 人民郵電出版社</p><p>  《Visual Basic 程序設計實用教程》 高等教育出版社</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 "用戶名或口令不正確,請重新登錄", 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("級別"))</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>  用戶權限設置的代碼如下:</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>  主窗口標題欄調用表單的代碼如下

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("刪除當前記錄嗎?", 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("刪除當前記錄嗎?", 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 "學號不能為空", vbOKOnly, "信息提示"</p><p>  Text1.SetFocus</p><p><b>  Else</b></p><p>  sqltxt = "sele

82、ct 借書卡信息表.學號 from 借書卡信息表 where 借書卡信息表.學號= " & 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 "圖書編號不

84、能為空", vbOKOnly, "信息提示"</p><p>  Text2.SetFocus</p><p><b>  Else</b></p><p>  sqltxt = "select * from 圖書分類信息表 where 圖書分類信息表.圖書編號=" & 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("學號") = rno</p><p>  bors("圖書編號") = 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 圖書編號=" & bno & "and 學號=" & 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 圖書分類信息表.圖書編號=" & 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)設計"</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 = "圖書編號=" & 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("圖書編號&

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

評論

0/150

提交評論