




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGEPAGE2本科生畢業(yè)設(shè)計(jì)(論文)中文題目:基于c/s模式的圖書(shū)管理系統(tǒng)外文題目:ManagementSystemoftheLibrarytotheC/SModule學(xué)號(hào):姓名:學(xué)院:專(zhuān)業(yè):計(jì)算機(jī)科學(xué)與技術(shù)指導(dǎo)教師:完成時(shí)間:2010年4月12日引言隨著信息技術(shù)在管理上越來(lái)越深入而廣泛的應(yīng)用,管理信息系統(tǒng)的實(shí)施在技術(shù)上已逐步成熟。本系統(tǒng)模擬高校圖書(shū)館管理系統(tǒng),主要用于圖書(shū)的管理、借閱、分類(lèi)、讀者信息的管理、讀者借閱圖書(shū)記錄,以及管理員信息管理和權(quán)限的維護(hù)。本系統(tǒng)中的所有功能都是基于客戶/服務(wù)器(Client/Server)的網(wǎng)絡(luò)形式實(shí)現(xiàn)的,即所有功能都是遠(yuǎn)程操作的,并且可以實(shí)現(xiàn)多用戶操作。隨著計(jì)算機(jī)和通訊技術(shù)的發(fā)展,計(jì)算機(jī)網(wǎng)絡(luò)化已經(jīng)滲透到了各個(gè)應(yīng)用領(lǐng)域。尤其是基于TCP/IP協(xié)議的互聯(lián)網(wǎng)發(fā)展迅猛,應(yīng)用廣泛。計(jì)算機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)也由傳統(tǒng)的開(kāi)發(fā)方式發(fā)展為網(wǎng)絡(luò)環(huán)境的開(kāi)發(fā)模式。因此,為了能夠?qū)崿F(xiàn)遠(yuǎn)程對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,開(kāi)發(fā)了圖書(shū)館的C/S模式管理系統(tǒng),來(lái)實(shí)現(xiàn)一系列的管理及操作。它既方便實(shí)現(xiàn)遠(yuǎn)程管理借閱圖書(shū),且也大大提高了程序的可維護(hù)性和重復(fù)利用性。例如,當(dāng)數(shù)據(jù)庫(kù)某些表的結(jié)構(gòu)發(fā)生更改時(shí),只需要修改服務(wù)器端的程序即可,客戶端的程序可以繼續(xù)使用。在實(shí)際應(yīng)用中,對(duì)于多用戶只需修改服務(wù)器端的程序即可,客戶端的程序可以繼續(xù)使用。在實(shí)際應(yīng)用中,對(duì)于多用戶系統(tǒng)來(lái)說(shuō),這是非常令人滿意的,因?yàn)槲覀儾恍枰ソo予所有客戶端安裝更改的程序。目錄TOC\o"1-3"\h\z引言 2目錄 3摘要 4Abstract 5第一章 系統(tǒng)概述 61.1系統(tǒng)功能介紹 6第二章 系統(tǒng)設(shè)計(jì) 72.1系統(tǒng)設(shè)計(jì)思想 72.2系統(tǒng)結(jié)構(gòu)設(shè)計(jì) 8第三章數(shù)據(jù)庫(kù)設(shè)計(jì) 103.1數(shù)據(jù)庫(kù)需求分析 103.2數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì) 113.3數(shù)據(jù)庫(kù)表的設(shè)計(jì) 12第四章網(wǎng)絡(luò)通訊協(xié)議的設(shè)計(jì) 144.1客戶端協(xié)議 144.2服務(wù)器端協(xié)議 15第五章系統(tǒng)界面與代碼設(shè)計(jì) 175.1服務(wù)器端設(shè)計(jì) 175.1.1服務(wù)器端Winsock控件 175.1.2服務(wù)器端公共模塊設(shè)計(jì) 195.1.3服務(wù)器端主界面預(yù)覽 205.2客戶端設(shè)計(jì) 205.2.1客戶端代碼設(shè)計(jì) 205.2.2客戶端主界面預(yù)覽 24第六章系統(tǒng)測(cè)試與分析 25總結(jié) 26參考文獻(xiàn) 27致謝 28摘要本系統(tǒng)是一個(gè)網(wǎng)絡(luò)化的數(shù)據(jù)庫(kù)操作應(yīng)用系統(tǒng)。由于數(shù)據(jù)庫(kù)的一些操作全部在服務(wù)器端實(shí)現(xiàn),提高了系統(tǒng)的可維護(hù)性和安全性。圖書(shū)館信息管理系統(tǒng)主要分為服務(wù)器端和客戶端。系統(tǒng)開(kāi)發(fā)的總體任務(wù)是實(shí)現(xiàn)圖書(shū)的管理、借閱、分類(lèi),讀者信息的管理,讀者借閱圖書(shū)記錄,以及管理員信息管理和權(quán)限的維護(hù)。在編程技術(shù)上,本系統(tǒng)所采用的編程軟件是VisualBasic6.0,以數(shù)據(jù)庫(kù)MicrosoftAccess2000作為系統(tǒng)的后臺(tái)操作,數(shù)據(jù)庫(kù)操作方面以ADO數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)和SQL語(yǔ)言為主。網(wǎng)絡(luò)通訊方面主要用Winsock控件開(kāi)發(fā)TCP/IP程序。[關(guān)鍵字]圖書(shū)館信息管理系統(tǒng)、VisualBasic6.0、MicrosoftAccess2000、Winsock控件AbstractThisisanappliedsystemaboutdatabaseoperation.Allofthedatabaseoperationisintheservercomputer,soitcanimprovethesystem’sprotectionandsafety.Managementinformationsystemofthelibraryisdividedintotwodepartments,whichareserverandclient.Thesystem’stasksarebooksmanagement,lendingbooksmanagement,book’stypesmanagement,readers’informationmanagement,andtherecordsoflendingbooks,usermanagementandtherightoftheusersmanagement.Inthetechniqueoftheprogram,thissystemusestheapplicationprogrammingsoftwareVisualBasic6.0astheimplementationlanguageandthedatabaseofMicrosoftAccess2000asthesystemofbackendoperation.InthedatabaseoperationmainlyusesthetechniqueofADOandthelanguageofSQL.ButintheInternetmainlyusestheWinsocktodeveloptheprogramofTCP/IP.[Keywords]:Managementinformationsystemofthelibrary、VisualBasic6.0、MicrosoftAccess2000、Winsock.系統(tǒng)概述1.1系統(tǒng)功能介紹本系統(tǒng)主要是使用VisualBasic來(lái)進(jìn)行遠(yuǎn)程的網(wǎng)絡(luò)化數(shù)據(jù)庫(kù)操作。系統(tǒng)開(kāi)發(fā)的總體任務(wù)是實(shí)現(xiàn)圖書(shū)的管理、借閱、分類(lèi),讀者信息的管理,讀者借閱圖書(shū)記錄,以及管理員信息管理和權(quán)限的維護(hù)。本圖書(shū)館管理系統(tǒng)分為兩部分,即服務(wù)器端和客戶端。主要完成的功能有:①讀者信息管理:即管理和維護(hù)讀者的各項(xiàng)數(shù)據(jù)信息,包括讀者ID、姓名、讀者類(lèi)型、已借圖書(shū)數(shù)、是否有超期欠款及該讀者是否有效。其中讀者類(lèi)型分為3類(lèi):本科生(借書(shū)5本,借期1月),類(lèi)型代碼1;研究生(借書(shū)8本,借期2月),類(lèi)型代碼2;教師(借書(shū)10本,借期2月),類(lèi)型代碼3。當(dāng)超期欠款大于3.00元時(shí),讀者將不能繼續(xù)借閱圖書(shū)。當(dāng)讀者離校被刪除時(shí),讀者被設(shè)為無(wú)效,也將不能再借閱圖書(shū)。允許高級(jí)管理員和系統(tǒng)管理員添加、刪除和查詢(xún)讀者信息。②圖書(shū)信息管理:即管理和維護(hù)圖書(shū)的各項(xiàng)數(shù)據(jù)信息,包括書(shū)名、作者、出版社、版本號(hào)、出版日期、圖書(shū)類(lèi)別號(hào)及是否在庫(kù)等信息。允許高級(jí)管理員和系統(tǒng)管理員添加圖書(shū)信息和查詢(xún)圖書(shū)信息。③圖書(shū)類(lèi)別管理:即管理和維護(hù)圖書(shū)類(lèi)別數(shù)據(jù),主要有類(lèi)別號(hào)和類(lèi)別名兩項(xiàng)。允許高級(jí)管理員和系統(tǒng)管理員添加圖書(shū)類(lèi)別信息和查詢(xún)圖書(shū)類(lèi)別信息。④借閱和歸還管理:即管理和維護(hù)圖書(shū)借閱、歸還及讀者的繳納超期限欠款等信息。包括讀者所借閱的圖書(shū)號(hào)、借閱日期、應(yīng)該歸還的日期、實(shí)際歸還的日期及超期欠款數(shù)等數(shù)據(jù)。主要功能有圖書(shū)借閱、歸還和繳納罰款3項(xiàng)功能。⑤管理員管理:即管理和維護(hù)管理員的各項(xiàng)數(shù)據(jù)信息,包括ID、姓名、密碼和管理員類(lèi)型。主要有添加、刪除和查詢(xún)管理員信息等3項(xiàng)功能。只有系統(tǒng)管理員才能執(zhí)行上述命令。⑥管理員權(quán)限管理:按照數(shù)據(jù)表里的記錄來(lái)確定管理員的權(quán)限,并允許其執(zhí)行功能。這里定義了3種管理員權(quán)限類(lèi)型,第1種是普通管理員,代碼2,只能登記圖書(shū)借閱和歸還信息,查看圖書(shū)類(lèi)別和圖書(shū)信息;第2種是高級(jí)管理員,代碼1,除了普通管理員的權(quán)限,還能添加新的圖書(shū)資料和圖書(shū)類(lèi)別資料,管理讀者信息(添加、刪除和查詢(xún));第3種是系統(tǒng)管理員,代碼0,能夠執(zhí)行任何命令,除了高級(jí)管理員的權(quán)限,還能夠執(zhí)行管理員管理命令(如添加新管理員、刪除和查詢(xún)管理員信息等)。⑦圖書(shū)借閱統(tǒng)計(jì):可以查詢(xún)圖書(shū)借閱統(tǒng)計(jì)排行,方便用戶了解圖書(shū)借閱情況。服務(wù)器端的客戶端管理:主要是管理和顯示連接到服務(wù)器的客戶端的數(shù)量、使用客戶端的管理員ID及網(wǎng)絡(luò)連接狀態(tài)等。系統(tǒng)設(shè)計(jì)2.1系統(tǒng)設(shè)計(jì)思想本系統(tǒng)要求數(shù)據(jù)庫(kù)能夠在網(wǎng)上實(shí)現(xiàn)圖書(shū)借閱記錄、圖書(shū)信息管理、讀者管理和管理員管理等幾個(gè)方面的功能。首先能夠讓用戶了解圖書(shū)館的藏書(shū)情況和圖書(shū)的一些具體信息,如書(shū)名、書(shū)號(hào)、作者、出版社、出版日期等。其次本系統(tǒng)還應(yīng)具有網(wǎng)上的功能,使讀者能夠通過(guò)管理員在網(wǎng)上實(shí)現(xiàn)借閱、歸還圖書(shū)和繳納罰款等功能。另外,管理員還可以通過(guò)網(wǎng)絡(luò)對(duì)各種資料進(jìn)行管理,比如,對(duì)圖書(shū)信息數(shù)據(jù)和圖書(shū)類(lèi)別信息數(shù)據(jù)進(jìn)行維護(hù),對(duì)讀者資料數(shù)據(jù)進(jìn)行維護(hù),包括讀者ID、姓名、讀者類(lèi)型等數(shù)據(jù),以及對(duì)管理員數(shù)據(jù)進(jìn)行維護(hù),包括管理員ID、姓名、密碼、管理員類(lèi)型等數(shù)據(jù)。1.系統(tǒng)總體執(zhí)行過(guò)程首先需要打開(kāi)服務(wù)器端,然后用戶從遠(yuǎn)程客戶端登錄系統(tǒng)。服務(wù)器收到登錄命令后需在已有的管理員資料庫(kù)中讀出管理員ID和密碼,然后檢驗(yàn)此密碼和用戶輸入的密碼是否一致。當(dāng)用戶登錄成功后就可以進(jìn)行相應(yīng)的操作。正確地填寫(xiě)好各界面的相關(guān)數(shù)據(jù)后,客戶端就會(huì)向服務(wù)器端發(fā)送命令,然后服務(wù)器對(duì)數(shù)據(jù)進(jìn)行寫(xiě)入或讀出或修改,最后返回操作結(jié)果或查詢(xún)的數(shù)據(jù)。具體的總體執(zhí)行過(guò)程如下圖(1)所示??蛻舳朔?wù)器端退出退出返回命令結(jié)果或數(shù)據(jù)處理數(shù)據(jù)庫(kù)新命令接受命令接受命令返回信息返回連接信息發(fā)送命令處理連接數(shù)據(jù)接受返回信息接受連接數(shù)據(jù)發(fā)送連接數(shù)據(jù)接受連接請(qǐng)求啟動(dòng)啟動(dòng)設(shè)置偵聽(tīng)端口登錄發(fā)送連接請(qǐng)求退出退出返回命令結(jié)果或數(shù)據(jù)處理數(shù)據(jù)庫(kù)新命令接受命令接受命令返回信息返回連接信息發(fā)送命令處理連接數(shù)據(jù)接受返回信息接受連接數(shù)據(jù)發(fā)送連接數(shù)據(jù)接受連接請(qǐng)求啟動(dòng)啟動(dòng)設(shè)置偵聽(tīng)端口登錄發(fā)送連接請(qǐng)求是否圖(1)——系統(tǒng)總體執(zhí)行過(guò)程數(shù)據(jù)要求系統(tǒng)首先必須維護(hù)一個(gè)記錄圖書(shū)詳細(xì)資料的數(shù)據(jù)表,程序能對(duì)該表進(jìn)行寫(xiě)入和讀出數(shù)據(jù)的操作。相應(yīng)的,對(duì)于圖書(shū)資料數(shù)據(jù)表中的圖書(shū)分類(lèi)還必須有一個(gè)數(shù)據(jù)表,并且能允許管理員添加信息和查詢(xún)圖書(shū)類(lèi)別。接著,系統(tǒng)還要維護(hù)讀者信息,則系統(tǒng)還需要管理并記錄讀者詳細(xì)信息的數(shù)據(jù)表,管理員可以添加、刪除和查看數(shù)據(jù)表,該表還記錄讀者的借閱情況,系統(tǒng)通過(guò)該表判斷讀者是否滿足借書(shū)條件(比如借書(shū)數(shù)是否已滿,該讀者是否有效等)。而對(duì)于每一次借閱歸還操作,系統(tǒng)還必須建立一個(gè)記錄圖書(shū)借閱信息的數(shù)據(jù)表,主要包括借閱的圖書(shū)號(hào)、借閱和歸還時(shí)間等,并能按照讀者類(lèi)型計(jì)算借閱圖書(shū)應(yīng)歸還日期,再判斷并記錄該次借閱是否超期等信息。系統(tǒng)還要維護(hù)一個(gè)管理員信息數(shù)據(jù)表,記錄管理員的詳細(xì)資料,以檢驗(yàn)管理員登錄,管理管理員的權(quán)限等。2.2系統(tǒng)結(jié)構(gòu)設(shè)計(jì)該圖書(shū)館管理系統(tǒng)主要分為服務(wù)器端和客戶端兩部分。服務(wù)器端只有一個(gè)主界面,且連接到數(shù)據(jù)庫(kù)??蛻舳说闹鞑粌H由主界面,而且還有圖書(shū)借閱操作、讀者管理等多個(gè)子界面組成。但是客戶端是無(wú)數(shù)據(jù)庫(kù)。所以所有的數(shù)據(jù)都是通過(guò)網(wǎng)絡(luò)連接到服務(wù)器端的數(shù)據(jù)庫(kù)進(jìn)行處理。下面圖(2)是具體的系統(tǒng)結(jié)構(gòu)設(shè)計(jì)圖:客戶端主界面客戶端圖書(shū)歸還界面圖書(shū)借閱界面管理員管理界面讀者管理界面圖書(shū)管理界面借閱管理界面連接服務(wù)器端界面數(shù)據(jù)庫(kù)服務(wù)器端主界面服務(wù)器端繳納罰款界面圖書(shū)館信息管理系統(tǒng)客戶端主界面客戶端圖書(shū)歸還界面圖書(shū)借閱界面管理員管理界面讀者管理界面圖書(shū)管理界面借閱管理界面連接服務(wù)器端界面數(shù)據(jù)庫(kù)服務(wù)器端主界面服務(wù)器端繳納罰款界面圖書(shū)館信息管理系統(tǒng)圖書(shū)統(tǒng)計(jì)界面圖書(shū)統(tǒng)計(jì)界面圖(2)——系統(tǒng)結(jié)構(gòu)設(shè)計(jì)2.3系統(tǒng)功能模塊劃分根據(jù)圖的系統(tǒng)總體執(zhí)行過(guò)程,可將系統(tǒng)分為以下幾個(gè)部分:服務(wù)器端模塊劃分?jǐn)?shù)據(jù)管理模塊:連接數(shù)據(jù)庫(kù),根據(jù)客戶端發(fā)送來(lái)的命令,按要求對(duì)數(shù)據(jù)庫(kù)進(jìn)行不同的操作。網(wǎng)絡(luò)管理模塊:管理客戶端連接信息,包括連接狀態(tài)和連接數(shù)量等??蛻舳四K劃分網(wǎng)絡(luò)連接模塊:用于連接服務(wù)器。圖書(shū)借閱管理模塊:用于實(shí)現(xiàn)圖書(shū)借閱信息的管理,包括圖書(shū)借閱、歸還圖書(shū)和讀者繳納罰款等功能。圖書(shū)信息管理模塊:管理圖書(shū)資料、有圖書(shū)類(lèi)別管理和圖書(shū)信息管理兩部分。讀者信息管理模塊:添加、刪除和查詢(xún)讀者信息模塊。管理員信息管理模塊:添加、刪除和查詢(xún)管理員信息功能。圖書(shū)統(tǒng)計(jì)模塊:記錄圖書(shū)借閱統(tǒng)計(jì),用來(lái)實(shí)現(xiàn)圖書(shū)借閱次數(shù)排名統(tǒng)計(jì)的功能。接下來(lái)具體看下該系統(tǒng)的具體功能模塊劃分圖如下圖(3)所示。權(quán)限管理權(quán)限管理圖書(shū)借閱次數(shù)排名圖書(shū)借閱次數(shù)排名客戶端連接信息管操作數(shù)據(jù)庫(kù)連接服務(wù)器管理員查詢(xún)查詢(xún)圖書(shū)類(lèi)別添加圖書(shū)類(lèi)別查詢(xún)圖書(shū)信息添加圖書(shū)信息網(wǎng)絡(luò)管理模塊數(shù)據(jù)管理模塊網(wǎng)絡(luò)連接模塊圖書(shū)借閱統(tǒng)計(jì)模塊管理員管理管理員登錄查詢(xún)讀者刪除讀者添加讀者圖書(shū)類(lèi)別管理圖書(shū)信息管理繳納罰款圖書(shū)歸還圖書(shū)借閱管理員管理模塊讀者信息管理模塊圖書(shū)信息管理模塊圖書(shū)借閱管理模塊圖書(shū)館管理系統(tǒng)服務(wù)器端圖書(shū)館管理系統(tǒng)客戶端客戶端連接信息管操作數(shù)據(jù)庫(kù)連接服務(wù)器管理員查詢(xún)查詢(xún)圖書(shū)類(lèi)別添加圖書(shū)類(lèi)別查詢(xún)圖書(shū)信息添加圖書(shū)信息網(wǎng)絡(luò)管理模塊數(shù)據(jù)管理模塊網(wǎng)絡(luò)連接模塊圖書(shū)借閱統(tǒng)計(jì)模塊管理員管理管理員登錄查詢(xún)讀者刪除讀者添加讀者圖書(shū)類(lèi)別管理圖書(shū)信息管理繳納罰款圖書(shū)歸還圖書(shū)借閱管理員管理模塊讀者信息管理模塊圖書(shū)信息管理模塊圖書(shū)借閱管理模塊圖書(shū)館管理系統(tǒng)服務(wù)器端圖書(shū)館管理系統(tǒng)客戶端修改密碼刪除圖書(shū)類(lèi)別添加管理員修改密碼刪除圖書(shū)類(lèi)別添加管理員圖(3)——系統(tǒng)總體功能模塊劃分圖第三章數(shù)據(jù)庫(kù)設(shè)計(jì)3.1數(shù)據(jù)庫(kù)需求分析本系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)主要有圖書(shū)館圖書(shū)信息、讀者信息、管理員信息和借閱圖書(shū)信息的管理,數(shù)據(jù)庫(kù)的設(shè)計(jì)必須滿足這些功能需求。具體請(qǐng)看下面的一些功能需求:讀者信息管理部分①管理員可對(duì)讀者信息進(jìn)行維護(hù),如添加、刪除、查詢(xún)讀者信息等。②每個(gè)讀者必須對(duì)應(yīng)一種讀者類(lèi)型(本科生、研究生、教師),服務(wù)器根據(jù)讀者類(lèi)型判斷讀者可借閱的圖書(shū)數(shù)量和借閱期限。③在讀者已經(jīng)借閱圖書(shū)信息中必須包括讀者信息,讀者每次借閱時(shí)服務(wù)器都會(huì)比較該讀者已借閱圖書(shū)數(shù)是否小于該讀者類(lèi)型可借閱的圖書(shū)數(shù),不滿足該條件讀者將不能繼續(xù)借閱圖書(shū)。④讀者信息中還應(yīng)包括讀者的超期罰款,本系統(tǒng)中超期罰款按圖書(shū)超期天數(shù)計(jì)算,當(dāng)讀者超期罰款超過(guò)一定數(shù)額時(shí),該讀者將不能繼續(xù)借閱圖書(shū)。⑤讀者可以注銷(xiāo),即刪除讀者,但注銷(xiāo)后并不能清除所有讀者信息,因?yàn)樵撟x者有可能還沒(méi)有繳納罰款等,只能標(biāo)記該讀者不可用。所以讀者信息中還應(yīng)用一個(gè)字段來(lái)標(biāo)記讀者是否有效。圖書(shū)資料管理部分①管理員可對(duì)圖書(shū)資料數(shù)據(jù)進(jìn)行維護(hù),可添加新圖書(shū)信息。②管理員可對(duì)圖書(shū)類(lèi)別進(jìn)行維護(hù),可添加新圖書(shū)類(lèi)別。③管理員可對(duì)圖書(shū)信息進(jìn)行查詢(xún)。④管理員可刪除、查詢(xún)圖書(shū)類(lèi)別。⑤圖書(shū)是否在庫(kù)可借應(yīng)儲(chǔ)存在圖書(shū)信息中,因此圖書(shū)信息數(shù)據(jù)中必須有一個(gè)字段來(lái)記錄。⑥為了統(tǒng)計(jì)圖書(shū)借閱次數(shù)據(jù)排名,對(duì)于每本書(shū)必須有一個(gè)字段記錄該書(shū)被借出的次數(shù)。⑦圖書(shū)資料記錄中的圖書(shū)類(lèi)別號(hào)必須與圖書(shū)類(lèi)別記錄中的類(lèi)別號(hào)相關(guān)聯(lián)。圖書(shū)借閱信息管理部分①管理員可添加圖書(shū)信息、圖書(shū)歸還和繳納罰款記錄。②通常圖書(shū)借閱和歸還記錄會(huì)分開(kāi)添加,因此在添加的圖書(shū)借閱記錄中,關(guān)于歸還和罰款的字段可為空。③每次圖書(shū)借閱,服務(wù)器都應(yīng)該根據(jù)讀者的類(lèi)型,計(jì)算應(yīng)歸還的日期,并記錄到數(shù)據(jù)庫(kù)相應(yīng)的字段。④每次圖書(shū)歸還都有應(yīng)該計(jì)算該書(shū)是否有超期欠款,并記錄在借閱記錄中相應(yīng)字段,然后才累加到讀者信息記錄中讀者欠款處。⑤圖書(shū)借閱信息中的借閱圖書(shū)號(hào)必須與圖書(shū)資料記錄中的圖書(shū)號(hào)相關(guān)聯(lián)。管理員信息管理部分①管理員有權(quán)限劃分,每個(gè)管理員ID必須對(duì)應(yīng)一個(gè)管理員權(quán)限類(lèi)型(普通管理員、高級(jí)管理員、系統(tǒng)管理員)。②系統(tǒng)管理員可以添加、刪除、查詢(xún)管理員信息。3.2數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)由系統(tǒng)的總體分析,可得下圖(4)的實(shí)體—關(guān)系圖(E-R模型):備注出版日期類(lèi)型號(hào)出版社在庫(kù)書(shū)名作者版本號(hào)借閱次數(shù)圖書(shū)號(hào)分類(lèi)借閱圖書(shū)類(lèi)別號(hào)類(lèi)別名稱(chēng)圖書(shū)類(lèi)別管理超期欠款已借圖書(shū)是否有效類(lèi)型ID姓名讀者管理員備注類(lèi)型密碼ID號(hào)姓名rnsqmmnn備注出版日期類(lèi)型號(hào)出版社在庫(kù)書(shū)名作者版本號(hào)借閱次數(shù)圖書(shū)號(hào)分類(lèi)借閱圖書(shū)類(lèi)別號(hào)類(lèi)別名稱(chēng)圖書(shū)類(lèi)別管理超期欠款已借圖書(shū)是否有效類(lèi)型ID姓名讀者管理員備注類(lèi)型密碼ID號(hào)姓名rnsqmmnn借閱記錄借閱記錄備注備注圖(4)——實(shí)體—關(guān)系圖3.3數(shù)據(jù)庫(kù)表的設(shè)計(jì)本圖書(shū)館管理系統(tǒng)數(shù)據(jù)庫(kù)由以下5個(gè)數(shù)據(jù)表組成,具體設(shè)計(jì)請(qǐng)看下面的具體介紹。表1為Book_Info(圖書(shū)資料數(shù)據(jù)表)。該表記錄了圖書(shū)館圖書(shū)的基本資料。該表包括了圖書(shū)號(hào)、書(shū)名、作者、出版社、版本號(hào)、出版日期和圖書(shū)類(lèi)別號(hào)等基本資料,以及圖書(shū)借閱次數(shù)字段,以便統(tǒng)計(jì)圖書(shū)借閱次數(shù)排名使用。注意的是圖書(shū)類(lèi)別號(hào)要與圖書(shū)類(lèi)別數(shù)據(jù)表中的類(lèi)別號(hào)對(duì)應(yīng)。表1圖書(shū)資料數(shù)據(jù)表(Book_Info)字段名稱(chēng)數(shù)據(jù)類(lèi)型長(zhǎng)度(字節(jié))必填字段主鍵字段說(shuō)明Book_Num自動(dòng)編號(hào)長(zhǎng)整型是是書(shū)號(hào)Book_Name文本40是否書(shū)名Book_Author文本20是否作者Book_Press文本20是否出版社Book_PrsNum數(shù)字整型否否出版號(hào)Book_PrsDate日期/時(shí)間短日期是否出版日期Book_Type數(shù)字整型是否圖書(shū)類(lèi)別號(hào)Book_Total數(shù)字長(zhǎng)整型否否借閱次數(shù)Book_Remark文本30否否備注表2為讀者資料數(shù)據(jù)表,該表記錄了所有讀者的基本資料,管理員可添加、刪除和查詢(xún)此表。主要的字段有讀者ID、姓名、讀者類(lèi)型(本科生、研究生、教師)、已借圖書(shū)、超期欠款和是否有效等字段(用于判斷該讀者是否滿足可借書(shū)條件)。表2讀者資料數(shù)據(jù)表(Reader_Info)字段名稱(chēng)數(shù)據(jù)類(lèi)型長(zhǎng)度(字節(jié))必填字段主鍵字段說(shuō)明Rdr_ID文本8是是讀者IDRdr_Name文本4是否讀者姓名Rdr_Type數(shù)字整型是否讀者類(lèi)型Rdr_BKTotal數(shù)字整型是否已借書(shū)數(shù)Rdr_Arrearage貨幣貨幣是否超期欠款Rdr_Entitle布爾1是否是否有效Rdr_Remark文本30否否備注表3為圖書(shū)類(lèi)別數(shù)據(jù)表(Book_Type)。它記錄了圖書(shū)類(lèi)別,主要用于圖書(shū)分類(lèi),包括圖書(shū)類(lèi)別號(hào)和圖書(shū)類(lèi)別名稱(chēng)兩個(gè)字段。表3圖書(shū)類(lèi)別數(shù)據(jù)表(Book_Type)字段名稱(chēng)數(shù)據(jù)類(lèi)型長(zhǎng)度(字節(jié))必填字段主鍵字段說(shuō)明Type_Num自動(dòng)編號(hào)長(zhǎng)整型是是圖書(shū)類(lèi)別號(hào)Type_Name文本8是否類(lèi)別名稱(chēng)表4為圖書(shū)借還記錄數(shù)據(jù)表(Book_Record),該表記錄了所有讀者借閱圖書(shū)的數(shù)據(jù),管理員可通過(guò)添加圖書(shū)借閱信息、圖書(shū)歸還信息和繳納罰款信息來(lái)添加和修改該表中的記錄。此表主要包括記錄號(hào)、借閱讀者ID、借閱圖書(shū)號(hào)、借閱日期、應(yīng)還日期和實(shí)際歸還日期,以及本書(shū)的超期欠款等資料。且借閱讀者ID要與讀者資料數(shù)據(jù)表中的讀者ID對(duì)應(yīng),圖書(shū)號(hào)要與圖書(shū)資料數(shù)據(jù)表中的圖書(shū)號(hào)對(duì)應(yīng)。表4圖書(shū)借還記錄數(shù)據(jù)表(Book_Record)字段名稱(chēng)數(shù)據(jù)類(lèi)型長(zhǎng)度(字節(jié))必填字段主鍵字段說(shuō)明Rec_Num自動(dòng)編號(hào)長(zhǎng)整型是是記錄號(hào)Rec_RdrID文本8是否讀者IDRec_BKNum數(shù)字長(zhǎng)整型是否借閱圖書(shū)號(hào)Rec_LendTime時(shí)間/日期短日期是否借閱日期Rec_LendLimit時(shí)間/日期短日期是否應(yīng)還日期Rec_ReturnTime時(shí)間/日期短日期否否歸還日期Rec_Arrearage貨幣貨幣否否超期欠款Rec_Remark文本30否否備注表5為管理員資料數(shù)據(jù)表(User_Info),它記錄了所有管理員的基本資料,管理員可添加、刪除和查詢(xún)?cè)摫?。它包括了管理員ID號(hào),姓名、密碼和權(quán)限類(lèi)型(系統(tǒng)管理員、高級(jí)管理員、普通管理員)等資料。表5管理員信息資料數(shù)據(jù)表(User_Info)字段名稱(chēng)數(shù)據(jù)類(lèi)型長(zhǎng)度(字節(jié))必填字段主鍵字段說(shuō)明Usr_ID文本8是是管理員ID號(hào)Usr_Name文本4是否管理員姓名Usr_Pwd文本8是否管理員密碼Usr_Type數(shù)字整型是否權(quán)限類(lèi)型Usr_Remark文本30否否備注第四章網(wǎng)絡(luò)通訊協(xié)議的設(shè)計(jì)為了簡(jiǎn)化協(xié)議又能夠覆蓋系統(tǒng)的功能,此系統(tǒng)的通訊協(xié)議格式為:“幀頭+,+(類(lèi)型+,)+內(nèi)容”幀頭用于區(qū)分命令,不同的幀頭字段代表不同的命令類(lèi)型,它們是由英文字母組成;類(lèi)型代表的是各種命令中的一些小類(lèi)型,由數(shù)字組成,本系統(tǒng)用到的是兩位數(shù)字,然后就是要傳遞的一些具體數(shù)據(jù),不同的情況有不同的數(shù)據(jù)類(lèi)型構(gòu)成,而且各數(shù)據(jù)間用逗號(hào)隔開(kāi)。如:幀頭Rdr表示關(guān)于讀者的命令,類(lèi)型01則表示添加讀者信息,然后再加上具體的讀者信息數(shù)據(jù)。下面我們來(lái)看下本系統(tǒng)的一些具體的協(xié)議的設(shè)計(jì)。4.1客戶端協(xié)議客戶端協(xié)議分為網(wǎng)絡(luò)連接、圖書(shū)借閱和歸還管理、圖書(shū)類(lèi)別管理、圖書(shū)信息管理、讀者信息管理、管理員信息管理和圖書(shū)借閱統(tǒng)計(jì)等。網(wǎng)絡(luò)連接協(xié)議登錄服務(wù)器:“Cnn,Usr_ID,Usr_Pwd”,幀頭“Cnn”,由于只有一條協(xié)議,所以無(wú)類(lèi)型號(hào),接著是協(xié)議具體內(nèi)容,Usr_ID是登錄服務(wù)器的管理員ID,USR_Pwd是管理員密碼。圖書(shū)借閱歸還管理協(xié)議圖書(shū)借閱:“Lend,Rec+RdrID,Rec_BkNum”,幀頭“Lend”,沒(méi)有類(lèi)型號(hào),接著是協(xié)議具體內(nèi)容,Rec_RdrID是借閱圖書(shū)的讀者ID,Rec_BkNum是讀者借閱的圖書(shū)號(hào)。圖書(shū)歸還:“Return,Rec_BkNum”,幀頭“Return”,沒(méi)有類(lèi)型號(hào),協(xié)議內(nèi)容只有Rec_BkNum一項(xiàng),是歸還的圖書(shū)號(hào)。繳納罰款:“Pay,Rdr_ID”,幀頭“Pay”,沒(méi)有類(lèi)型號(hào),協(xié)議內(nèi)容只有Rdr_ID一項(xiàng),是繳納罰款的讀者ID。圖書(shū)類(lèi)別管理協(xié)議添加圖書(shū)類(lèi)別:“Type,01,Type_Name”,幀頭“Type”,類(lèi)型號(hào)為01,接著是協(xié)議具體內(nèi)容,只有一項(xiàng)Type_Name是需要添加的類(lèi)型名稱(chēng)。刪除圖書(shū)類(lèi)別:“Type,02”,幀頭“Type”,類(lèi)型號(hào)為02。查看圖書(shū)類(lèi)別:“Type,03”,幀頭“Type”,類(lèi)型號(hào)為03,因?yàn)閳D書(shū)類(lèi)別數(shù)量不是很大,則查看的是全部類(lèi)別,所以沒(méi)有查看類(lèi)別的數(shù)據(jù)內(nèi)容。圖書(shū)信息管理協(xié)議添加圖書(shū)信息:“Book,01,Bk_Name,Bk_Author,Bk_Press,Bk_PrsNum,Bk_PrsDate,Bk_Type”,幀頭“Book”,類(lèi)型號(hào)01,接著是協(xié)議具體內(nèi)容,Bk_Name是需要添加的圖書(shū)名,Bk_Author是圖書(shū)作者,Bk_Press是圖書(shū)出版社,Bk_PrsNum是圖書(shū)出版版本號(hào),Bk_PrsDate是圖書(shū)出版日期,Bk_Type是圖書(shū)類(lèi)別號(hào)。查詢(xún)圖書(shū)信息:“Book,02,Bk_Name”。查詢(xún)圖書(shū)信息:“Book,03,Bk_Author”。讀者信息管理協(xié)議添加讀者信息:“Rdr,01,Rdr_ID,Rdr_Name,Rdr_Type”。刪除讀者信息:“Rdr,02,Rdr_ID”。查詢(xún)讀者信息:“Rdr,03,Rdr_ID”。6)管理員信息管理協(xié)議添加管理員信息:“Usr,01,Usr_ID,Usr_Type,Usr_Name,Usr_Pwd”。刪除管理員信息:“Usr,02,Usr_ID”。查詢(xún)管理員信息:“Usr,03,Usr_ID”。圖書(shū)借閱統(tǒng)計(jì)協(xié)議7)借閱次數(shù)排名統(tǒng)計(jì):“Stat,Stat_Num”,幀頭“Stat”,無(wú)類(lèi)型號(hào),協(xié)議內(nèi)容Stat_Num是要統(tǒng)計(jì)排名的個(gè)數(shù)。4.2服務(wù)器端協(xié)議服務(wù)器端協(xié)議與客戶端協(xié)議是一一對(duì)應(yīng)的,也分為網(wǎng)絡(luò)連接、圖書(shū)管理和歸還管理、圖書(shū)類(lèi)別管理、圖書(shū)信息管理、讀者信息管理、管理員信息管理和圖書(shū)借閱統(tǒng)計(jì)幾個(gè)方面。網(wǎng)絡(luò)連接協(xié)議登錄:“Cnn,Respond”,幀頭Cnn,無(wú)類(lèi)型號(hào),協(xié)議的具體內(nèi)容為,Respond表示是相應(yīng)登錄的返回信息,可以是成功登錄的歡迎信息和登錄失敗的原因等。圖書(shū)借閱歸還管理協(xié)議圖書(shū)借閱:“Lend,Respond”,幀頭Lend,無(wú)類(lèi)型號(hào),協(xié)議具體內(nèi)容為,Respond表示借閱圖書(shū)返回信息,借閱圖書(shū)成功后返回的借閱期限或錯(cuò)誤原因等。圖書(shū)歸還:“Return,Respond”,幀頭Return,無(wú)類(lèi)型號(hào),協(xié)議具體內(nèi)容為,Respond表示的是歸還圖書(shū)的返回信息。繳納罰款:“Pay,Respond”,幀頭Pay,無(wú)類(lèi)型號(hào),Respond表示的是繳納罰款的返回信息。3)圖書(shū)類(lèi)別管理協(xié)議添加圖書(shū)類(lèi)別:“Type,01,Respond”,幀頭Type,類(lèi)型號(hào)為01,協(xié)議內(nèi)容Respond表示添加圖書(shū)類(lèi)別返回信息。查詢(xún)圖書(shū)類(lèi)別:“Type,02,Type_Num1+Type_Name1+……..”,幀頭Type,類(lèi)型號(hào)為02,協(xié)議內(nèi)容Type_Num1表示的是第一個(gè)類(lèi)別號(hào)Type_Name1表示的是第一個(gè)類(lèi)別名稱(chēng)。后面的省略號(hào)依此類(lèi)推。表示的是其他的圖書(shū)類(lèi)別號(hào)和類(lèi)別名稱(chēng),而且各條信息間用逗號(hào)隔開(kāi)。圖書(shū)信息管理協(xié)議添加圖書(shū)信息:“Book,01,Respond”,幀頭Book,類(lèi)型號(hào)為01,協(xié)議內(nèi)容為Respond表示添加圖書(shū)是否成功的信息。查詢(xún)圖書(shū)信息:“Book,02,Book_Num1+Book_Name1+Book_Author1+Book_Press1+Book_PrsNum1+Book_PrsDate1+Book_Type1+Book_Available1+Book_Total1,……..”,幀頭Book,類(lèi)型號(hào)為02,協(xié)議內(nèi)容為:Book_Num1是要查詢(xún)的第一個(gè)圖書(shū)信息的圖書(shū)號(hào),Book_Name1是要查詢(xún)的第一個(gè)圖書(shū)信息的書(shū)名,Book_Author1是作者名,Book_Press1是出版社名,Book_PrsNum1是版本號(hào),Book_PrsDate1表示出版日期,Book_Type1表示類(lèi)型號(hào),Book_Avaiable1表示圖書(shū)是否在庫(kù),Book_Total1表示的是圖書(shū)借閱總次數(shù)。讀者信息管理協(xié)議添加讀者信息:“Rdr,01,Respond”。刪除讀者信息:“Rdr,02,Respond”。查詢(xún)讀者信息:“Rdr,03,Respond”。管理員信息管理協(xié)議添加管理員信息:“Usr,01,Respond”。刪除管理員信息:“Usr,02,Respond”。查詢(xún)管理員信息:“Usr,03,Usr_ID1+Usr_Name1+Usr_Type1,…….”。圖書(shū)借閱統(tǒng)計(jì)協(xié)議借閱次數(shù)排名統(tǒng)計(jì):“Stat,Book_Num1+Book_Name1+Book_Author1+Book_Press1+Book_PrsNum1+Book+PrsDate1+Book_Type1+Book_Avaiable1+Book_Total1,……”。第五章系統(tǒng)界面與代碼設(shè)計(jì)5.1服務(wù)器端設(shè)計(jì)5.1.1服務(wù)器端Winsock控件Winsock控件是一個(gè)在運(yùn)行中不可見(jiàn)的控件,所以當(dāng)程序運(yùn)行時(shí),主界面并不顯示它,而只是在后臺(tái)運(yùn)作。Winsock控件對(duì)WinsockAPI進(jìn)行了封裝,屏蔽了用Winsock編寫(xiě)TCP/IP應(yīng)用的細(xì)節(jié),使用時(shí)不必了解TCP/IP具體內(nèi)容和如何調(diào)用WinsockAPI,所以使用起來(lái)非常方便,只要設(shè)置好相應(yīng)屬性,在一些觸發(fā)事件過(guò)程中做好相應(yīng)的處理,就能實(shí)現(xiàn)網(wǎng)絡(luò)應(yīng)用程序的編寫(xiě)。在本系統(tǒng)中服務(wù)器會(huì)分別給不同的客戶端安排不同的Winsock連接,每當(dāng)有新的客戶請(qǐng)求連接時(shí),服務(wù)器首先檢驗(yàn)是否有空閑的Winsock控件來(lái)接受請(qǐng)求,有就用空閑Winsock來(lái)接受請(qǐng)求,不然服務(wù)器會(huì)動(dòng)態(tài)生成新的Winsock控件,然后用新生成的控件請(qǐng)求。當(dāng)Winsock控件數(shù)組接收到數(shù)據(jù)時(shí),先將數(shù)據(jù)按間隔的逗號(hào)分開(kāi),提取幀頭和類(lèi)型,并對(duì)數(shù)據(jù)內(nèi)容分別做相應(yīng)的處理。當(dāng)網(wǎng)絡(luò)連接關(guān)閉時(shí),要找到網(wǎng)絡(luò)連接列表中相應(yīng)的記錄,將網(wǎng)絡(luò)連接狀態(tài)顯示為“斷開(kāi)”。另外,在利用sock發(fā)送數(shù)據(jù)之前一定要檢驗(yàn)sock連接狀態(tài),否則當(dāng)sock連接不是連接狀態(tài)時(shí),系統(tǒng)會(huì)出錯(cuò)。下面來(lái)看一下該控件的一些事件代碼。1.Winsock觸發(fā)Close事件:PrivateSubSockToCln_Close(indexAsInteger)'網(wǎng)絡(luò)連接關(guān)閉DimiAsIntegerDimFindItmAsListItemFori=1ToClMaxIfClient(i).index=indexThen'找到該連接SetFindItm=Me.LvCnn.FindItem(Client(i).UsrID)FindItm.SubItems(1)="斷開(kāi)"FindItm.SubItems(2)=NowExitForEndIfNextiEndSub2.Winsock觸發(fā)ConnectionRequest事件:'接受連接請(qǐng)求PrivateSubSockToCln_ConnectionRequest(indexAsInteger,ByValrequestIDAsLong)DimiAsIntegerFori=1ToMaxSvrSock'查詢(xún)是否有關(guān)閉的空閑控件IfSockToCln(i).State=sckClosedThenSockToCln(i).LocalPort=0IfSockToCln(i).LocalPort=SvrPortThen'不能占用偵聽(tīng)端口ExitSubEndIfSockToCln(i).AcceptrequestIDExitSubEndIfNexti'沒(méi)有空閑的控件,原有socket都被占用,需要新增WinsockMaxSvrSock=MaxSvrSock+1'控件數(shù)增加LoadSockToCln(MaxSvrSock)'動(dòng)態(tài)生成一個(gè)winsock控件SockToCln(MaxSvrSock).LocalPort=0'設(shè)置新端口SockToCln(MaxSvrSock).AcceptrequestID'接受連接請(qǐng)求EndSub3.Winsock觸發(fā)DataArrival事件:'接受并處理數(shù)據(jù)PrivateSubSockToCln_DataArrival(indexAsInteger,ByValbytesTotalAsLong)DimStrArrivalAsString,StrGet()AsStringDimstrBackAsStringDimRdrIDAsStringDimbkNumAsLongDimStatNumAsIntegerDimUsrIDAsStringDimUsrPwdAsStringMe.SockToCln(index).GetDataStrArrival,vbString'接受數(shù)據(jù)IfLen(StrArrival)<1ThenExitSubStrGet()=Split(StrArrival,",",-1)'拆分接收到的數(shù)據(jù)SelectCaseStrGet(0)'判斷類(lèi)型Case"Lend"'圖書(shū)借閱RdrID=StrGet(1)'得到RdrIDbkNum=Val(StrGet(2))'得到BkNumstrBack=CheckLend(RdrID,bkNum)'回復(fù)客戶端Case"Return"'圖書(shū)歸還bkNum=Val(StrGet(1))'得到BkNumstrBack=CheckReturn(bkNum)'回復(fù)客戶端Case"Pay"'繳納欠款RdrID=StrGet(1)'得到RdrIDstrBack=CheckPay(RdrID)'回復(fù)客戶端Case"Type"'操作圖書(shū)類(lèi)別'調(diào)用BookType函數(shù)處理圖書(shū)管理命令strBack=BookType(StrGet,index)Case"Book"'圖書(shū)管理'調(diào)用BookInfo函數(shù)處理圖書(shū)管理命令strBack=BookInfo(StrGet,index)Case"Rdr"'讀者管理'調(diào)用Reader函數(shù)處理圖書(shū)管理命令strBack=Reader(StrGet,index)Case"Usr"'管理員管理'調(diào)用User函數(shù)處理圖書(shū)管理命令strBack=User(StrGet,index)Case"Stat"‘借閱統(tǒng)計(jì)管理StatNum=Val(StrGet(1))'得到StatNumstrBack=CheckStat(StatNum)'回復(fù)客戶端Case"Cnn"'連接信息UsrID=StrGet(1)'得到UsrIDUsrPwd=StrGet(2)'得到UsrPwdstrBack=CheckUsr(UsrID,UsrPwd,index)'回復(fù)客戶端EndSelectIfMe.SockToCln(index).State<>sckConnectedThen'檢驗(yàn)sock連接ExitSubEndIfMe.SockToCln(index).SendDatastrBack'發(fā)送返回信息EndSub5.1.2服務(wù)器端公共模塊設(shè)計(jì)啟動(dòng)VisualBasic6.0后,新建一個(gè)標(biāo)準(zhǔn)EXE工程,然后將該工程保存,選擇保存路徑,并命名為圖書(shū)館管理系統(tǒng)服務(wù)器工程。接著給該工程添加一個(gè)模塊。選擇菜單[工程]、[添加模塊]命令,此模塊中定義服務(wù)器端需要用到的公共變量和公共類(lèi)型。下面是代碼的實(shí)現(xiàn)過(guò)程。'定義全局ADO對(duì)象連接,用于連接數(shù)據(jù)庫(kù)PublicDBCnnAsNewADODB.Connection'現(xiàn)存動(dòng)態(tài)生成的Winsock控件數(shù)(不包括靜態(tài)生成的那個(gè)保持幀聽(tīng)的控件)PublicMaxSvrSockAsIntegerPublicSvrPortAsString'服務(wù)器端口PublicClient(1To100)AsClType'允許連接100個(gè)客戶端PublicClMaxAsInteger'記錄客戶端連接最大下標(biāo)TypeClType'定義客戶端類(lèi)型UsrIDAsString'管理員IDindexAsInteger'通道號(hào)EndType5.1.3服務(wù)器端主界面預(yù)覽5.2客戶端設(shè)計(jì)5.2.1客戶端代碼設(shè)計(jì)1.MDIForm_Load過(guò)程和MDIForm_Unload過(guò)程PrivateSubMDIForm_Load()IfApp.PrevInstanceThen'確定該程序沒(méi)有被啟動(dòng)過(guò)MsgBox"您已經(jīng)啟動(dòng)過(guò)了本程序!"EndEndIfEndSubPrivateSubMDIForm_Unload(CancelAsInteger)IfMe.SockToSvr.State<>sckClosedThen'檢查Winsock連接是否關(guān)閉Me.SockToSvr.CloseEndIf EndSub2.客戶端Winsock觸發(fā)事件過(guò)程Close過(guò)程PrivateSubSockToSvr_Close()'狀態(tài)欄顯示服務(wù)器狀態(tài)MDIFrm.StatusBar1.Panels(1).Text="服務(wù)器連接狀態(tài):斷開(kāi)。"EndSubConnect過(guò)程PrivateSubSockToSvr_Connect()'連接服務(wù)器DimstrAsString'向服務(wù)器發(fā)送請(qǐng)求數(shù)據(jù)=Cnn,Usr_ID,Usr_Pwdstr="Cnn,"&UserNow.ID&","&UserNow.Pwd&","'檢驗(yàn)sock連接并向服務(wù)器發(fā)送數(shù)據(jù)IfMDIFrm.SockToSvr.State<>sckConnectedThenMsgBox"還沒(méi)有連接數(shù)據(jù)庫(kù),不能發(fā)送請(qǐng)求!"ExitSubEndIfMe.SockToSvr.SendDatastrEndSubDataArrival過(guò)程PrivateSubSockToSvr_DataArrival(ByValbytesTotalAsLong)DimStrArrivalAsString,StrGet()AsStringDimStartAsIntegerDimiAsInteger,jAsInteger,kAsIntegerDimLtItmAsListItem'接收數(shù)據(jù),String類(lèi)型Me.SockToSvr.GetDataStrArrival,vbStringIfLen(StrArrival)<1ThenExitSub'拆分接收到的數(shù)據(jù)StrGet()=Split(StrArrival,",",-1)'得到幀頭,按不同類(lèi)型做響應(yīng)的處理SelectCaseStrGet(0)'用戶管理Case"Usr"'按類(lèi)型處理SelectCaseStrGet(1)'添加管理員Case"01"'狀態(tài)欄顯示服務(wù)器狀態(tài)MDIFrm.StatusBar1.Panels(1).Text="服務(wù)器連接狀態(tài):響應(yīng)添加管理員。"'彈出提示框提示用戶MsgBoxStrGet(2),,"服務(wù)器響應(yīng)"'刪除管理員Case"02"'狀態(tài)欄顯示服務(wù)器狀態(tài)MDIFrm.StatusBar1.Panels(1).Text="服務(wù)器連接狀態(tài):響應(yīng)刪除管理員。"'彈出提示框提示用戶MsgBoxStrGet(2),,"服務(wù)器響應(yīng)"'查詢(xún)管理員Case"03"'狀態(tài)欄顯示服務(wù)器狀態(tài)MDIFrm.StatusBar1.Panels(1).Text="服務(wù)器連接狀態(tài):響應(yīng)查詢(xún)管理員。"'清空列表FrmUsrQuery.ListUsrResult.Clear'在列表中顯示查詢(xún)結(jié)果Fori=0ToUBound(StrGet)-2FrmUsrQuery.ListUsrResult.AddItemStrGet(i+2)NextiEndSelect'讀者管理Case"Rdr"'按類(lèi)型處理SelectCaseStrGet(1)'添加讀者Case"01"MDIFrm.StatusBar1.Panels(1).Text="服務(wù)器連接狀態(tài):響應(yīng)添加讀者。"MsgBoxStrGet(2),,"服務(wù)器響應(yīng)"'刪除讀者Case"02"MDIFrm.StatusBar1.Panels(1).Text="服務(wù)器連接狀態(tài):響應(yīng)刪除讀者。"MsgBoxStrGet(2),,"服務(wù)器響應(yīng)"'查詢(xún)讀者Case"03"MDIFrm.StatusBar1.Panels(1).Text="服務(wù)器連接狀態(tài):響應(yīng)查詢(xún)讀者。"FrmRdrQuery.ListRdrResult.ClearFori=0ToUBound(StrGet)-2FrmRdrQuery.ListRdrResult.AddItemStrGet(i+2)NextiEndSelect'圖書(shū)類(lèi)型信息Case"Type"SelectCaseStrGet(1)'添加圖書(shū)類(lèi)型Case"01"MDIFrm.StatusBar1.Panels(1).Text="服務(wù)器連接狀態(tài):響應(yīng)添加圖書(shū)類(lèi)型。"MsgBoxStrGet(2),,"服務(wù)器響應(yīng)"'刪除圖書(shū)類(lèi)別Case"02"MDIFrm.StatusBar1.Panels(1).Text="服務(wù)器連接狀態(tài):響應(yīng)刪除圖書(shū)類(lèi)別。"MsgBoxStrGet(2),,"服務(wù)器響應(yīng)"'查詢(xún)圖書(shū)類(lèi)型Case"03"MDIFrm.StatusBar1.Panels(1).Text="服務(wù)器連接狀態(tài):響應(yīng)查詢(xún)圖書(shū)類(lèi)型。"'清空列表FrmBookType.List1.Clear'添加查詢(xún)結(jié)果Fori=0ToUBound(StrGet)-2FrmBookType.List1.AddItemStrGet(i+2)NextiEndSelect'圖書(shū)信息Case"Book"SelectCaseStrGet(1)'添加圖書(shū)信息Case"01"MDIFrm.StatusBar1.Panels(1).Text="服務(wù)器連接狀態(tài):響應(yīng)添加圖書(shū)信息。"MsgBoxStrGet(2),,"服務(wù)器響應(yīng)"'查詢(xún)圖書(shū)信息Case"02"MDIFrm.StatusBar1.Panels(1).Text="服務(wù)器連接狀態(tài):響應(yīng)查詢(xún)圖書(shū)信息。"FrmBookInfo.LvBkResult.ListItems.ClearFori=0ToUBound(StrGet)-2SetLtItm=FrmBookInfo.LvBkResult.ListItems.Add()LtItm.Text=i+1LtItm.SubItems(1)=StrGet(i+2)NextiEndSelect'借閱圖書(shū)Case"Lend"MDIFrm.StatusBar1.Panels(1).Text="服務(wù)器連接狀態(tài):響應(yīng)借閱圖書(shū)。"MsgBoxStrGet(1),,"服務(wù)器響應(yīng)"'歸還圖書(shū)Case"Return"MDIFrm.StatusBar1.Panels(1).Text="服務(wù)器連接狀態(tài):響應(yīng)歸還圖書(shū)。"MsgBoxStrGet(1),,"服務(wù)器響應(yīng)"'繳納罰款Case"Pay"MDIFrm.StatusBar1.Panels(1).Text="服務(wù)器連接狀態(tài):響應(yīng)繳納罰款。"MsgBoxStrGet(1),,"服務(wù)器響應(yīng)"'圖書(shū)排名信息Case"Stat"MDIFrm.StatusBar1.Panels(1
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 科技助力下的大學(xué)食堂環(huán)境改善策略研究
- 螺紋鋼套絲機(jī)項(xiàng)目可行性研究報(bào)告立項(xiàng)報(bào)告模板
- 2025年度加裝電梯項(xiàng)目施工安全管理與事故應(yīng)急預(yù)案協(xié)議
- 八年級(jí)物理蘇科版上冊(cè)《4.3凸透鏡成像的規(guī)律》教學(xué)設(shè)計(jì)教案1
- 2025年度體育設(shè)施用地租賃協(xié)議書(shū)模板
- 科技與設(shè)計(jì)融合下的商業(yè)演講策略研究
- 二零二五年度金融機(jī)構(gòu)合同審批與風(fēng)險(xiǎn)控制管理合同
- 2025年度綠色環(huán)保車(chē)隊(duì)掛靠節(jié)能減排合同
- 賓館裝修合同標(biāo)準(zhǔn)樣本
- 2025年常壓容器項(xiàng)目投資可行性研究分析報(bào)告
- 《老年人權(quán)益保障法》
- 2025年交管12123駕駛證學(xué)法減分題庫(kù)與參考答案
- 2025下半年上海事業(yè)單位招考易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- SH∕T 3097-2017 石油化工靜電接地設(shè)計(jì)規(guī)范
- 基礎(chǔ)構(gòu)成設(shè)計(jì)全套教學(xué)課件
- Python程序設(shè)計(jì)基礎(chǔ)PPT(本科)完整全套教學(xué)課件
- (全國(guó)通用)三甲人民醫(yī)院診斷證明書(shū)請(qǐng)假條模板(廣東佛山)
- 表面工程學(xué)課件-全
- 《XX醫(yī)院安寧療護(hù)建設(shè)實(shí)施方案》
- 復(fù)件德力西質(zhì)量獎(jiǎng)自評(píng)報(bào)告2戰(zhàn)略
- 自主改善的活動(dòng)方案
評(píng)論
0/150
提交評(píng)論