圖書館管理系統(tǒng)論文(基于VC和SQL)(共45頁)_第1頁
圖書館管理系統(tǒng)論文(基于VC和SQL)(共45頁)_第2頁
圖書館管理系統(tǒng)論文(基于VC和SQL)(共45頁)_第3頁
圖書館管理系統(tǒng)論文(基于VC和SQL)(共45頁)_第4頁
圖書館管理系統(tǒng)論文(基于VC和SQL)(共45頁)_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、計(jì)算機(jī)學(xué)院軟件工程課程設(shè)計(jì)PAGE PAGE 45目錄(ml) TOC o 1-3 h z u HYPERLINK l _Toc186375601 第一章 系統(tǒng)(xtng)概述 PAGEREF _Toc186375601 h 1 HYPERLINK l _Toc186375602 1.1 系統(tǒng)(xtng)開發(fā)背景和意義 PAGEREF _Toc186375602 h 1 HYPERLINK l _Toc186375603 1.2 開發(fā)環(huán)境 PAGEREF _Toc186375603 h 1 HYPERLINK l _Toc186375604 第二章 系統(tǒng)需求分析 PAGEREF _Toc186

2、375604 h 2 HYPERLINK l _Toc186375605 2.1 任務(wù)概述 PAGEREF _Toc186375605 h 2 HYPERLINK l _Toc186375606 2.2 數(shù)據(jù)描述(數(shù)據(jù)流圖+數(shù)據(jù)字典) PAGEREF _Toc186375606 h 2 HYPERLINK l _Toc186375607 2.3 功能需求 PAGEREF _Toc186375607 h 6 HYPERLINK l _Toc186375608 2.4性能需求 PAGEREF _Toc186375608 h 6 HYPERLINK l _Toc186375609 第三章 系統(tǒng)總體設(shè)

3、計(jì) PAGEREF _Toc186375609 h 8 HYPERLINK l _Toc186375610 3.1 新的業(yè)務(wù)流程 PAGEREF _Toc186375610 h 8 HYPERLINK l _Toc186375611 3.2 系統(tǒng)功能模塊圖 PAGEREF _Toc186375611 h 8 HYPERLINK l _Toc186375612 3.3 系統(tǒng)的流程圖 PAGEREF _Toc186375612 h 9 HYPERLINK l _Toc186375613 第四章 詳細(xì)設(shè)計(jì) PAGEREF _Toc186375613 h 11 HYPERLINK l _Toc1863

4、75614 4.1 程序流程圖 PAGEREF _Toc186375614 h 11 HYPERLINK l _Toc186375615 4.2 程序輸入輸出描述 PAGEREF _Toc186375615 h 13 HYPERLINK l _Toc186375616 4.2.1 主模塊 PAGEREF _Toc186375616 h 13 HYPERLINK l _Toc186375617 4.2.1 學(xué)生管理模塊 PAGEREF _Toc186375617 h 13 HYPERLINK l _Toc186375618 4.2.2 圖書管理模塊 PAGEREF _Toc186375618 h

5、 13 HYPERLINK l _Toc186375619 4.2.3 借閱管理模塊 PAGEREF _Toc186375619 h 13 HYPERLINK l _Toc186375620 4.2.4 歸還管理模塊 PAGEREF _Toc186375620 h 13 HYPERLINK l _Toc186375621 4.2.5 管理措施設(shè)置模塊 PAGEREF _Toc186375621 h 13 HYPERLINK l _Toc186375622 4.3 程序接口描述 PAGEREF _Toc186375622 h 14 HYPERLINK l _Toc186375623 4.3.1

6、外部接口 PAGEREF _Toc186375623 h 14 HYPERLINK l _Toc186375624 4.3.2 內(nèi)部接口 PAGEREF _Toc186375624 h 14 HYPERLINK l _Toc186375625 4.4 數(shù)據(jù)庫的設(shè)計(jì) PAGEREF _Toc186375625 h 14 HYPERLINK l _Toc186375626 4.4.1 數(shù)據(jù)庫的邏輯設(shè)計(jì) PAGEREF _Toc186375626 h 14 HYPERLINK l _Toc186375627 4.4.2 數(shù)據(jù)庫的物理設(shè)計(jì) PAGEREF _Toc186375627 h 16 HYPE

7、RLINK l _Toc186375628 第五章 編碼(bin m)實(shí)現(xiàn) PAGEREF _Toc186375628 h 19 HYPERLINK l _Toc186375629 5.1 程序(chngx)編碼 PAGEREF _Toc186375629 h 19 HYPERLINK l _Toc186375630 第六章 測試分析(fnx)報(bào)告 PAGEREF _Toc186375630 h 37 HYPERLINK l _Toc186375631 6.1 測試計(jì)劃和要點(diǎn) PAGEREF _Toc186375631 h 37 HYPERLINK l _Toc186375632 6.1.1

8、主模塊測試要點(diǎn) PAGEREF _Toc186375632 h 37 HYPERLINK l _Toc186375633 6.1.2 借閱模塊測試要點(diǎn) PAGEREF _Toc186375633 h 37 HYPERLINK l _Toc186375634 6.1.3 學(xué)生查詢模塊測試要點(diǎn) PAGEREF _Toc186375634 h 37 HYPERLINK l _Toc186375635 6.1.4 圖書查詢模塊測試要點(diǎn) PAGEREF _Toc186375635 h 38 HYPERLINK l _Toc186375636 6.1.5 圖書歸還模塊測試要點(diǎn) PAGEREF _Toc18

9、6375636 h 38 HYPERLINK l _Toc186375637 6.2 測試用例 PAGEREF _Toc186375637 h 38 HYPERLINK l _Toc186375638 6.2.1 主模塊測試用例 PAGEREF _Toc186375638 h 39 HYPERLINK l _Toc186375639 6.2.2 借閱模塊測試用例 PAGEREF _Toc186375639 h 39 HYPERLINK l _Toc186375640 6.2.3 學(xué)生查詢模塊測試用例 PAGEREF _Toc186375640 h 40 HYPERLINK l _Toc1863

10、75641 6.2.4 圖書查詢模塊測試用例 PAGEREF _Toc186375641 h 40 HYPERLINK l _Toc186375642 6.2.5 圖書歸還模塊測試用例 PAGEREF _Toc186375642 h 40 HYPERLINK l _Toc186375643 6.3 測試結(jié)果及結(jié)論 PAGEREF _Toc186375643 h 41 HYPERLINK l _Toc186375644 6.3.1 測試的結(jié)果 PAGEREF _Toc186375644 h 41 HYPERLINK l _Toc186375645 6.3.2 缺陷分析及改進(jìn) PAGEREF _T

11、oc186375645 h 42 HYPERLINK l _Toc186375646 6.3.3 測試結(jié)論 PAGEREF _Toc186375646 h 43 HYPERLINK l _Toc186375647 總結(jié) PAGEREF _Toc186375647 h 44 HYPERLINK l _Toc186375648 參考文獻(xiàn) PAGEREF _Toc186375648 h 45第一章 系統(tǒng)(xtng)概述1.1 系統(tǒng)開發(fā)背景(bijng)和意義圖書管理是高校內(nèi)每一個(gè)系部或院部都必須切實(shí)面對的工作,但一直以來(yli)人們使用傳統(tǒng)的人工方式管理圖書資料。這種方式存在著許多缺點(diǎn),如效率低、

12、保密性差且較為繁瑣。另外,隨著圖書資料數(shù)量的增加,其工作量也將大大增加,這必將增加圖書資料管理者的工作量和勞動(dòng)強(qiáng)度,這將給圖書資料信息的查找、更新和維護(hù)都帶來了很多困難。經(jīng)過詳細(xì)的調(diào)查,目前我國各類高等學(xué)校中有相當(dāng)一部分單位圖書資料管理還停留在人工管理的基礎(chǔ)上。這樣的管理機(jī)制已經(jīng)不能適應(yīng)時(shí)代的發(fā)展,其管理方法將浪費(fèi)許多人力和物力。隨著科學(xué)技術(shù)的不斷提高,這種傳統(tǒng)的手工管理方法必然被以計(jì)算機(jī)為基礎(chǔ)的信息管理方法所取代。圖書管理作為計(jì)算機(jī)應(yīng)用的一個(gè)分支,有著手工管理無法比擬的優(yōu)點(diǎn),如檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點(diǎn)能夠極大地提高圖書管理的效率。因此,開發(fā)

13、一套能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄蔚膱D書管理系統(tǒng),將是非常必要的,也是十分及時(shí)的。1.2 開發(fā)環(huán)境開發(fā)環(huán)境的選擇會(huì)影響到數(shù)據(jù)庫的設(shè)計(jì),所以在這里給出圖書管理系統(tǒng)開發(fā)與運(yùn)行環(huán)境的選擇如下:開發(fā)環(huán)境:Windows 2000開發(fā)工具:Visual Basic 6.0數(shù)據(jù)庫管理系統(tǒng): SQL Server 2000數(shù)據(jù)庫服務(wù)器: SQL Server 2000 桌面引擎第二章 系統(tǒng)需求分析2.1 任務(wù)概述經(jīng)過對我校詳細(xì)調(diào)查,并多次與負(fù)責(zé)圖書管理的老師進(jìn)行研討后,加深了對現(xiàn)行圖書管理業(yè)務(wù)的深刻了解,與此同時(shí),將整個(gè)圖書管理的業(yè)務(wù)流程抽象描述如下:1.新的圖書購進(jìn)后,分門別類地進(jìn)行歸并并匯總,

14、加以編號。2.新書編號后,上到書架以備學(xué)生借閱。3.如某學(xué)生需要借閱圖書,則在其本人的借閱登記表上進(jìn)行登記,記錄(jl)相關(guān)借閱信息與借閱日期。4.學(xué)生借閱圖書后,應(yīng)及時(shí)歸還圖書,并在本人的借閱登記表上注明(zh mn)還書日期和時(shí)間。根據(jù)以上(yshng)調(diào)查分析,可以給出其現(xiàn)行業(yè)務(wù)流程圖如圖2.1所示。圖2.1 現(xiàn)行圖書管理業(yè)務(wù)流程圖2.2 數(shù)據(jù)描述(數(shù)據(jù)流圖+數(shù)據(jù)字典)經(jīng)過詳細(xì)的調(diào)查,我們已經(jīng)清楚了解了現(xiàn)行的業(yè)務(wù)流程,接下來給出系統(tǒng)的邏輯模型。構(gòu)造系統(tǒng)邏輯模型的工具是數(shù)據(jù)流圖和數(shù)據(jù)字典。根據(jù)現(xiàn)行圖書管理的業(yè)務(wù)流程,首先把數(shù)據(jù)流圖中的源點(diǎn)和終點(diǎn)都選定為學(xué)生,因此可以得到圖書管理系統(tǒng)的基本系

15、統(tǒng)模型,如圖2.2所示。圖2.2 圖書管理系統(tǒng)的基本系統(tǒng)模型根據(jù)基本系統(tǒng)模型,對其逐步細(xì)化,得到描述邏輯系統(tǒng)細(xì)化后的數(shù)據(jù)流圖,如圖2.3所示。圖2.3 圖書(tsh)管理系統(tǒng)數(shù)據(jù)流圖(頂層DFD圖)對頂層DFD圖中的一個(gè)(y )加工“學(xué)生(xu sheng)管理”進(jìn)行展開,如圖2.4。圖2.4 細(xì)化后數(shù)據(jù)流圖對頂層DFD圖中的一個(gè)加工“圖書管理”進(jìn)行展開,如圖2.5。圖2.5 “圖書管理”展開對第1層DFD圖中的加工進(jìn)一步進(jìn)行展開,如圖2.6。(1)(2)圖2.6 進(jìn)一步細(xì)化數(shù)據(jù)流圖有了系統(tǒng)的數(shù)據(jù)流圖后,還有相當(dāng)多的數(shù)據(jù)信息如圖書、借閱、歸還等信息需要進(jìn)一步描述,這就是需要定義數(shù)據(jù)字典,才能把

16、現(xiàn)有的系統(tǒng)描述清楚(qng chu)。圖2.7列出了系統(tǒng)的主要數(shù)據(jù)字典。圖2.7 系統(tǒng)(xtng)主要數(shù)據(jù)字典2.3 功能(gngnng)需求經(jīng)過以上詳細(xì)的用戶調(diào)查,在現(xiàn)行業(yè)務(wù)流程和數(shù)據(jù)分析的基礎(chǔ)上,基本可以確定(qudng)系統(tǒng)設(shè)計(jì)必須達(dá)到的目標(biāo)。 以下是圖書管理系統(tǒng)必須具備的功能:1.新進(jìn)圖書的登記功能:對于購進(jìn)的新書,系統(tǒng)必須具備圖書信息資料的錄入功能。2.圖書的查詢修改功能:當(dāng)圖書資料發(fā)生變化,如圖書丟失或有錯(cuò)誤信息輸入時(shí),則應(yīng)能夠及時(shí)對數(shù)據(jù)進(jìn)行修改和補(bǔ)充。3.借閱的登記,歸還的登記功能:系統(tǒng)的主要(zhyo)功能之一,供本校學(xué)生借閱圖書、歸還圖書,并進(jìn)行登記。4.學(xué)生信息(xnx)的

17、增加、刪除和修改功能:系統(tǒng)主要功能之一,建立學(xué)生信息,并對其進(jìn)行維護(hù)。2.4性能需求為了保證系統(tǒng)能夠長期、安全、穩(wěn)定、可靠、高效的運(yùn)行,圖書管理系統(tǒng)應(yīng)該滿足(mnz)以下的性能需求:1、系統(tǒng)處理的準(zhǔn)確性和及時(shí)性系統(tǒng)處理的準(zhǔn)確性和及時(shí)性是系統(tǒng)的必要性能。在系統(tǒng)設(shè)計(jì)和開發(fā)過程中,要充分考慮系統(tǒng)當(dāng)前和將來可能承受的工作量,使系統(tǒng)的處理能力和響應(yīng)時(shí)間能夠滿足學(xué)校對信息處理的需求。2、系統(tǒng)的開放性和系統(tǒng)的可擴(kuò)充性圖書管理系統(tǒng)在開發(fā)過程中,應(yīng)該充分考慮以后的可擴(kuò)充性。例如用戶查詢的需求也會(huì)不斷的更新和完善。所有這些,都要求系統(tǒng)提供足夠的手段進(jìn)行功能的調(diào)整和擴(kuò)充。而要實(shí)現(xiàn)這一點(diǎn),應(yīng)通過系統(tǒng)的開放性來完成,既

18、系統(tǒng)應(yīng)是一個(gè)開放系統(tǒng),只要符合一定的規(guī)范,可以簡單的加入和減少系統(tǒng)的模塊,配置系統(tǒng)的硬件。通過軟件的修補(bǔ)、替換完成系統(tǒng)的升級和更新?lián)Q代。3、系統(tǒng)的易用性和易維護(hù)性圖書管理系統(tǒng)是直接面對使用人員的,而使用人員往往對計(jì)算機(jī)并不時(shí)非常熟悉。這就要求系統(tǒng)能夠提供良好的用戶接口,易用的人機(jī)交互界面。要實(shí)現(xiàn)這一點(diǎn),就要求系統(tǒng)應(yīng)該盡量使用用戶熟悉的術(shù)語和中文信息的界面;針對用戶可能出現(xiàn)的使用問題,要提供足夠的在線幫助,縮短用戶對系統(tǒng)熟悉的過程。4、系統(tǒng)的標(biāo)準(zhǔn)性系統(tǒng)在設(shè)計(jì)開發(fā)使用過程中都要涉及到很多計(jì)算機(jī)硬件、軟件。所有這些都要符合主流國際、國家和行業(yè)標(biāo)準(zhǔn)。5、系統(tǒng)的先進(jìn)性目前計(jì)算系統(tǒng)的技術(shù)發(fā)展相當(dāng)快,做為圖

19、書管理系統(tǒng)工程,在系統(tǒng)的生命周期盡量做到系統(tǒng)的先進(jìn),充分完成企業(yè)信息處理的要求而不至于落后。這一方面通過系統(tǒng)的開放性和可擴(kuò)充性,不斷改善系統(tǒng)的功能完成。另一方面,在系統(tǒng)設(shè)計(jì)和開發(fā)的過程中,應(yīng)在考慮成本的基礎(chǔ)上盡量采用當(dāng)前主流并先進(jìn)且有良好發(fā)展前途的產(chǎn)品。6、系統(tǒng)的響應(yīng)速度圖書管理系統(tǒng)系統(tǒng)在日常處理中的響應(yīng)速度為秒級,達(dá)到實(shí)時(shí)要求,以及時(shí)反饋信息。在進(jìn)行統(tǒng)計(jì)分析時(shí),根據(jù)所需數(shù)據(jù)量的不同而從秒級到分鐘級,原則是保證操作人員不會(huì)因?yàn)樗俣葐栴}而影響工作效率。第三章 系統(tǒng)(xtng)總體設(shè)計(jì)3.1 新的業(yè)務(wù)流程根據(jù)需求分析(fnx)的得到的現(xiàn)行業(yè)務(wù)處理流程,在用戶反復(fù)研究后,首先確定目標(biāo)系統(tǒng)的業(yè)務(wù)流程,

20、其處理流程如圖3.1。圖3.1 圖書(tsh)管理系統(tǒng)的業(yè)務(wù)流程針對新的業(yè)務(wù)流程,現(xiàn)具體描述其功能如下:1.用戶登錄:系統(tǒng)對用戶合法性進(jìn)行檢查。2.圖書入庫:對新購進(jìn)的圖書分類進(jìn)行編號,并把圖書基本信息錄入計(jì)算機(jī)。3.圖書借閱:對已入庫的圖書,學(xué)生可以借閱,并進(jìn)行登記。4.圖書歸還:對學(xué)生已歸還的圖書進(jìn)行歸還登記。 5.信息查詢:即對所有圖書的借閱情況,或?qū)W生的基本情況和借閱情況進(jìn)行查詢。6.管理措施:定義系統(tǒng)規(guī)定的借閱圖書超期時(shí)間、超期處罰辦法和丟失賠償辦法。3.2 系統(tǒng)功能模塊圖依據(jù)需求分析階段得到的數(shù)據(jù)流圖,采用軟件工程中軟件設(shè)計(jì)的概念和原理,與用戶成分協(xié)商后,在保證系統(tǒng)基本功能要求的前

21、提下,結(jié)合系統(tǒng)新的業(yè)務(wù)流程確定系統(tǒng)必須具備的所有功能,由此給出圖書管理系統(tǒng)的系統(tǒng)功能模塊圖如圖3.2所示。圖3.2 圖書(tsh)管理系統(tǒng)功能模塊圖3.3 系統(tǒng)(xtng)的流程圖依據(jù)軟件工程的基本原理,綜合以上分析(fnx)給出系統(tǒng)流程圖如圖3.4所示。圖3.4 系統(tǒng)(xtng)流程圖第四章 詳細(xì)(xingx)設(shè)計(jì)4.1 程序(chngx)流程圖依據(jù)軟件工程的基本原理,詳細(xì)設(shè)計(jì)階段的根本任務(wù)是確定應(yīng)該怎樣具體(jt)實(shí)現(xiàn)所要求的系統(tǒng),也就是說,經(jīng)過這個(gè)階段的設(shè)計(jì)工作,應(yīng)該得出對目標(biāo)系統(tǒng)的精確描述,從而在系統(tǒng)實(shí)現(xiàn)階段可以把這個(gè)描述直接翻譯成用某種程序設(shè)計(jì)語言書寫的程序。具體來說就是把經(jīng)過總體設(shè)

22、計(jì)得到的各個(gè)模塊詳細(xì)的加以描述。由于本系統(tǒng)采用支持面向?qū)ο蟮腣isual Basic 6.0作為開發(fā)工具,而Visual Basic 6.0采用事件驅(qū)動(dòng)的編程機(jī)制,所以在此給出軟件系統(tǒng)的主程序流程圖,如圖4.1所示。圖4.1 主程序流程圖根據(jù)以上主程序的流程圖,我們可以得出下面的關(guān)于各個(gè)模塊的程序流程圖,如圖4.2所示。 圖4.2 程序(chngx)流程圖4.2 程序(chngx)輸入輸出描述4.2.1 主模塊(m kui)1.輸入項(xiàng)目:操作系統(tǒng)傳遞至的各種消息以及用戶的輸入數(shù)據(jù)。2.輸出項(xiàng)目:用戶界面(yn h ji min)顯示。4.2.1 學(xué)生(xu sheng)管理模塊1.輸入項(xiàng)目:與

23、學(xué)生管理(gunl)操作子對話框有關(guān)的用戶輸入及系統(tǒng)消息。2.輸出項(xiàng)目:操作結(jié)果顯示。4.2.2 圖書管理模塊1.輸入項(xiàng)目:用戶口令。2.輸出項(xiàng)目:相應(yīng)的界面。4.2.3 借閱管理模塊1.輸入項(xiàng)目:學(xué)生學(xué)號、圖書編號。2.輸出項(xiàng)目:學(xué)生信息、相關(guān)借書信息。4.2.4 歸還管理模塊1.輸入項(xiàng)目:圖書編號。2.輸出項(xiàng)目:相關(guān)學(xué)生信息。4.2.5 管理措施設(shè)置模塊1.輸入項(xiàng)目:用戶的輸入。2.輸出項(xiàng)目:根據(jù)用戶的輸入顯示相應(yīng)的對話框。4.3 程序接口描述4.3.1 外部接口按Windows應(yīng)用軟件用戶界面的規(guī)范來設(shè)計(jì),使用以對話框?yàn)橹鞯挠脩艚缑?,便于用戶使用?.3.2 內(nèi)部接口模塊間接口采用數(shù)據(jù)耦

24、合方式,通過參數(shù)表傳送數(shù)據(jù),交換信息。4.4 數(shù)據(jù)庫的設(shè)計(jì)(shj)4.4.1 數(shù)據(jù)庫的邏輯設(shè)計(jì)在需求分析階段已完成該系統(tǒng)所有的數(shù)據(jù)分析。根據(jù)該階段所建立的概念模型,已經(jīng)得出滿足系統(tǒng)設(shè)計(jì)(shj)要求的幾個(gè)關(guān)系描述,該階段的主要工作就是把前一階段的成果轉(zhuǎn)化為具體的數(shù)據(jù)庫。下面給出概念結(jié)構(gòu)設(shè)計(jì)得E-R圖如圖4.3所示。(1) 分E-R圖(2) 總E-R圖圖4.3 概念(ginin)結(jié)構(gòu)設(shè)計(jì)E-R圖實(shí)體:圖書(圖書編號,書名,作者,出版社,定價(jià),圖書類別(libi),圖書ISBN號,圖書數(shù)量) 學(xué)生(學(xué)生學(xué)號,學(xué)生姓名,性別(xngbi),入校時(shí)間,畢業(yè)時(shí)間) 管理員(編號,名字,密碼,加入時(shí)間)

25、聯(lián)系:學(xué)生管理(圖書管理員,學(xué)生姓名,學(xué)生密碼) 圖書管理(圖書管理員,借閱號,歸還號) 查詢(圖書編號,借閱證號,圖書管理員,學(xué)生)4.4.2 數(shù)據(jù)庫的物理設(shè)計(jì)依據(jù)數(shù)據(jù)庫的原理,并結(jié)合以上E-R圖,經(jīng)過轉(zhuǎn)化,即可進(jìn)行數(shù)據(jù)庫的物理設(shè)計(jì)?;谝陨蠑?shù)據(jù)庫的邏輯設(shè)計(jì),考慮程序設(shè)計(jì)的簡易性,同時(shí)考慮題目的時(shí)間,該系統(tǒng)的數(shù)據(jù)庫采用Microsoft SQL Server 2000。本系統(tǒng)決定采用一個(gè)數(shù)據(jù)庫,在其下創(chuàng)建5個(gè)數(shù)據(jù)表,其結(jié)構(gòu)分別如下:1.圖書信息表(tBook),其字段列表如表4-1所示。表4-1 圖書信息表的結(jié)構(gòu)序號字段名稱字段說明類型位數(shù)屬性備注1cBooksID圖書編號文本7必須非空2c

26、BooksName圖書名稱文本20必須非空3cBooksISBN圖書ISBN號文本15可為空4cBooksAuthor圖書作者文本10可為空5cBooksPublisher圖書出版社文本20可為空6cBooksType圖書類型文本16可為空7smBooksPrice圖書價(jià)格貨幣可為空8iBooksStoreQuan圖書庫存量整數(shù)可為空9iBooksLeftQuant圖書副本數(shù)量整數(shù)可為空10iBooksTotalQuan圖書總數(shù)整數(shù)可為空2.圖書借閱(ji yu)登記表(tBorrow),其字段列表如表4-2所示。表4-2 圖書借閱(ji yu)登記表的結(jié)構(gòu)序號字段名稱字段說明類型位數(shù)屬性備注

27、1cBorrowID借書編號文本6必須非空2cVipID學(xué)生編號文本6必須非空3cBooksID圖書編號文本7必須非空4cBorrwTime借書時(shí)間時(shí)間日期可為空5cReturnTime還書時(shí)間時(shí)間日期可為空6cReturn是否歸還文本1可為空3.圖書(tsh)歸還登記表(tReturn),其字段列表如表4-3所示。表4-3 圖書歸還登記表的結(jié)構(gòu)序號字段名稱字段說明類型位數(shù)屬性備注1cBorrowID借書編號文本6必須非空2cVipID學(xué)生編號文本6必須非空3cBooksID圖書編號文本7必須非空4cBorrwTime借書時(shí)間時(shí)間日期可為空5cReturnTime還書時(shí)間時(shí)間日期必須非空6cR

28、eturn是否歸還文本1必須非空7cNoReturn歸還異常文本8可為空4.學(xué)生信息表(tVip),其字段列表如表4-4所示。表4-4 學(xué)生信息表的結(jié)構(gòu)序號字段名稱字段說明類型位數(shù)屬性備注1cVipID學(xué)生編號文本6必須非空2cVipName學(xué)生姓名文本10必須非空4cVipSex學(xué)生性別文本1可為空5vipAddTime學(xué)生入學(xué)時(shí)間時(shí)間日期必須非空6vipEndTime學(xué)生畢業(yè)時(shí)間時(shí)間日期必須非空5.管理員信息表(tOperators),其字段列表如表4-5所示。表4-5 管理員信息(xnx)表的結(jié)構(gòu)序號字段名稱字段說明類型位數(shù)屬性備注1cOperatorID管理員編號文本5必須非空2cOp

29、eratorName管理員姓名文本10必須非空3cOperatorPassword密碼文本6必須非空4cOperatorAddTime管理員加入時(shí)間時(shí)間日期10必須非空第五章 編碼(bin m)實(shí)現(xiàn)5.1 程序(chngx)編碼登陸界面如圖5.1所示。圖5.1 登陸(dng l)界面程序代碼如下(rxi):Function Check_Password(ByVal UserName As String, ByVal UserPassword As String) As Integer On Error GoTo ER2: If ConnectToServer = True Then Set o

30、bjRs = New Recordset StrSql = select cOperatorPassword from tOperators where cOperatorName= & Trim(cboName.Text) & GetData StrSql Reference function to get data If objRs.EOF Then Check_Password = 0 This Operator not exist Else If txtPassword.Text Trim(objRs.Fields(cOperatorPassword).Value) Then Chec

31、k_Password = 1 password error Else Check_Password = 2 password ok CurrentOpname = Trim(cboName.Text) CurrentOppassword = objRs.Fields(cOperatorPassword).Value Here can save a operator grade for expand End If End If objCon.Close Exit FunctionER2: MsgBox Err.Description Check_Password = 255 End IfEnd

32、FunctionPrivate Sub cmdCancel_Click() Unload Me EndEnd SubPrivate Sub cmdOK_Click() Dim intCheck As Integer Static intLogTimes to save user login times Static intLogTimes As Integer intLogTimes = intLogTimes + 1 Save login times If intLogTimes MaxLogTimes Then Over allowed login times then list info

33、rmation MsgBox You have over allowed loghin times,login failure !, vbCritical, LoginError Unload Me Else intCheck = Check_Password(Trim(txtPassword), Trim(cboName) Select Case intCheck Case 0 MsgBox Your are not a system user !, vbInformation + vbOKOnly, LoginError Case 1 MsgBox Password error ,plea

34、se check your password !, vbInformation + vbOKOnly, LoginError Case 2 Unload Me If CurrentOpname = Admin And CurrentOppassword = 1 Then MainWin.mnuOp.Visible = True Else MainWin.mnuOp.Visible = False End If Load MainWin MainWin.Show End Select End IfEnd Sub主界面(jimin)如圖5.2所示。圖5.2 程序(chngx)主界面程序代碼如下(r

35、xi):Option ExplicitPrivate Sub MDIForm_Activate() If CurrentOpname = Admin Then StatusBar2.Panels(1).Text = 管理員: & CurrentOpname Toolbar1.Buttons(1).Visible = True Toolbar1.Buttons(2).Visible = True Else StatusBar2.Panels(1).Text = 操作員: & CurrentOpname Toolbar1.Buttons(1).Visible = False Toolbar1.Bu

36、ttons(2).Visible = False End IfEnd SubPrivate Sub MDIForm_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = vbRightButton Then PopupMenu mnuOperation Design popup menu End IfEnd SubPrivate Sub MDIForm_Unload(Cancel As Integer) CheckConnect Reference function to mak

37、e objcon break if connection is openEnd SubPrivate Sub mnuAbout_Click() frmAbout.ShowEnd SubPrivate Sub mnuBookQuery_Click() CheckConnect Reference function to make objcon break if connection is open Load frmBookQuery frmBookQuery.ShowEnd SubPrivate Sub mnuBookRegist_Click() CheckConnect Reference f

38、unction to make objcon break if connection is open Load frmBookReg frmBookReg.ShowEnd SubPrivate Sub mnuBorrowQuery_Click() CheckConnect Reference function to make objcon break if connection is open Load frmReadQuery frmReadQuery.ShowEnd SubPrivate Sub mnuExit_Click() CheckConnect Reference function

39、 to make objcon break if connection is open Unload Me EndEnd SubPrivate Sub mnuReLogin_Click() CheckConnect Reference function to make objcon break if connection is open Unload Me Load frmLogin frmLogin.ShowEnd SubPrivate Sub mnuVipQuery_Click() CheckConnect Reference function to make objcon break i

40、f connection is open Load frmVipQuery frmVipQuery.ShowEnd SubPrivate Sub mnuVipRegist_Click() CheckConnect Reference function to make objcon break if connection is open Load frmVipReg frmVipReg.ShowEnd SubPrivate Sub munReadRegist_Click() CheckConnect Reference function to make objcon break if conne

41、ction is open Load frmReadRegist frmReadRegist.ShowEnd SubPrivate Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)Select Case Button.Key Case operatorReg CheckConnect Reference function to make objcon break if connection is open Load frmAdmin frmAdmin.Show Case vipReg CheckConnect Refere

42、nce function to make objcon break if connection is open Load frmVipReg frmVipReg.Show Case vipQuery CheckConnect Reference function to make objcon break if connection is open Load frmVipQuery frmVipQuery.Show Case BookReg CheckConnect Reference function to make objcon break if connection is open Loa

43、d frmBookReg frmBookReg.Show Case bookQuery CheckConnect Reference function to make objcon break if connection is open Load frmBookQuery frmBookQuery.Show Case readReg CheckConnect Reference function to make objcon break if connection is open Load frmReadRegist frmReadRegist.Show Case readQuery Chec

44、kConnect Reference function to make objcon break if connection is open Load frmReadQuery frmReadQuery.ShowEnd SelectEnd Sub操作員管理(gunl)界面如圖5.3所示。圖5.3 操作員管理(gunl)界面代碼(di m)如下:Option ExplicitSub SetTextEmpty()This function is set all text to empty txtOpID.Text = txtOpName.Text = txtOpPwd.Text = cboOpGr

45、ade.Text = txtOpAddTime.Text = End SubSub RefreshOperator()This function is to Refresh text txtOpID.Text = objRs.Fields(0).Value txtOpName.Text = objRs.Fields(1).Value txtOpPwd.Text = objRs.Fields(2).Value cboOpGrade.Text = objRs.Fields(3).Value txtOpAddTime.Text = objRs.Fields(4).ValueEnd SubPrivat

46、e Sub cmdAdd_Click() txtOpID.Enabled = True You dont change datagrid untill you add data finish dgdOp.Enabled = False If cmdAdd.Caption = 添加(tin ji) Then cmdAdd.Caption = 確定(qudng) SetTextEmpty reference settextempty founction to set empty cmdDel.Enabled = False cmdModify.Enabled = False cmdRefresh.

47、Enabled = False txtOpID.SetFocus Else If Trim(txtOpName.Text) = Then MsgBox Operator name must not null ,please input operator name !, vbInformation + vbOKOnly txtOpName.SetFocus Exit Sub ElseIf Trim(txtOpID.Text) = Then MsgBox Operator ID must not null ,please input operator ID !, vbInformation + v

48、bOKOnly txtOpID.SetFocus Exit Sub ElseIf Trim(txtOpPwd.Text) = Then MsgBox Operator password must not null ,please input operator password !, vbInformation + vbOKOnly txtOpPwd.SetFocus Exit Sub Else With objRs checkAddNew = True .Filter = cOperatorID= & Trim(txtOpID.Text) & If .RecordCount 0 Then Ms

49、gBox This operator has been exist ! txtOpID.Text = txtOpID.SetFocus .Filter = cOperatorID cmdRefresh.Value = True To executer refresh once checkAddNew = False cmdDel.Enabled = True cmdModify.Enabled = True cmdAdd.Caption = 添加(tin ji)(&A) txtOpID.Enabled = False cmdRefresh.Enabled = True dgdOp.Enable

50、d = True checkAddNew = False Exit Sub End If checkAddNew = True .AddNew .Fields(0).Value = Trim(txtOpID.Text) .Fields(1).Value = Trim(txtOpName.Text) .Fields(2).Value = Trim(txtOpPwd.Text) .Fields(3).Value = Trim(cboOpGrade.Text) .Fields(4).Value = Trim(txtOpAddTime.Text) .Update MsgBox Operator add

51、 success !, vbInformation + vbOKOnly .Filter = cOperatorID cmdRefresh.Value = True To executer refresh once End With checkAddNew = False There will reference a founction to set empty txtOpID.Enabled = False cmdDel.Enabled = True cmdModify.Enabled = True cmdRefresh.Enabled = True cmdAdd.Caption = 添加(

52、tin ji) dgdOp.Enabled = True You can use datagrid after add finish End If End IfEnd SubPrivate Sub cmdDel_Click() If Empty_Check = True Then Exit Sub Reference function to check if your database is null If Not objRs.EOF And objRs.RecordCount 0 Then If MsgBox(The : & txtOpName & s data will delete co

53、ntinue ?, vbYesNo + vbInformation) = vbYes Then objRs.Delete End If End IfEnd SubPrivate Sub cmdModify_Click() If Empty_Check = True Then Exit Sub Reference function to check if your database is null dgdOp.Enabled = False If txtOpID.Text objRs.Fields(0).Value Then Exit Sub To check operator ID If cm

54、dModify.Caption = 修改(xigi) Then cmdModify.Caption = 確定(qudng) cmdDel.Enabled = False cmdAdd.Enabled = False Else With objRs .Fields(0).Value = Trim(txtOpID.Text) .Fields(1).Value = Trim(txtOpName.Text) .Fields(2).Value = Trim(txtOpPwd.Text) .Fields(3).Value = Trim(cboOpGrade.Text) .Update End With c

55、mdModify.Caption = 修改(xigi) cmdDel.Enabled = True cmdAdd.Enabled = True dgdOp.Enabled = True End IfEnd SubPrivate Sub cmdExit_Click() Unload MeEnd SubPrivate Sub cmdRefresh_Click() RefreshOperator Reference function is to Refresh textEnd SubPrivate Sub dgdOp_RowColChange(LastRow As Variant, ByVal La

56、stCol As Integer) If checkAddNew = True Then Exit Sub cmdRefresh.Value = TrueEnd SubPrivate Sub Form_Activate() FormMiddle frmAdmin Reference function to make form in MDIFormmddile cboOpGrade.ListIndex = 1 If ConnectToServer = True Then Set objRs = New ADODB.Recordset StrSql = select * from tOperato

57、rs GetData StrSql Reference function to get data Set dgdOp.DataSource = objRs cmdRefresh.Value = True End If End SubPrivate Sub txtOpAddTime_KeyPress(KeyAscii As Integer) CheckInputNum Reference function to check input If Not (KeyAscii = vbKey0 And KeyAscii = vbKey0 And KeyAscii 0 Then MsgBox This v

58、ip has been exist ! txtVipID.Text = txtVipID.SetFocus .Filter = cVipID cmdRefresh.Value = True checkAddNew = False cmdDel.Enabled = True cmdModify.Enabled = True cmdAdd.Caption = 添加(tin ji)(&A) txtVipID.Enabled = False cmdRefresh.Enabled = True dgdVip.Enabled = True checkAddNew = False Exit Sub End

59、If checkAddNew = True .AddNew .Fields(0).Value = Trim(txtVipID) .Fields(1).Value = Trim(txtVipName) .Fields(2) = vipsex .Fields(3) = Trim(txtVipID_card.Text) .Fields(4) = Trim(txtVipPhone.Text) .Fields(5) = Trim(txtVipAddress.Text) .Fields(6) = Trim(txtVipAddTime.Text) .Fields(7) = Trim(txtVipEndTim

60、e.Text) .Update MsgBox Vip add success !, vbInformation + vbOKOnly .Filter = cVipID cmdRefresh.Value = True End With checkAddNew = False cmdDel.Enabled = True cmdModify.Enabled = True cmdAdd.Caption = 添加(tin ji)(&A) txtVipID.Enabled = False cmdRefresh.Enabled = True dgdVip.Enabled = True End If End

溫馨提示

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

評論

0/150

提交評論