版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、計算機學(xué)院軟件工程課程設(shè)計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、計 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 第四章 詳細設(shè)計 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è)計 PAGEREF _Toc186375625 h 14 HYPERLINK l _Toc186375626 4.4.1 數(shù)據(jù)庫的邏輯設(shè)計 PAGEREF _Toc186375626 h 14 HYPERLINK l _Toc186375627 4.4.2 數(shù)據(jù)庫的物理設(shè)計 PAGEREF _Toc186375627 h 16 HYPE
7、RLINK l _Toc186375628 第五章 編碼(bin m)實現(xiàn) PAGEREF _Toc186375628 h 19 HYPERLINK l _Toc186375629 5.1 程序(chngx)編碼 PAGEREF _Toc186375629 h 19 HYPERLINK l _Toc186375630 第六章 測試分析(fnx)報告 PAGEREF _Toc186375630 h 37 HYPERLINK l _Toc186375631 6.1 測試計劃和要點 PAGEREF _Toc186375631 h 37 HYPERLINK l _Toc186375632 6.1.1
8、主模塊測試要點 PAGEREF _Toc186375632 h 37 HYPERLINK l _Toc186375633 6.1.2 借閱模塊測試要點 PAGEREF _Toc186375633 h 37 HYPERLINK l _Toc186375634 6.1.3 學(xué)生查詢模塊測試要點 PAGEREF _Toc186375634 h 37 HYPERLINK l _Toc186375635 6.1.4 圖書查詢模塊測試要點 PAGEREF _Toc186375635 h 38 HYPERLINK l _Toc186375636 6.1.5 圖書歸還模塊測試要點 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 缺陷分析及改進 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 參考文獻 PAGEREF _Toc186375648 h 45第一章 系統(tǒng)(xtng)概述1.1 系統(tǒng)開發(fā)背景(bijng)和意義圖書管理是高校內(nèi)每一個系部或院部都必須切實面對的工作,但一直以來(yli)人們使用傳統(tǒng)的人工方式管理圖書資料。這種方式存在著許多缺點,如效率低、
12、保密性差且較為繁瑣。另外,隨著圖書資料數(shù)量的增加,其工作量也將大大增加,這必將增加圖書資料管理者的工作量和勞動強度,這將給圖書資料信息的查找、更新和維護都帶來了很多困難。經(jīng)過詳細的調(diào)查,目前我國各類高等學(xué)校中有相當(dāng)一部分單位圖書資料管理還停留在人工管理的基礎(chǔ)上。這樣的管理機制已經(jīng)不能適應(yīng)時代的發(fā)展,其管理方法將浪費許多人力和物力。隨著科學(xué)技術(shù)的不斷提高,這種傳統(tǒng)的手工管理方法必然被以計算機為基礎(chǔ)的信息管理方法所取代。圖書管理作為計算機應(yīng)用的一個分支,有著手工管理無法比擬的優(yōu)點,如檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高圖書管理的效率。因此,開發(fā)
13、一套能夠為用戶提供充足的信息和快捷的查詢手段的圖書管理系統(tǒng),將是非常必要的,也是十分及時的。1.2 開發(fā)環(huán)境開發(fā)環(huán)境的選擇會影響到數(shù)據(jù)庫的設(shè)計,所以在這里給出圖書管理系統(tǒng)開發(fā)與運行環(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)過對我校詳細調(diào)查,并多次與負責(zé)圖書管理的老師進行研討后,加深了對現(xiàn)行圖書管理業(yè)務(wù)的深刻了解,與此同時,將整個圖書管理的業(yè)務(wù)流程抽象描述如下:1.新的圖書購進后,分門別類地進行歸并并匯總,
14、加以編號。2.新書編號后,上到書架以備學(xué)生借閱。3.如某學(xué)生需要借閱圖書,則在其本人的借閱登記表上進行登記,記錄(jl)相關(guān)借閱信息與借閱日期。4.學(xué)生借閱圖書后,應(yīng)及時歸還圖書,并在本人的借閱登記表上注明(zh mn)還書日期和時間。根據(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)過詳細的調(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ù)流圖中的源點和終點都選定為學(xué)生,因此可以得到圖書管理系統(tǒng)的基本系
15、統(tǒng)模型,如圖2.2所示。圖2.2 圖書管理系統(tǒng)的基本系統(tǒng)模型根據(jù)基本系統(tǒng)模型,對其逐步細化,得到描述邏輯系統(tǒng)細化后的數(shù)據(jù)流圖,如圖2.3所示。圖2.3 圖書(tsh)管理系統(tǒng)數(shù)據(jù)流圖(頂層DFD圖)對頂層DFD圖中的一個(y )加工“學(xué)生(xu sheng)管理”進行展開,如圖2.4。圖2.4 細化后數(shù)據(jù)流圖對頂層DFD圖中的一個加工“圖書管理”進行展開,如圖2.5。圖2.5 “圖書管理”展開對第1層DFD圖中的加工進一步進行展開,如圖2.6。(1)(2)圖2.6 進一步細化數(shù)據(jù)流圖有了系統(tǒng)的數(shù)據(jù)流圖后,還有相當(dāng)多的數(shù)據(jù)信息如圖書、借閱、歸還等信息需要進一步描述,這就是需要定義數(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)過以上詳細的用戶調(diào)查,在現(xiàn)行業(yè)務(wù)流程和數(shù)據(jù)分析的基礎(chǔ)上,基本可以確定(qudng)系統(tǒng)設(shè)計必須達到的目標(biāo)。 以下是圖書管理系統(tǒng)必須具備的功能:1.新進圖書的登記功能:對于購進的新書,系統(tǒng)必須具備圖書信息資料的錄入功能。2.圖書的查詢修改功能:當(dāng)圖書資料發(fā)生變化,如圖書丟失或有錯誤信息輸入時,則應(yīng)能夠及時對數(shù)據(jù)進行修改和補充。3.借閱的登記,歸還的登記功能:系統(tǒng)的主要(zhyo)功能之一,供本校學(xué)生借閱圖書、歸還圖書,并進行登記。4.學(xué)生信息(xnx)的
17、增加、刪除和修改功能:系統(tǒng)主要功能之一,建立學(xué)生信息,并對其進行維護。2.4性能需求為了保證系統(tǒng)能夠長期、安全、穩(wěn)定、可靠、高效的運行,圖書管理系統(tǒng)應(yīng)該滿足(mnz)以下的性能需求:1、系統(tǒng)處理的準(zhǔn)確性和及時性系統(tǒng)處理的準(zhǔn)確性和及時性是系統(tǒng)的必要性能。在系統(tǒng)設(shè)計和開發(fā)過程中,要充分考慮系統(tǒng)當(dāng)前和將來可能承受的工作量,使系統(tǒng)的處理能力和響應(yīng)時間能夠滿足學(xué)校對信息處理的需求。2、系統(tǒng)的開放性和系統(tǒng)的可擴充性圖書管理系統(tǒng)在開發(fā)過程中,應(yīng)該充分考慮以后的可擴充性。例如用戶查詢的需求也會不斷的更新和完善。所有這些,都要求系統(tǒng)提供足夠的手段進行功能的調(diào)整和擴充。而要實現(xiàn)這一點,應(yīng)通過系統(tǒng)的開放性來完成,既
18、系統(tǒng)應(yīng)是一個開放系統(tǒng),只要符合一定的規(guī)范,可以簡單的加入和減少系統(tǒng)的模塊,配置系統(tǒng)的硬件。通過軟件的修補、替換完成系統(tǒng)的升級和更新?lián)Q代。3、系統(tǒng)的易用性和易維護性圖書管理系統(tǒng)是直接面對使用人員的,而使用人員往往對計算機并不時非常熟悉。這就要求系統(tǒng)能夠提供良好的用戶接口,易用的人機交互界面。要實現(xiàn)這一點,就要求系統(tǒng)應(yīng)該盡量使用用戶熟悉的術(shù)語和中文信息的界面;針對用戶可能出現(xiàn)的使用問題,要提供足夠的在線幫助,縮短用戶對系統(tǒng)熟悉的過程。4、系統(tǒng)的標(biāo)準(zhǔn)性系統(tǒng)在設(shè)計開發(fā)使用過程中都要涉及到很多計算機硬件、軟件。所有這些都要符合主流國際、國家和行業(yè)標(biāo)準(zhǔn)。5、系統(tǒng)的先進性目前計算系統(tǒng)的技術(shù)發(fā)展相當(dāng)快,做為圖
19、書管理系統(tǒng)工程,在系統(tǒng)的生命周期盡量做到系統(tǒng)的先進,充分完成企業(yè)信息處理的要求而不至于落后。這一方面通過系統(tǒng)的開放性和可擴充性,不斷改善系統(tǒng)的功能完成。另一方面,在系統(tǒng)設(shè)計和開發(fā)的過程中,應(yīng)在考慮成本的基礎(chǔ)上盡量采用當(dāng)前主流并先進且有良好發(fā)展前途的產(chǎn)品。6、系統(tǒng)的響應(yīng)速度圖書管理系統(tǒng)系統(tǒng)在日常處理中的響應(yīng)速度為秒級,達到實時要求,以及時反饋信息。在進行統(tǒng)計分析時,根據(jù)所需數(shù)據(jù)量的不同而從秒級到分鐘級,原則是保證操作人員不會因為速度問題而影響工作效率。第三章 系統(tǒng)(xtng)總體設(shè)計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)對用戶合法性進行檢查。2.圖書入庫:對新購進的圖書分類進行編號,并把圖書基本信息錄入計算機。3.圖書借閱:對已入庫的圖書,學(xué)生可以借閱,并進行登記。4.圖書歸還:對學(xué)生已歸還的圖書進行歸還登記。 5.信息查詢:即對所有圖書的借閱情況,或?qū)W生的基本情況和借閱情況進行查詢。6.管理措施:定義系統(tǒng)規(guī)定的借閱圖書超期時間、超期處罰辦法和丟失賠償辦法。3.2 系統(tǒng)功能模塊圖依據(jù)需求分析階段得到的數(shù)據(jù)流圖,采用軟件工程中軟件設(shè)計的概念和原理,與用戶成分協(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)流程圖第四章 詳細(xingx)設(shè)計4.1 程序(chngx)流程圖依據(jù)軟件工程的基本原理,詳細設(shè)計階段的根本任務(wù)是確定應(yīng)該怎樣具體(jt)實現(xiàn)所要求的系統(tǒng),也就是說,經(jīng)過這個階段的設(shè)計工作,應(yīng)該得出對目標(biāo)系統(tǒng)的精確描述,從而在系統(tǒng)實現(xiàn)階段可以把這個描述直接翻譯成用某種程序設(shè)計語言書寫的程序。具體來說就是把經(jīng)過總體設(shè)
22、計得到的各個模塊詳細的加以描述。由于本系統(tǒng)采用支持面向?qū)ο蟮腣isual Basic 6.0作為開發(fā)工具,而Visual Basic 6.0采用事件驅(qū)動的編程機制,所以在此給出軟件系統(tǒng)的主程序流程圖,如圖4.1所示。圖4.1 主程序流程圖根據(jù)以上主程序的流程圖,我們可以得出下面的關(guān)于各個模塊的程序流程圖,如圖4.2所示。 圖4.2 程序(chngx)流程圖4.2 程序(chngx)輸入輸出描述4.2.1 主模塊(m kui)1.輸入項目:操作系統(tǒng)傳遞至的各種消息以及用戶的輸入數(shù)據(jù)。2.輸出項目:用戶界面(yn h ji min)顯示。4.2.1 學(xué)生(xu sheng)管理模塊1.輸入項目:與
23、學(xué)生管理(gunl)操作子對話框有關(guān)的用戶輸入及系統(tǒng)消息。2.輸出項目:操作結(jié)果顯示。4.2.2 圖書管理模塊1.輸入項目:用戶口令。2.輸出項目:相應(yīng)的界面。4.2.3 借閱管理模塊1.輸入項目:學(xué)生學(xué)號、圖書編號。2.輸出項目:學(xué)生信息、相關(guān)借書信息。4.2.4 歸還管理模塊1.輸入項目:圖書編號。2.輸出項目:相關(guān)學(xué)生信息。4.2.5 管理措施設(shè)置模塊1.輸入項目:用戶的輸入。2.輸出項目:根據(jù)用戶的輸入顯示相應(yīng)的對話框。4.3 程序接口描述4.3.1 外部接口按Windows應(yīng)用軟件用戶界面的規(guī)范來設(shè)計,使用以對話框為主的用戶界面,便于用戶使用。4.3.2 內(nèi)部接口模塊間接口采用數(shù)據(jù)耦
24、合方式,通過參數(shù)表傳送數(shù)據(jù),交換信息。4.4 數(shù)據(jù)庫的設(shè)計(shj)4.4.1 數(shù)據(jù)庫的邏輯設(shè)計在需求分析階段已完成該系統(tǒng)所有的數(shù)據(jù)分析。根據(jù)該階段所建立的概念模型,已經(jīng)得出滿足系統(tǒng)設(shè)計(shj)要求的幾個關(guān)系描述,該階段的主要工作就是把前一階段的成果轉(zhuǎn)化為具體的數(shù)據(jù)庫。下面給出概念結(jié)構(gòu)設(shè)計得E-R圖如圖4.3所示。(1) 分E-R圖(2) 總E-R圖圖4.3 概念(ginin)結(jié)構(gòu)設(shè)計E-R圖實體:圖書(圖書編號,書名,作者,出版社,定價,圖書類別(libi),圖書ISBN號,圖書數(shù)量) 學(xué)生(學(xué)生學(xué)號,學(xué)生姓名,性別(xngbi),入校時間,畢業(yè)時間) 管理員(編號,名字,密碼,加入時間)
25、聯(lián)系:學(xué)生管理(圖書管理員,學(xué)生姓名,學(xué)生密碼) 圖書管理(圖書管理員,借閱號,歸還號) 查詢(圖書編號,借閱證號,圖書管理員,學(xué)生)4.4.2 數(shù)據(jù)庫的物理設(shè)計依據(jù)數(shù)據(jù)庫的原理,并結(jié)合以上E-R圖,經(jīng)過轉(zhuǎn)化,即可進行數(shù)據(jù)庫的物理設(shè)計?;谝陨蠑?shù)據(jù)庫的邏輯設(shè)計,考慮程序設(shè)計的簡易性,同時考慮題目的時間,該系統(tǒng)的數(shù)據(jù)庫采用Microsoft SQL Server 2000。本系統(tǒng)決定采用一個數(shù)據(jù)庫,在其下創(chuàng)建5個數(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圖書價格貨幣可為空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借書時間時間日期可為空5cReturnTime還書時間時間日期可為空6cReturn是否歸還文本1可為空3.圖書(tsh)歸還登記表(tReturn),其字段列表如表4-3所示。表4-3 圖書歸還登記表的結(jié)構(gòu)序號字段名稱字段說明類型位數(shù)屬性備注1cBorrowID借書編號文本6必須非空2cVipID學(xué)生編號文本6必須非空3cBooksID圖書編號文本7必須非空4cBorrwTime借書時間時間日期可為空5cReturnTime還書時間時間日期必須非空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é)時間時間日期必須非空6vipEndTime學(xué)生畢業(yè)時間時間日期必須非空5.管理員信息表(tOperators),其字段列表如表4-5所示。表4-5 管理員信息(xnx)表的結(jié)構(gòu)序號字段名稱字段說明類型位數(shù)屬性備注1cOperatorID管理員編號文本5必須非空2cOp
29、eratorName管理員姓名文本10必須非空3cOperatorPassword密碼文本6必須非空4cOperatorAddTime管理員加入時間時間日期10必須非空第五章 編碼(bin m)實現(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)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度南京二手房交易稅費減免政策咨詢合同
- 二零二五年度農(nóng)田租賃與農(nóng)業(yè)金融服務(wù)合同樣本
- 2025年度瓶裝純凈水原水采集與處理合同4篇
- 2025年度門面房屋租賃合同租賃雙方信息保密協(xié)議4篇
- 2025年度海洋工程技術(shù)服務(wù)合同協(xié)議范本3篇
- 民政局二零二五年度離婚協(xié)議書電子模板使用許可4篇
- 二零二五版金融信息服務(wù)合同4篇
- 2025年度個人店面租賃合同范本簡易版2篇
- 2025年度個人房產(chǎn)買賣合同法律咨詢協(xié)議2篇
- 2025年度個人網(wǎng)絡(luò)安全與隱私保護咨詢服務(wù)合同范本3篇
- 醫(yī)院急診醫(yī)學(xué)小講課課件:急診呼吸衰竭的處理
- 腸梗阻導(dǎo)管在臨床中的使用及護理課件
- 調(diào)料廠工作管理制度
- 2023年MRI技術(shù)操作規(guī)范
- 小學(xué)英語單詞匯總大全打印
- 衛(wèi)生健康系統(tǒng)安全生產(chǎn)隱患全面排查
- GB/T 15114-2023鋁合金壓鑄件
- 三相分離器原理及操作
- 貨物驗收單表格模板
- 600字A4標(biāo)準(zhǔn)作文紙
- GB/T 18015.2-2007數(shù)字通信用對絞或星絞多芯對稱電纜第2部分:水平層布線電纜分規(guī)范
評論
0/150
提交評論