畢業(yè)論文(設(shè)計)圖書管理系統(tǒng)的設(shè)計與實現(xiàn)vb_第1頁
畢業(yè)論文(設(shè)計)圖書管理系統(tǒng)的設(shè)計與實現(xiàn)vb_第2頁
畢業(yè)論文(設(shè)計)圖書管理系統(tǒng)的設(shè)計與實現(xiàn)vb_第3頁
畢業(yè)論文(設(shè)計)圖書管理系統(tǒng)的設(shè)計與實現(xiàn)vb_第4頁
畢業(yè)論文(設(shè)計)圖書管理系統(tǒng)的設(shè)計與實現(xiàn)vb_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

目錄摘要3ABSTRACT3第一章緒論411數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)簡介4111數(shù)據(jù)庫4112數(shù)據(jù)庫管理系統(tǒng)4113創(chuàng)建數(shù)據(jù)庫412圖書管理系統(tǒng)5第二章圖書館管理系統(tǒng)的總體設(shè)計521功能分析5211系統(tǒng)結(jié)構(gòu)5212模塊設(shè)計6213書籍管理部分6214讀者管理部分7215借閱管理部分8216系統(tǒng)管理部分8第三章數(shù)據(jù)庫及開發(fā)平臺831數(shù)據(jù)庫設(shè)計832MICROSOFTACCESS介紹833VISUALBASIC60介紹9第四章圖書館管理系統(tǒng)的具體實現(xiàn)941建立主窗體9411添加菜單9412添加代碼942建立添加圖書類別窗體9421建立窗體9422添加控件9423添加代碼1043建立圖書類別管理窗體11431建立窗體11432添加控件12433添加代碼1244建立添加圖書信息窗體16441建立窗體16442添加控件16443添加代碼1645建立圖書信息管理窗體19451建立窗體19452添加窗體19453添加代碼1946建立查詢圖書信息窗體23461建立窗體23462添加代碼2347建立添加借書信息窗體25471建立窗體25472添加控件25473添加代碼2648建立查詢借書信息窗體30481建立窗體30482添加控件31483添加代碼3149建立添加還書信息窗體32491建立窗體32492添加控件33493添加代碼33第五章系統(tǒng)的發(fā)布37第六章結(jié)論和總結(jié)38參考文獻39附錄39摘要圖書管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立與維護以及前端應(yīng)用程序的開發(fā)兩發(fā)面。對于前者要求建立起數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安全性好的庫。而對于后者則要求應(yīng)用程序功能完備,易使用等特點。因此本人結(jié)合開入式圖書館的要求,對ACCESS數(shù)據(jù)庫管理系統(tǒng)、VISUALBASIC進行了較深入的學習和應(yīng)用,主要完成對圖書管理系統(tǒng)的需求分析、功能模塊劃分、數(shù)據(jù)庫模式分析,并由此設(shè)計了數(shù)據(jù)庫結(jié)構(gòu)和應(yīng)用程序。系統(tǒng)運行結(jié)果證明,本文所設(shè)計的圖書管理系統(tǒng)可以滿足借閱者、圖書館工作人員和高級管理員三方面的需求?!娟P(guān)鍵詞】數(shù)據(jù)庫,ACCESS,VISUALBASIC,圖書管理ABSTRACTBOOKSMANAGEMENTTHESYSTEMISATYPICALINFORMATIONMANAGEMENTSYSTEMMIS,ITSDEVELOPMENTPRIMARILYINCLUDETHEBACKSTAGETHEDATABASEOFESTABLISHWITHTHEDEVELOPMENTTHATMAINTENANCEANDTHEHEADAPPLYTHEPROCEDURETWOASPECTREQUESTTOESTABLISHTORISETHEDATATHECONSISTENCYWITHTHELIBTHATTHECOMPLETEISSTRONG,DATATHESAFETYLIKEFORTHEFORMERBUTTHENREQUESTTHEAPPLIEDPROCEDURETHEFUNCTIONFORTHELATTERCOMPLETE,EASYUSAGEETCCHARACTERISTICSTHEREFOREONESELFCOMBINATIONOPENINTOTHEREQUESTTHATTYPELIBRARY,NEEDTOWARDSACCESSDATABASEMANAGEMENTSYSTEM,VISUALBASICPROCEEDINDEPTHLYSTUDYWITHAPPLY,PRIMARILYCOMPLETETOBOOKSMANAGESYSTEMANALYSIS,FUNCTIONMOLDTHEPIECEDIVIDETHELINE,DATABASEMODEANALYSIS,COMBINEDTOFROMHEREDESIGNEDTHEDATABASETHECONSTRUCTIONWITHAPPLIEDPROCEDURETHESYSTEMCIRCULATESTOPANOUTTHEPROOF,THISTEXTBOOKSTHATDESIGNMANAGEMENTTHESYSTEMCANSATISFYTOBORROWTHEBOOK,LIBRARYTHEWORKERMANAGETHEWITHHIGHCLASSTHREEASPECTOFDEMAND【KEYPHRASE】DATABASE,ACCESS,VISUALBASIC,BOOKMANAGEMENT第一章緒論11數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)簡介在數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)之前,對開發(fā)數(shù)據(jù)庫的基本概念應(yīng)當了解,對數(shù)據(jù)庫的結(jié)構(gòu)、開發(fā)數(shù)據(jù)庫應(yīng)用程序的步驟、開發(fā)體系及方法都應(yīng)當有相當清晰的了解和認識。數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)的目標是建立一個滿足用戶長期需求的產(chǎn)品。開發(fā)的主要過程為理解用戶的需求,然后,把它們轉(zhuǎn)變?yōu)橛行У臄?shù)據(jù)庫設(shè)計。把設(shè)計轉(zhuǎn)變?yōu)閷嶋H的數(shù)據(jù)庫,并且這些數(shù)據(jù)庫帶有功能完備、高效能的應(yīng)用。數(shù)據(jù)庫技術(shù)在計算機軟件鄰域研究中一直是非常重要的主題,產(chǎn)生于60年代,30多年來數(shù)據(jù)庫技術(shù)得到了迅速發(fā)展,并已形成較為完整的理論體系和一大批實用系統(tǒng)。并且,近年來,隨著WORLDWIDEWEBWWW的猛增及INTERNET技術(shù)的迅速發(fā)展,使得數(shù)據(jù)庫技術(shù)之時成為最熱門技術(shù)之一。111數(shù)據(jù)庫數(shù)據(jù)庫由DBMS(數(shù)據(jù)庫管理系統(tǒng))處理,DBMS則由開發(fā)人員和用戶通過應(yīng)用程序直接或間接地使用。它主要包括四個要素用戶數(shù)據(jù)、元數(shù)據(jù)、索引和應(yīng)用元數(shù)據(jù)。112數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DBMS)是指數(shù)據(jù)庫系統(tǒng)中管理數(shù)據(jù)的軟件系統(tǒng)。DBMS是數(shù)據(jù)庫系統(tǒng)的核心組成部分。對數(shù)據(jù)庫的一切操作,包括定義、更新及各種控制,都是通過DBMS進行的。DBMS總是基于某種數(shù)據(jù)模型,可以把DBMS看成是某種數(shù)據(jù)模型在計算機系統(tǒng)上的具體實現(xiàn)。根據(jù)數(shù)據(jù)模型的不同,DBMS可以分成層次型、網(wǎng)狀型、關(guān)系型、面向?qū)ο笮偷取?13創(chuàng)建數(shù)據(jù)庫數(shù)據(jù)庫模式定義了數(shù)據(jù)庫的結(jié)構(gòu)、表、關(guān)系、域和業(yè)務(wù)規(guī)則。數(shù)據(jù)庫模式是一種設(shè)計,數(shù)據(jù)庫和應(yīng)用正是建立在此基礎(chǔ)上的。域是一列可能擁有的值的集合。必須為每一個表的每一列確定域。除了數(shù)據(jù)的物理格式外,還需要確定是否有些域?qū)Ρ韥碚f是唯一的。數(shù)據(jù)庫模式的最后一個要素是業(yè)務(wù)規(guī)則,它是對需要反映在數(shù)據(jù)庫和數(shù)據(jù)庫應(yīng)用程序中的業(yè)務(wù)活動的約束。業(yè)務(wù)規(guī)則是模式的一個重要部分,因為他們指定了無論什么數(shù)據(jù)變化到達DBMS引擎,允許的數(shù)據(jù)值必須滿足的約束。不管無效的數(shù)據(jù)變化請求是來自窗體的用戶、查詢/修改請求還是應(yīng)用程序,DBMS都應(yīng)該拒絕。12圖書管理系統(tǒng)當今時代是飛速發(fā)展的信息時代。在各行各業(yè)中離不開信息處理,這正是計算機被廣泛應(yīng)用于信息管理系統(tǒng)的環(huán)境。計算機的最大好處在于利用它能夠進行信息管理。使用計算機進行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。尤其對于復雜的信息管理,計算機能夠充分發(fā)揮它的優(yōu)越性。計算機進行信息管理與信息管理系統(tǒng)的開發(fā)密切相關(guān),系統(tǒng)的開發(fā)是系統(tǒng)管理的前提。本系統(tǒng)就是為了管理好圖書館信息而設(shè)計的。圖書館作為一種信息資源的集散地,圖書和用戶借閱資料繁多,包含很多的信息數(shù)據(jù)的管理,現(xiàn)今,有很多的圖書館都是初步開始使用,甚至尚未使用計算機進行信息管理??偟膩碚f,缺乏系統(tǒng),規(guī)范的信息管理手段。盡管有的圖書館有計算機,但是尚未用于信息管理,沒有發(fā)揮它的效力,資源閑置比較突出,這就是管理信息系統(tǒng)的開發(fā)的基本環(huán)境。數(shù)據(jù)處理手工操作,工作量大,出錯率高,出錯后不易更改。圖書館采取手工方式對圖書借閱情況進行人工管理,由于信息比較多,圖書借閱信息的管理工作混亂而又復雜;一般借閱情況是記錄在借書證上,圖書的數(shù)目和內(nèi)容記錄在文件中,圖書館的工作人員和管理員也只是當時對它比較清楚,時間一長,如再要進行查詢,就得在眾多的資料中翻閱、查找了,造成查詢費時、費力。如要對很長時間以前的圖書進行更改就更加困難了。基于這此問題,我認為有必要建立一個圖書管理系統(tǒng),使圖書管理工作規(guī)范化,系統(tǒng)化,程序化,避免圖書管理的隨意性,提高信息處理的速度和準確性,能夠及時、準確、有效的查詢和修改圖書情況。第二章圖書館管理系統(tǒng)的總體設(shè)計21功能分析211系統(tǒng)結(jié)構(gòu)開發(fā)本系統(tǒng)的總體任務(wù)是實現(xiàn)圖書管理的系統(tǒng)化和自動化,幫助圖書管理人員更好更高效地完成圖書管理工作。本系統(tǒng)要完成的功能有書籍管理部分這一部分包括書籍類別管理和書籍信息管理兩部分。其中,書籍類別管理包括添加書籍類別、修改書籍類別等書籍信息管理包括書籍信息的添加,書籍信息的修改、書籍信息的查詢、書籍信息的刪除等。讀者管理部分這一部分包括讀者類別管理和讀者信息管理兩部分。其中,讀者類別管理包括添加讀者類別、修改讀者類別等讀者信息管理包括添加讀者信息、修改讀者信息、刪除讀者信息、查詢讀者信息等。借閱管理部分這一部分包括借書信息管理和還書信息管理兩部分。其中,借書信息管理包括借書信息的添加、借書信息的修改、借書信息的查詢等還書信息管理部分包括還書信息的添加、還書信息的修改、還書信息的查詢等系統(tǒng)管理包括修改系統(tǒng)用戶密碼、增加新用戶以及退出系統(tǒng)等。212模塊設(shè)計根據(jù)上面所介紹的主要功能,對這個系統(tǒng)進行分析,得到如圖1所示的系統(tǒng)功能模塊圖。213書籍管理部分書籍管理部分包括書籍信息管理和書籍類別管理,其功能是實現(xiàn)對各部分數(shù)據(jù)內(nèi)容的添加、修改、刪除等操作。各管理部分的明細如下圖1系統(tǒng)功能模塊圖書籍信息管理包括書籍信息的添加、書籍信息的修改、書籍信息的查詢和書籍信息的刪除4部分功能。其中,書籍信息包括圖書編號、書名、圖書類別、作者、出版社、出版日期、登記日期以及是否已被借出。2書籍類別管理包括書籍類別的添加、書籍類別的修改、書籍類別的刪除3部分功能。其中,書籍類別包括類別名稱和類別編號兩部分。214讀者管理部分讀者管理部分包括讀者信息管理和讀者類別管理,其功能是實現(xiàn)對各部分數(shù)據(jù)內(nèi)容的添加、修改、刪除等操作。各管理部分的明細如下1讀者信息管理包括讀者信息的添加、讀者信息的修改、讀者信息的查詢和讀者信息的刪除4部分功能。其中,讀者信息包括讀者姓名、讀者編號、性別、讀者類別、工作單位、家庭住址、電話號碼、登記日期和己借書數(shù)量。讀者類別管理包括讀者類別的添加、讀者類別的修改、讀者類別的刪除3部分功能。其中,讀者類別包括種類名稱、借書數(shù)量、借書期限和有效期限4部分。圖書管理系統(tǒng)書籍管理部分讀者管理部分借閱管理部分系統(tǒng)管理讀者書籍信息管理書籍類別管理讀者類別管理讀者信息管理還書管理借書管理修改密碼增加用戶書籍類別添加書籍類別修改添加讀者類別添加讀者信息查詢讀者信息查詢讀者信息刪除讀者信息修改讀者信息添加讀者信息借書信息修改借書信息添加還書信息修改還書信息添加還書信息查詢借書信息查詢書籍信息修改書籍信息查詢書籍信息刪除書籍信息添加215借閱管理部分借閱管理部分包括借書管理和還書管理,其功能是實現(xiàn)對各部分數(shù)據(jù)內(nèi)容的添加和查詢操作。各管理部分的明細如下(1)借書管理包括添加借書信息和查詢借書信息2部分功能。其中,借閱信息包括借閱編號、讀者編號、讀者姓名、書籍編號、書籍名稱、出借日期和還書日期。2還書管理實現(xiàn)添加還書信息功能。其中,還書信息與借閱信息各部分明細相同。216系統(tǒng)管理部分設(shè)置操作人員。系統(tǒng)初始設(shè)置一個超級用戶名和密碼,操作人員可以利用這個超級用戶名和密碼登錄,之后,可以設(shè)置其他的超級用戶名稱,也可以設(shè)置權(quán)限用戶,同時也設(shè)置了這個用戶可以使用的權(quán)限。此外,在系統(tǒng)登錄界面中輸入密碼與用戶名不符3次將自動退出登錄。第三章數(shù)據(jù)庫及開發(fā)平臺31數(shù)據(jù)庫設(shè)計根據(jù)上面分析的系統(tǒng)的各種功能要求,可以很容易想到系統(tǒng)所需的數(shù)據(jù)庫應(yīng)該按照如下思路設(shè)計書籍類別、書籍信息、讀者類別、讀者信息和圖書借閱部分等應(yīng)該各自作為一個表存在,此外,系統(tǒng)管理員的信息單獨使用一個表來記錄。本系統(tǒng)服務(wù)器端采用WINDOWS2000作為操作系統(tǒng),同時配置ACCESS數(shù)據(jù)庫服務(wù)器,用于數(shù)據(jù)的存儲和處理,客戶端采用WINDOWS2000操作系統(tǒng)。前臺開發(fā)工具采用VISUALBASIC,后臺數(shù)據(jù)庫連接是采用ACCESS數(shù)據(jù)庫服務(wù)器。(1)MICROSOFTACCESS建立一個數(shù)據(jù)庫我們有多種選擇,在本系統(tǒng)中,作為圖書館管理系統(tǒng)的一個比較小的應(yīng)用系統(tǒng),它所產(chǎn)生和處理的數(shù)據(jù)量也比較小。因此,沒有必要使用像SQLSERVER和ORACLE這樣的大型數(shù)據(jù)庫。MICROSOFTOFFICE中的ACCESS數(shù)據(jù)庫在計算機上的應(yīng)用比較普及,是開發(fā)小型數(shù)據(jù)庫系統(tǒng)的比較理想的選擇,所以,在本系統(tǒng)中我選擇了ACCESS數(shù)據(jù)庫。與其他數(shù)據(jù)庫系統(tǒng)相比,ACCESS更加簡單易學,普通的計算機用戶可以很快的掌握它。ACCESS2000的功能十分強大,利用它可以方便地實現(xiàn)對信息保存、維護、查詢、統(tǒng)計、打印、交流、發(fā)布,而且它可以方便地與OFFICE其他組件交流數(shù)據(jù),這些功能對一般用戶而言已經(jīng)足夠(2)VISUALBASICMICROSOFTVISUALBASIC是可視化的,面向?qū)ο蟮?由事件驅(qū)動的結(jié)構(gòu)化高級程序設(shè)計語言它提供了最迅速,最簡潔的開發(fā)應(yīng)用程序的方法VISUAL的中文意思是可視的,直觀的,看得見的,形象化的這里的VISUAL指直觀的開發(fā)應(yīng)用程序界面的方法,只需將系統(tǒng)提供的標準控件手臂放到屏幕窗體上,VISUALBASIC就會自動地生成相應(yīng)控件的程序代碼和其屬性數(shù)據(jù),而不需要用戶去編寫大量的界面程序代碼BASIC指的是BASIC語言,為BEGINNERALLPURPOSESYMBOLICINSTRUCTIONCODE一詞的縮寫,意思是初學者通用符號指令代碼該語言在發(fā)展史上是使用最為廣泛的程序合計語言,它易學,易懂,深受廣大初學者的歡迎VISUALBASIC在原有BASIC語言的基礎(chǔ)上發(fā)展成為易學,易掌握的,功能強大的最新程序設(shè)計語言第四章圖書館管理系統(tǒng)的具體實現(xiàn)41建立主窗體411添加菜單使用菜單編輯器編輯系統(tǒng)主菜單。412添加代碼主窗體中的代碼不多,基本上都是實現(xiàn)單擊某個菜單選項即彈出相應(yīng)窗體的語句,這些語句將分別在各個窗體中介紹。單擊“系統(tǒng)管理“一“退出系統(tǒng)“菜單,關(guān)閉系統(tǒng)代碼如下。PRIVATESUBEXIT_SYS_CLICKENDENDSUB42建立添加圖書類別窗體421建立窗體添加一個窗體,并按照表所示設(shè)置窗體的屬性。422添加控件添加圖書類別窗體由2個TEXT控件、2個LABEL控件、2個COMMANDBUTTON控件組成。其中,2個LABEL控件作為標識,2個TEXT控件接收用戶輸入,2個COMMANDBUTTON控件作為“確定“和“取消“按鈕。添加這些控件,并按照表所示設(shè)置這些控件的屬性。423添加代碼當單擊“圖書管理/圖書類別管理/添加圖書類別“菜單時,彈出如圖所示窗體。代碼如下。PRIVATESUBADD_BOOK_STYLE_CLICKFRMADDBOOKSTYLESHOWENDSUB當單擊“確定“按鈕時,首先檢查輸入的圖書類型和種類編號是否為空,代碼如下。PRIVATESUBCOMMAND1_CLICKDIMSQLASSTRINGIFTRIMTEXT1TEXT”THENMSGBOX”圖書種類不能為空”,VBOKONLYVBEXCLAMATION,”TEXT1SETFOCUSEXITSUBENDIFIFTRIMTEXT2TEXT”THENMSGBOX”種類不能為空”,VBOKONLYVBEXCLAMATION,”TEXT1SETFOCUSEXITSUBENDIF如果不為空,則檢查類別名稱是否有重復,需要打開圖書類別表,先定義一個字符串類型的變量和一個RECORDSET對象變量。PRIVATESUBCOMMAND1_CLICKDIMRS_BOOKSYTLEASNEWADODBRECORDSETDIMSQLASSTRINGIFTRIMTEXT1TEXT”THEN使用RECORDSET對象的OPEN方法打開數(shù)據(jù)表。PRIVATESUBCOMMAND1_CLICKENDIFSQL”SELECTFROM圖書類別WHERE類別名稱“EXITSUBENDIFENDSUB當單擊“取消“時,則退出此窗體,代碼如下。PRIVATESUBCOMMAND2_CLICKUNLOADMEENDSUB以上就是添加圖書類別窗體的實現(xiàn)過程。43建立圖書類別管理窗體修改、刪除類別431建立窗體添加一個窗體,并按照表1所示設(shè)置窗體的屬性。表1圖書類別管理窗體的屬性設(shè)置窗體屬性取值NAMEFRMMODIFYBOOKSTYLECAPTION圖書類別管理STARTUPPOSITION2CNETERSCREENMAXBUTTONFALSE432添加控件圖書類別管理窗體由1個DATAGRID控件、2個FRAME控件、4個COMMANDBUTTON控件組成。其中,2個FRAME控件作為容器,分別用來放置DATAGRID控件和COMMANDBUTTON控件,4個COMMANDBUTTON控件作為“修改類別“、“刪除類別“、“更新“和“取消“按鈕。這一部分需要用到DATAGDD控件。用戶自行將其添加到控件欄內(nèi)。方法是單擊“工程“一“部件“菜單,在窗體中找到“MICROSOFTDATAGRIDCONTROL60?!斑x項并在其前面的方框內(nèi)打勾。添加完后,在控件欄內(nèi)應(yīng)該顯示DATAGRID的圖標。添加這些控件,并按照表2所示設(shè)置這些控件的屬性。表2控件的屬性設(shè)置控件屬性屬性取值FRAME1CAPTION空FRAME2CAPTION空名稱CMDMODIFYCOMMAND1CAPTION修改類別名稱CMDDELCOMMAND2CAPTION刪除類別名稱CMDUPDATECOMMAND3CAPTION更新名稱CMDCANCELCOMMAND2CAPTION取消DATAGDD控件的屬性不需要做任何修改,取默認值即可。433添加代碼當單擊“圖書管理/圖書類別管理/修改圖書類別“菜單時,彈出如圖所示的窗體。代碼如下PRIVATESUBMODIFY_BOOK_STYLE_CLICKFRMMODIFYBOOKSTYLESHOWENDSUB當單擊“圖書管理/圖書類別管理/刪除圖書類別“菜單時,彈出窗體。代碼如下。PRIVATESUBDEL_BOOK_STYLE_CLICKFRMMDIFYBOOKSTYLESHOWENDSUB在窗體力加載時,首先打開數(shù)據(jù)表。在通用變量聲明部分定義一個RECORDSET數(shù)據(jù)對象,代碼如下。OPTIONEXPLICITDIMRS_READERASNEWADODBRECORDSET在FORM_LOAD事件中首先打開圖書類別數(shù)據(jù)表,使用RECORDSET對象的OPEN方法,代碼如下。PRIVATESUBFORM_LOCKDIMSQLASSTRINGONERRORGOTOLOADERRORSQL”SELECTFROM圖書類別”RS_READERCURSOLOCATIONADUSECLIENTRS_READEROPENSQL,CONN,ADOPENKEYSET,ADLOCKPESSIMISTIC打開數(shù)據(jù)庫窗體剛剛加載時,“更新”按鈕應(yīng)設(shè)置為不可用,即將其ENABLED書行為FALSEPRIVATESUBFORM_LOADCMDUPDATEENABLEDFALSE設(shè)置DATAGRID控件不可更改,即將其ALLOWADDNEW、ALLOWDELETE、ALLOWUPDATE屬性設(shè)置為FDSE。PRIVATESUBFORM_LOAD設(shè)定DATAGRID控件屬性DATAGRID1ALLOWADDNEWFALSE不可增加DATAGRID1ALLOWDELETEFALSE不可刪除DATAGRID1ALLOWUPDATEFALSE使用DATAGRID控件顯示圖書類別數(shù)據(jù)表中的數(shù)據(jù)信息,只需將該控件的DATASOURCE屬性設(shè)置為RECORDSET對象即可PRIVATESUBFORM_LOADSETDATAGRID1DATASOURCERS_READERENDSUB添加錯誤處理部分的語句如下。PRIVATESUBFORM_LOADSETDATAGRID1DATASOURCERS_READEREXITSUBLOADERRORMSGBOXERRDESCRIPTIONENDSUB雙擊“修改類別“按鈕,添加代碼以實現(xiàn)這部分的功能。當窗體處于修改類別狀態(tài)時,該按鈕和刪除按鈕是不可用的,將其ENABLED屬性設(shè)置為FALSE,更新和取消按鈕是可用的,將其ENABLED屬性設(shè)置位TRUE。PRIVATESUBCMDMODIFY_CLICKDIMANSWERASSTRINGONERRORGOTOCMDMODIFYCMDDELENABLEDFALSECMDMODIFYENABLEDFALSECMDUPDATEENABLEDTRUECMDCANCELENABLEDTRUE當窗體處于修改類別狀態(tài)時,DATAGRID控件的ALLOWUPDATE屬性應(yīng)該是可用的,將其設(shè)置位TRUE。PRIVATESUBCMDMODIFY_CLICKCMDCANCELENABLEDTRUEDATAGRID1ALLOWUPDATETRUECMDMODIFY添加錯誤處理語句。PRIVATESUBCMDMODIFY_CLICKDIMANSWERASSTRINGONERRORGOTOCMDMODIFYCMDMODIFYIFERRNUMBER0THENMSGBOXERRDESCRIPTIONENDIFENDSUB修改數(shù)據(jù)后,單擊“更新“按鈕,則系統(tǒng)將會更新當前的數(shù)據(jù)。使用UPDATE方法,代碼如下。PRIVATESUBCMDUPDATE_CLICKIFNOTISNULLDATAGRID1BOOKMARKTHENRS_READERUPDATEENDIF然后將各個按鈕的狀態(tài)恢復到修改前。PRIVATESUBCMDUPDATE_CLICKCMDMODIFYENABLEDTRUECMDDELENABLEDTRUECMDCANCELENABLEDFALSECMDUPDATEENABLEDFALSEDATAGRID1ALLOWUPDATEFALSEMSGBOX“修改成功“,VBOKONLYVBEXCLAMATION,“ENDSUB修改數(shù)據(jù)后,如果想放棄修改,則單擊“取消“按鈕即可。雙擊“取消“按鈕,添加代碼以實現(xiàn)這部分功能。將按鈕復原,使用CANCELUPDATE方法取消更新,重新顯示數(shù)據(jù),并將表格控件的A11OWADDNEW和ALLOWUPDATE屬性設(shè)置為FALSE。PRIVATESUBCMDCANCEL_CLICKRS_READERCANCELUPDATEDATAGRID1REFRESHDATAGRID1ALLOWADDNEWFALSEDATAGRID1ALLOWUPDATEFALSECMDMODIFYENABLEDTRUECMDDELENABLEDTRUECMDCANCELENABLEDFALSECMDUPDATEENABLEDFALSEENDSUB雙擊“刪除類別“按鈕,添加代碼以實現(xiàn)這部分的功能。首先提示用戶是否確定刪除,定義一個字符串變量接受用戶的回答。PRIVATESUBCMDDEL_CLICKDIMANSWERASSTRINGONERRORGOTODELERRORANSWERMSGBOX“確定要刪除嗎“,VBYESNO,“如果回答“是”,將當前表格的ALLOWDELETE屬性設(shè)置為TRUE使用RECORDSET對象的方法將當前的記錄刪除,使用UPDATE方法將數(shù)據(jù)表更新PRIVATESUBCMDDEL_CLICKDIMANSWERASSTRINGONERRORGOTODELERRORANSWERMSGBOX“確定要刪除嗎“,VBYESNO,“IFANSWERVBYESTHENDATAGRID1ALLOWDELETETRUERS_READERDELETERS_READERUPDATE這時數(shù)據(jù)表發(fā)生了變化,應(yīng)該將DATAGRID刷新以顯示這一變化,同時提示用戶刪除成功,并將ALLOWDELETE屬性設(shè)置為FALSE。PRIVATESUBCMDDEL_CLICKRS_READERUPDATEDATAGRID1REFRESH如果用戶回答“否“,則退出此過程。PRIVATESUBCMDDEL_CLICKELSEEXITSUBENDIF當窗體卸載的時候,將DATAGID控件的DATASOURCE屬性設(shè)置為NOTHING,同時關(guān)閉數(shù)據(jù)對象。PRIVATESUBFORM_UNLOADCANCELASINTEGERSETDATAGRID1DATASOURCENOTHINGRS_READERCLOSEENDSUB以上就是圖書類別管理窗體的實現(xiàn)過程。44建立添加圖書信息窗體441建立窗體添加一個窗體。442添加控件添加圖書信息窗體由1個FRAME控件、1個COMBOBOX控件、2個COMMANDBUTTON控件、6個TEXT控件和7個LABEL控件組成。其中,7個LABEL控件作為標識,6個TEXT控件和1個COMBOBOX控件用于接收用戶輸入,2個COMMANDBUTTON控件作為“確定“和“取消“按鈕。添加這些控件,并設(shè)置這些控件的屬性。添加好控件的窗體效果如圖所示。443添加代碼當單擊“圖書管理/圖書信息管理/添加圖書信息“菜單時,彈出如上圖所示窗體。設(shè)計代碼如下。PRIVATESUBADD_BOOK_INFO_CLICKFRMADDBOOKINFOSHOWENDSUB窗體加載時,首先將所有可選的圖書類別添加到列表框中。定義一個RECORDSET對象用來打開數(shù)據(jù)表。PRIVATESUBFORM_LOADDIMRS_LEIBIEASNEWADODBRECORDSETDIMSQLASSTRINGSQL“SELECTFROM圖書類別“RS_LEIBIEOPENSQL,CONN,ADOPENKEYSET,ADLOCKPESSIMISTIC使用RECORDSET對象的MOVEFIRST方法將數(shù)據(jù)記錄移動到第一條,并使用循環(huán)語句將所有的圖書類別添加到列表框中。PRIVATESUBFORM_LOADRS_LEIBIEMOVEFIRSTDOWHILENOTRS_LEIBIEEOFCOMBO1ADDITEMRS_LEIBIEFIELDS0RS_LEIBIEMOVENEXTLOOPRS_LEIBIECLOSEENDSUB當單擊“確定“按鈕時,首先檢查輸入的圖書類型、圖書編號和書名是否為空,代碼如下。PRIVATESUBCOMMAND1_CLICKDIMSQLASSTRINGIFTRIMCOMBO1TEXT“THENMSGBOX“請選擇圖書種類“,VBOKONLYVBEXCLAMATION,“COMBO1SETFOCUSEXITSUBENDIFIFTRIMTEXT1TEXT“THENMSGBOX“圖書編號不能為空“,VBOKONLYVBEXCLAMATION,“TEXT1SETFOCUSEXITSUBENDIFIFTRIMTEXT2TEXT“THENMSGBOX“書名不能為空“,VBOKONLYVBEXCLAMATION,“TEXT2SETFOCUSEXITSUBENDIF然后檢查輸入的日期的格式是否正確,如果不正確則給出提示,代碼如下。PRIVATESUBCOMMAND1_CLICKIFNOTISDATETEXT5TEXTTHENMSGBOX“請按照YYYYMMDD格式輸入日期“,VBOKONLYVBEXCLAMATION,“TEXT5SETFOCUSEXITSUBENDIFIFNOTISDATETEXT6TEXTTHENMSGBOX“請按照YYYYMMDD格式輸入日期“,VBOKONLYVBEXCLAMATION,“TEXT6SETFOCUSEXITSUBENDIF檢查圖書編號是否有重復,需要打開書籍信息表,先定義一個字符串類型的變量和一個RECORDSET對象變量。PRIVATESUBCOMMAND1_CLICKDIMRS_ADDBOOKASNEWADODBRECORDSETDIMSQLASSTRING使用RECORDSET對象的OPEN方法打開數(shù)據(jù)表。PRIVATESUBCOMMAND1_CLICKENDIFSQL“SELECTFROM書籍信息WHERE書籍編號“TEXT1TEXT“RS_ADDBOOKOPENSQL,CONN,ADOPENKEYSET,ADLOCKPESSIMISTICIFRS_ADDBOOKEOFTHEN如果沒有重復,此時RECORDSET對象的EOF屬性應(yīng)改為TRUE,此時將新的數(shù)據(jù)添加到數(shù)據(jù)庫,并給出提示代碼如下。IFRS_ADDBOOKEOFTHENRS_ADDBOOKADDNEWRS_ADDBOOKFIELDS0TRIMTEXT1TEXTRS_ADDBOOKFIELDS1TRIMTEXT2TEXTRS_ADDBOOKFIELDS2TRIMCOMBO1TEXTRS_ADDBOOKFIELDS3TRIMTEXT3TEXTRS_ADDBOOKFIELDS4TRIMTEXT4TEXTRS_ADDBOOKFIELDS5TRIMTEXT5TEXTRS_ADDBOOKFIELDS6TRIMTEXT6TEXTRS_ADDBOOKFIELDS7“否“RS_ADDBOOKUPDATEMSGBOX“添加書籍信息成功“,VBOKONLY,“RS_ADDBOOKCLOSEELSE如果有重復,則給出提示,然后將焦點設(shè)置給TEXT1,并將所有的文本框清空,代碼如下。PRIVATESUBCOMMAND1_CLICKELSEMSGBOX“圖書編號重復“,VBOKONLYVBEXCLAMATION,“TEXT1SETFOCUSTEXT1TEXT“RS_ADDBOOKCLOSEEXITSUBENDIFENDSUB當單擊“取消“時,則退出此窗體,代碼如下。PRIVATESUBCOMMAND2_CLICKUNLOADMEENDSUB以上就是添加圖書信息窗體的實現(xiàn)過程。45建立圖書信息管理窗體451建立窗體452添加控件圖書信息管理窗體由1個DATAGDD控件、2個FRAME控件、4個COMMANDBUTTON控件組成。其中,2個FRAME控件作為容器,分別用來放置DATAGRID控件和COMMANDBUTTON控件,4個COMMANDBUTTON控件作為“修改信息“、“刪除信息“、“更新“和“取消“按鈕。添加這些控件,并設(shè)置這些控件的屬性。DATAGRID控件的屬性不需要做任何修改,取默認值即可。添加好控件的窗體效果如圖所示。453添加代碼當單擊”圖書管理/圖書信息管理/修改圖書信息“菜單時,彈出上圖窗體。代碼如下。PRIVATESUBMODIFY_BOOK_INFO_CLICKFRMMODIFYBOOKINFOSHOWENDSUB當單擊“圖書管理/圖書信息管理/刪除圖書信息“菜單時,彈出上面所示窗體代碼如下。PRIVATESUBDEL_BOOK_INFO_CLICKFRMMODIFYBOOKINFOSHOWENDSUB在窗體加載時,首先打開數(shù)據(jù)表。在通用變量聲明部分定義一個RECORDSET數(shù)據(jù)對象,代碼如下。OPTIONEXPLICITDIMRS_BOOKASNEWADODBRECORDSET在FORM_LOAD事件中首先打開書藉信息數(shù)據(jù)表,使用RECORDSET對象的方法,代碼如下。PRIVATESUBFORM_LOADDIMSQLASSTRINGONERRORGOTOLOADERRORSQL“SELECTFROM書籍信息“RS_BOOKCURSORLOCATIONADUSECLIENTRS_BOOKOPENSQL,CONN,ADOPENKEYSET,ADLOCKPESSIMISTIC打開數(shù)據(jù)庫窗體剛剛加載時,“更新”按鈕應(yīng)設(shè)置為不可用,即將其行為FALSEPRIVATESUBFORM_LOADCMDUPDATEENABLEDFALSE設(shè)置DATAGRID控件不可更改,即將其ALLOWADDNEW、ALLOWDELETE、ALLOWUPDATE屬性設(shè)置為FALSE。PRIVATESUBFORM_LOAD設(shè)定DATAGRID控件屬性DATAGRID1ALLOWADDNEWFALSE不可增加DATAGRID1ALLOWDELETEFALSE不可刪除DATAGRID1ALLOWUPDATEFALSE使用DATAGRID控件顯示書藉信息數(shù)據(jù)表中的數(shù)據(jù)信息,只需將該控件的DATASOURCE屬性設(shè)置為RECORDSET對象即可。PRIVATESUBFORM_LOADSETDATAGRID1DATASOURCERS_BOOKENDSUB添加錯誤處理部分的語句如下。PRIVATESUBFORM_LOADSETDATAGRID1DATASOURCERS_BOOKEXITSUBLOADERRORMSGBOXERRDESCRIPTIONENDSUB雙擊“修改信息“按鈕,添加代碼以實現(xiàn)這部分的功能。當窗體處于修改信息狀態(tài)時,該按鈕和刪除按鈕是不可用的,將其ENABLED屬性設(shè)置為FALSE,更新和取消按鈕是可用的,將其ENABLED寓性設(shè)置位TRUE。PRIVATESUBCMDMODIFY_CLICKDIMANSWERASSTRINGONERRORGOTOCMDMODIFYCMDDELENABLEDFALSECMDMODIFYENABLEDFALSECMDUPDATEENABLEDTRUECMDCANCELENABLEDTRUE當窗體處于修改信息狀態(tài)時,DATAGRID控件的A1IOWUPDATE屬性應(yīng)該是可用的,將其設(shè)置位TRUE。PRIVATESUBCMDMODIFY_CLICKCMDCANCELENABLEDTRUEDATAGRID1ALLOWUPDATETRUECMDMODIFY添加錯誤處理語句。PRIVATESUBCMDMODIFY_CLICKDIMANSWERASSTRINGONERRORGOTOCMDMODIFYCMDMODIFYIFERRNUMBER0THENMSGBOXERRDESCRIPTIONENDIFENDSUB修改數(shù)據(jù)后,單擊“更新“按鈕,則系統(tǒng)將會更新當前的數(shù)據(jù)。使用UPDATE方法,代碼如下。PRIVATESUBCMDUPDATE_CLICKIFNOTISNULLDATAGRID1BOOKMARKTHENRS_BOOKUPDATEENDIF然后將各個按鈕的狀態(tài)恢復到修改前。PRIVATESUBCMDUPDATE_CLICKCMDMODIFYENABLEDTRUECMDDELENABLEDTRUECMDCANCELENABLEDFALSECMDUPDATEENABLEDFALSEDATAGRID1ALLOWUPDATEFALSEMSGBOX“修改成功“,VBOKONLYVBEXCLAMATION,“ENDSUB修改數(shù)據(jù)后,如果想放棄修改,則單擊“取消“按鈕即可。雙擊“取消“按鈕,添加代碼以實現(xiàn)這部分功能。將按鈕復原,使用CANCELUPDATE方法取消更新,重新顯示數(shù)據(jù),并將表格控件的ALLOWADDNEW和ALLOWUPDATE屬性設(shè)置為FALSE。PRIVATESUBCMDCANCEL_CLICKRS_BOOKCANCELUPDATEDATAGRID1REFRESHDATAGRID1ALLOWADDNEWFALSEDATAGRID1ALLOWUPDATEFALSECMDMODIFYENABLEDTRUECMDDELENABLEDTRUECMDCANCELENABLEDFALSECMDUPDATEENABLEDFALSEENDSUB雙擊“刪除信息“按鈕,添加代碼以實現(xiàn)這部分的功能。首先提示用戶是否確定刪除,定義一個字符串變量接受用戶的回答。PRIVATESUBCMDDEL_CLICKDIMANSWERASSTRINGONERRORGOTODELERRORANSWERMSGBOX“確定要刪除嗎“,VBYESNO,“如果回答“是“,則將當前表格的ALLOWDELETE屬性設(shè)置為TRUE。使用RECORDSET對象的DELETE方法將當前的記錄刪除,使用UPDATE方法將數(shù)據(jù)表更新。PRIVATESUBCMDDEL_CLICKDIMANSWERASSTRINGONERRORGOTODELERRORANSWERMSGBOX“確定要刪除嗎“,VBYESNO,“IFANSWERVBYESTHENDATAGRID1ALLOWDELETETRUERS_BOOKDELETERS_BOOKUPDATE這時數(shù)據(jù)表發(fā)生了變化,應(yīng)該將DATAGRID刷新以顯示這一變化,同時提示用戶刪除成功,并將ALLOWDELETE屬性設(shè)置為FALSE。PRIVATESUBCMDDEL_CLICKRS_BOOKUPDATEDATAGRID1REFRESH如果用戶回答“否“,則退出此過程。PRIVATESUBCMDDEL_CLICKELSEEXITSUBENDIF當窗體卸載的時候,將DAMGDD控件的DATASOURCE屬性設(shè)置為NOTHING,同時關(guān)閉數(shù)據(jù)對象。PRIVATESUBFORM_UNLOADCANCELASINTEGERSETDATAGRID1DATASOURCENOTHINGRS_BOOKCLOSEENDSUB以上就是圖書信息管理窗體的實現(xiàn)過程。46建立查詢圖書信息窗體461建立窗體添加一個窗體及控件,查詢圖書信息管理窗體由1個DATAGDD控件、5個CHECKBOX控件、1個COMBOBOX控件、4個TEXT控件、3個COMMANDBUTTON控件組成。其中,3個COMMANDBUTTON控件作為“查詢“、“取消“和“借這本書“按鈕,復選框用來確定查詢的方式。DATAGRID控件的屬性不需要做任何修改,取默認值即可。添加好控件的窗體效果如圖所示。462添加代碼當單擊“圖書管理/圖書信息管理/查詢圖書信息“菜單時,彈出如上窗體。代碼如下。PRIVATESUBFIND_BOOK_INFO_CLICKFRMFINDBOOKSHOWENDSUB窗體加載時,首先將所有可選的圖書類別添加到列表框中。定義一個RECORDSET對象用來打開數(shù)據(jù)表。PRIVATESUBFORM_LOADDIMRS_FINDASNEWADODBRECORDSETDIMSQLASSTRINGSQL“SELECTFROM圖書類別“RS_FINDOPENSQL,CONN,ADOPENKEYSET,ADLOCKPESSIMISTIC使用RECORDSET對象的MOVEFIRST方法將數(shù)據(jù)記錄移動到第一條,并使用循環(huán)語句將所有的圖書類別添加到列表框中。PRIVATESUBFORM_LOADRS_FINDMOVEFIRSTIFNOTRS_FINDEOFTHENDOWHILENOTRS_FINDEOFCOMBO1ADDITEMRS_FINDFIELDS0RS_FINDMOVENEXTLOOPCOMBO1LISTINDEX0ENDIFRS_FINDCLOSEENDSUB當單擊“確定“按鈕時,執(zhí)行查詢語句。逐個檢查各個復選框是否被選中,如果被選中,則設(shè)定SQL語句,使用WHERE限制數(shù)據(jù)檢索的條件,代碼如下。PRIVATESUBCOMMAND1_CLICKDIMRS_FINDBOOKASNEWADODBRECORDSETDIMSQLASSTRINGIFCHECK1VALUEVBCHECKEDTHENSQL“書名“TRIMTEXT1TEXT“ENDIFIFCHECK2VALUEVBCHECKEDTHENIFTRIMSQL“THENSQL“類別“TRIMCOMBO1TEXT“ELSESQLSQL“AND書名“TRIMCOMBO1TEXT“ENDIFENDIFIFCHECK3VALUEVBCHECKEDTHENIFTRIMSQL“THENSQL“作者“TRIMTEXT2TEXT“ELSESQLSQL“AND作者“TRIMTEXT2TEXT“ENDIFENDIFIFCHECK4VALUEVBCHECKEDTHENIFTRIMSQL“THENSQL“出版社“TRIMTEXT3TEXT“ELSESQLSQL“AND出版社“TRIMTEXT3TEXT“ENDIFENDIF如果沒有選擇任何查詢方式,則此時的SQL變量應(yīng)該為空,則給出提示,要求選擇查詢方式。PRIVATESUBCOMMAND1_CLICKENDIFIFTRIMSQL“THENMSGBOX“請選擇查詢方式“,VBOKONLYVBEXCLAMATIONEXITSUBENDIF執(zhí)行查詢語句,將DATAGRID設(shè)置為不可更新或刪除信息,同時將其DATASOURCE屬性設(shè)置位RECORDSET對象,代碼如下。PRIVATESUBCOMMAND1_CLICKENDIFSQL“SELECTFROM書籍信息WHERE“SQLRS_FINDBOOKCURSORLOCATIONADUSECLIENTRS_FINDBOOKOPENSQL,CONN,ADOPENKEYSET,ADLOCKPESSIMISTICDATAGRID1ALLOWADDNEWFALSEDATAGRID1ALLOWDELETEFALSEDATAGRID1ALLOWUPDATEFALSESETDATAGRID1DATASOURCERS_FINDBOOKENDSUB當單擊“取消“時,則退出此窗體,代碼如下。PRIVATESUBCOMMAND2_CLICKUNLOADMEENDSUB選擇需要借閱的圖書,單擊“借這本書“按鈕,可打開借書窗體,將在借書窗體的建立章節(jié)中加以介紹。以上就是查詢圖書信息窗體的實現(xiàn)過程。47建立添加借書信息窗體471建立窗體添加一個窗體。472添加控件添加借書信息窗體由2個FRAME控件、16個LABEL控件、2個COMBOBOX控件、2個COMMANDBUTTON控件組成。其中,2個COMMANDBUTTON控件作為“確定“和“取消“按鈕。添加這些控件??丶傩詫傩匀≈礚ABEL1CAPTION編號LABEL2CAPTION書名LABEL3CAPTION作者LABEL4CAPTION出版日期LABEL5CAPTION類別LABEL6CAPTION出版社LABEL7CAPTION登記日期LABEL15CAPTION讀者編號LABEL16CAPTION讀者姓名COMMAND1CAPTION確定COMMAND2CAPTION取消COMBO1TEXT選擇編號COMBO2TEXT選擇姓名其中,LABEL8LABEL14取默認值即可。添加好控件的窗體效果如下圖所示。借書窗體473添加代碼前面介紹到,在查詢圖書信息窗體中有個“借這本書“的按鈕,當選擇好要借的圖書后,單擊這個按鈕,即可打開這個窗體。下面雙擊這個按鈕,實現(xiàn)其功能。首先添加一個公共模塊,并在其中定義一個公共的變量BOOK_NUM用來記錄要借的圖書的編號OPTIONEXPLICITPUBLICBOOK_NUMASSTRING要借的書的編號添加公共模塊的方法是單擊菜單“工程“一“添加模塊“,在打開的窗體中單擊“打開“按鈕,即可添加好一個公共模塊。如果用戶選擇了某條書籍的信息,則將這本書的編號賦給這個變量。獲取表格某一單元格的方法是使用指定列的CELLVALUE屬性。該屬性的參數(shù)是一個書簽BOOBNMARK。雙擊表格控件,在ROWEDCHANGE事件中添加如下的代碼。PRIVATESUBDATAGRID1_ROWCOLCHANGELASTROWASVARIANT,BYVALL

溫馨提示

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

評論

0/150

提交評論