




已閱讀5頁,還剩34頁未讀, 繼續免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
目錄摘要3ABSTRACT3第一章緒論411數據庫應用系統開發簡介4111數據庫4112數據庫管理系統4113創建數據庫412圖書管理系統5第二章圖書館管理系統的總體設計521功能分析5211系統結構5212模塊設計6213書籍管理部分6214讀者管理部分7215借閱管理部分8216系統管理部分8第三章數據庫及開發平臺831數據庫設計832MICROSOFTACCESS介紹833VISUALBASIC60介紹9第四章圖書館管理系統的具體實現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第五章系統的發布37第六章結論和總結38參考文獻39附錄39摘要圖書管理系統是典型的信息管理系統(MIS),其開發主要包括后臺數據庫的建立與維護以及前端應用程序的開發兩發面。對于前者要求建立起數據一致性和完整性強、數據安全性好的庫。而對于后者則要求應用程序功能完備,易使用等特點。因此本人結合開入式圖書館的要求,對ACCESS數據庫管理系統、VISUALBASIC進行了較深入的學習和應用,主要完成對圖書管理系統的需求分析、功能模塊劃分、數據庫模式分析,并由此設計了數據庫結構和應用程序。系統運行結果證明,本文所設計的圖書管理系統可以滿足借閱者、圖書館工作人員和高級管理員三方面的需求。【關鍵詞】數據庫,ACCESS,VISUALBASIC,圖書管理ABSTRACTBOOKSMANAGEMENTTHESYSTEMISATYPICALINFORMATIONMANAGEMENTSYSTEMMIS,ITSDEVELOPMENTPRIMARILYINCLUDETHEBACKSTAGETHEDATABASEOFESTABLISHWITHTHEDEVELOPMENTTHATMAINTENANCEANDTHEHEADAPPLYTHEPROCEDURETWOASPECTREQUESTTOESTABLISHTORISETHEDATATHECONSISTENCYWITHTHELIBTHATTHECOMPLETEISSTRONG,DATATHESAFETYLIKEFORTHEFORMERBUTTHENREQUESTTHEAPPLIEDPROCEDURETHEFUNCTIONFORTHELATTERCOMPLETE,EASYUSAGEETCCHARACTERISTICSTHEREFOREONESELFCOMBINATIONOPENINTOTHEREQUESTTHATTYPELIBRARY,NEEDTOWARDSACCESSDATABASEMANAGEMENTSYSTEM,VISUALBASICPROCEEDINDEPTHLYSTUDYWITHAPPLY,PRIMARILYCOMPLETETOBOOKSMANAGESYSTEMANALYSIS,FUNCTIONMOLDTHEPIECEDIVIDETHELINE,DATABASEMODEANALYSIS,COMBINEDTOFROMHEREDESIGNEDTHEDATABASETHECONSTRUCTIONWITHAPPLIEDPROCEDURETHESYSTEMCIRCULATESTOPANOUTTHEPROOF,THISTEXTBOOKSTHATDESIGNMANAGEMENTTHESYSTEMCANSATISFYTOBORROWTHEBOOK,LIBRARYTHEWORKERMANAGETHEWITHHIGHCLASSTHREEASPECTOFDEMAND【KEYPHRASE】DATABASE,ACCESS,VISUALBASIC,BOOKMANAGEMENT第一章緒論11數據庫應用系統開發簡介在數據庫應用系統開發之前,對開發數據庫的基本概念應當了解,對數據庫的結構、開發數據庫應用程序的步驟、開發體系及方法都應當有相當清晰的了解和認識。數據庫應用系統開發的目標是建立一個滿足用戶長期需求的產品。開發的主要過程為理解用戶的需求,然后,把它們轉變為有效的數據庫設計。把設計轉變為實際的數據庫,并且這些數據庫帶有功能完備、高效能的應用。數據庫技術在計算機軟件鄰域研究中一直是非常重要的主題,產生于60年代,30多年來數據庫技術得到了迅速發展,并已形成較為完整的理論體系和一大批實用系統。并且,近年來,隨著WORLDWIDEWEBWWW的猛增及INTERNET技術的迅速發展,使得數據庫技術之時成為最熱門技術之一。111數據庫數據庫由DBMS(數據庫管理系統)處理,DBMS則由開發人員和用戶通過應用程序直接或間接地使用。它主要包括四個要素用戶數據、元數據、索引和應用元數據。112數據庫管理系統數據庫管理系統(DBMS)是指數據庫系統中管理數據的軟件系統。DBMS是數據庫系統的核心組成部分。對數據庫的一切操作,包括定義、更新及各種控制,都是通過DBMS進行的。DBMS總是基于某種數據模型,可以把DBMS看成是某種數據模型在計算機系統上的具體實現。根據數據模型的不同,DBMS可以分成層次型、網狀型、關系型、面向對象型等。113創建數據庫數據庫模式定義了數據庫的結構、表、關系、域和業務規則。數據庫模式是一種設計,數據庫和應用正是建立在此基礎上的。域是一列可能擁有的值的集合。必須為每一個表的每一列確定域。除了數據的物理格式外,還需要確定是否有些域對表來說是唯一的。數據庫模式的最后一個要素是業務規則,它是對需要反映在數據庫和數據庫應用程序中的業務活動的約束。業務規則是模式的一個重要部分,因為他們指定了無論什么數據變化到達DBMS引擎,允許的數據值必須滿足的約束。不管無效的數據變化請求是來自窗體的用戶、查詢/修改請求還是應用程序,DBMS都應該拒絕。12圖書管理系統當今時代是飛速發展的信息時代。在各行各業中離不開信息處理,這正是計算機被廣泛應用于信息管理系統的環境。計算機的最大好處在于利用它能夠進行信息管理。使用計算機進行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。尤其對于復雜的信息管理,計算機能夠充分發揮它的優越性。計算機進行信息管理與信息管理系統的開發密切相關,系統的開發是系統管理的前提。本系統就是為了管理好圖書館信息而設計的。圖書館作為一種信息資源的集散地,圖書和用戶借閱資料繁多,包含很多的信息數據的管理,現今,有很多的圖書館都是初步開始使用,甚至尚未使用計算機進行信息管理。總的來說,缺乏系統,規范的信息管理手段。盡管有的圖書館有計算機,但是尚未用于信息管理,沒有發揮它的效力,資源閑置比較突出,這就是管理信息系統的開發的基本環境。數據處理手工操作,工作量大,出錯率高,出錯后不易更改。圖書館采取手工方式對圖書借閱情況進行人工管理,由于信息比較多,圖書借閱信息的管理工作混亂而又復雜;一般借閱情況是記錄在借書證上,圖書的數目和內容記錄在文件中,圖書館的工作人員和管理員也只是當時對它比較清楚,時間一長,如再要進行查詢,就得在眾多的資料中翻閱、查找了,造成查詢費時、費力。如要對很長時間以前的圖書進行更改就更加困難了。基于這此問題,我認為有必要建立一個圖書管理系統,使圖書管理工作規范化,系統化,程序化,避免圖書管理的隨意性,提高信息處理的速度和準確性,能夠及時、準確、有效的查詢和修改圖書情況。第二章圖書館管理系統的總體設計21功能分析211系統結構開發本系統的總體任務是實現圖書管理的系統化和自動化,幫助圖書管理人員更好更高效地完成圖書管理工作。本系統要完成的功能有書籍管理部分這一部分包括書籍類別管理和書籍信息管理兩部分。其中,書籍類別管理包括添加書籍類別、修改書籍類別等書籍信息管理包括書籍信息的添加,書籍信息的修改、書籍信息的查詢、書籍信息的刪除等。讀者管理部分這一部分包括讀者類別管理和讀者信息管理兩部分。其中,讀者類別管理包括添加讀者類別、修改讀者類別等讀者信息管理包括添加讀者信息、修改讀者信息、刪除讀者信息、查詢讀者信息等。借閱管理部分這一部分包括借書信息管理和還書信息管理兩部分。其中,借書信息管理包括借書信息的添加、借書信息的修改、借書信息的查詢等還書信息管理部分包括還書信息的添加、還書信息的修改、還書信息的查詢等系統管理包括修改系統用戶密碼、增加新用戶以及退出系統等。212模塊設計根據上面所介紹的主要功能,對這個系統進行分析,得到如圖1所示的系統功能模塊圖。213書籍管理部分書籍管理部分包括書籍信息管理和書籍類別管理,其功能是實現對各部分數據內容的添加、修改、刪除等操作。各管理部分的明細如下圖1系統功能模塊圖書籍信息管理包括書籍信息的添加、書籍信息的修改、書籍信息的查詢和書籍信息的刪除4部分功能。其中,書籍信息包括圖書編號、書名、圖書類別、作者、出版社、出版日期、登記日期以及是否已被借出。2書籍類別管理包括書籍類別的添加、書籍類別的修改、書籍類別的刪除3部分功能。其中,書籍類別包括類別名稱和類別編號兩部分。214讀者管理部分讀者管理部分包括讀者信息管理和讀者類別管理,其功能是實現對各部分數據內容的添加、修改、刪除等操作。各管理部分的明細如下1讀者信息管理包括讀者信息的添加、讀者信息的修改、讀者信息的查詢和讀者信息的刪除4部分功能。其中,讀者信息包括讀者姓名、讀者編號、性別、讀者類別、工作單位、家庭住址、電話號碼、登記日期和己借書數量。讀者類別管理包括讀者類別的添加、讀者類別的修改、讀者類別的刪除3部分功能。其中,讀者類別包括種類名稱、借書數量、借書期限和有效期限4部分。圖書管理系統書籍管理部分讀者管理部分借閱管理部分系統管理讀者書籍信息管理書籍類別管理讀者類別管理讀者信息管理還書管理借書管理修改密碼增加用戶書籍類別添加書籍類別修改添加讀者類別添加讀者信息查詢讀者信息查詢讀者信息刪除讀者信息修改讀者信息添加讀者信息借書信息修改借書信息添加還書信息修改還書信息添加還書信息查詢借書信息查詢書籍信息修改書籍信息查詢書籍信息刪除書籍信息添加215借閱管理部分借閱管理部分包括借書管理和還書管理,其功能是實現對各部分數據內容的添加和查詢操作。各管理部分的明細如下(1)借書管理包括添加借書信息和查詢借書信息2部分功能。其中,借閱信息包括借閱編號、讀者編號、讀者姓名、書籍編號、書籍名稱、出借日期和還書日期。2還書管理實現添加還書信息功能。其中,還書信息與借閱信息各部分明細相同。216系統管理部分設置操作人員。系統初始設置一個超級用戶名和密碼,操作人員可以利用這個超級用戶名和密碼登錄,之后,可以設置其他的超級用戶名稱,也可以設置權限用戶,同時也設置了這個用戶可以使用的權限。此外,在系統登錄界面中輸入密碼與用戶名不符3次將自動退出登錄。第三章數據庫及開發平臺31數據庫設計根據上面分析的系統的各種功能要求,可以很容易想到系統所需的數據庫應該按照如下思路設計書籍類別、書籍信息、讀者類別、讀者信息和圖書借閱部分等應該各自作為一個表存在,此外,系統管理員的信息單獨使用一個表來記錄。本系統服務器端采用WINDOWS2000作為操作系統,同時配置ACCESS數據庫服務器,用于數據的存儲和處理,客戶端采用WINDOWS2000操作系統。前臺開發工具采用VISUALBASIC,后臺數據庫連接是采用ACCESS數據庫服務器。(1)MICROSOFTACCESS建立一個數據庫我們有多種選擇,在本系統中,作為圖書館管理系統的一個比較小的應用系統,它所產生和處理的數據量也比較小。因此,沒有必要使用像SQLSERVER和ORACLE這樣的大型數據庫。MICROSOFTOFFICE中的ACCESS數據庫在計算機上的應用比較普及,是開發小型數據庫系統的比較理想的選擇,所以,在本系統中我選擇了ACCESS數據庫。與其他數據庫系統相比,ACCESS更加簡單易學,普通的計算機用戶可以很快的掌握它。ACCESS2000的功能十分強大,利用它可以方便地實現對信息保存、維護、查詢、統計、打印、交流、發布,而且它可以方便地與OFFICE其他組件交流數據,這些功能對一般用戶而言已經足夠(2)VISUALBASICMICROSOFTVISUALBASIC是可視化的,面向對象的,由事件驅動的結構化高級程序設計語言它提供了最迅速,最簡潔的開發應用程序的方法VISUAL的中文意思是可視的,直觀的,看得見的,形象化的這里的VISUAL指直觀的開發應用程序界面的方法,只需將系統提供的標準控件手臂放到屏幕窗體上,VISUALBASIC就會自動地生成相應控件的程序代碼和其屬性數據,而不需要用戶去編寫大量的界面程序代碼BASIC指的是BASIC語言,為BEGINNERALLPURPOSESYMBOLICINSTRUCTIONCODE一詞的縮寫,意思是初學者通用符號指令代碼該語言在發展史上是使用最為廣泛的程序合計語言,它易學,易懂,深受廣大初學者的歡迎VISUALBASIC在原有BASIC語言的基礎上發展成為易學,易掌握的,功能強大的最新程序設計語言第四章圖書館管理系統的具體實現41建立主窗體411添加菜單使用菜單編輯器編輯系統主菜單。412添加代碼主窗體中的代碼不多,基本上都是實現單擊某個菜單選項即彈出相應窗體的語句,這些語句將分別在各個窗體中介紹。單擊“系統管理“一“退出系統“菜單,關閉系統代碼如下。PRIVATESUBEXIT_SYS_CLICKENDENDSUB42建立添加圖書類別窗體421建立窗體添加一個窗體,并按照表所示設置窗體的屬性。422添加控件添加圖書類別窗體由2個TEXT控件、2個LABEL控件、2個COMMANDBUTTON控件組成。其中,2個LABEL控件作為標識,2個TEXT控件接收用戶輸入,2個COMMANDBUTTON控件作為“確定“和“取消“按鈕。添加這些控件,并按照表所示設置這些控件的屬性。423添加代碼當單擊“圖書管理/圖書類別管理/添加圖書類別“菜單時,彈出如圖所示窗體。代碼如下。PRIVATESUBADD_BOOK_STYLE_CLICKFRMADDBOOKSTYLESHOWENDSUB當單擊“確定“按鈕時,首先檢查輸入的圖書類型和種類編號是否為空,代碼如下。PRIVATESUBCOMMAND1_CLICKDIMSQLASSTRINGIFTRIMTEXT1TEXT”THENMSGBOX”圖書種類不能為空”,VBOKONLYVBEXCLAMATION,”TEXT1SETFOCUSEXITSUBENDIFIFTRIMTEXT2TEXT”THENMSGBOX”種類不能為空”,VBOKONLYVBEXCLAMATION,”TEXT1SETFOCUSEXITSUBENDIF如果不為空,則檢查類別名稱是否有重復,需要打開圖書類別表,先定義一個字符串類型的變量和一個RECORDSET對象變量。PRIVATESUBCOMMAND1_CLICKDIMRS_BOOKSYTLEASNEWADODBRECORDSETDIMSQLASSTRINGIFTRIMTEXT1TEXT”THEN使用RECORDSET對象的OPEN方法打開數據表。PRIVATESUBCOMMAND1_CLICKENDIFSQL”SELECTFROM圖書類別WHERE類別名稱“EXITSUBENDIFENDSUB當單擊“取消“時,則退出此窗體,代碼如下。PRIVATESUBCOMMAND2_CLICKUNLOADMEENDSUB以上就是添加圖書類別窗體的實現過程。43建立圖書類別管理窗體修改、刪除類別431建立窗體添加一個窗體,并按照表1所示設置窗體的屬性。表1圖書類別管理窗體的屬性設置窗體屬性取值NAMEFRMMODIFYBOOKSTYLECAPTION圖書類別管理STARTUPPOSITION2CNETERSCREENMAXBUTTONFALSE432添加控件圖書類別管理窗體由1個DATAGRID控件、2個FRAME控件、4個COMMANDBUTTON控件組成。其中,2個FRAME控件作為容器,分別用來放置DATAGRID控件和COMMANDBUTTON控件,4個COMMANDBUTTON控件作為“修改類別“、“刪除類別“、“更新“和“取消“按鈕。這一部分需要用到DATAGDD控件。用戶自行將其添加到控件欄內。方法是單擊“工程“一“部件“菜單,在窗體中找到“MICROSOFTDATAGRIDCONTROL60。“選項并在其前面的方框內打勾。添加完后,在控件欄內應該顯示DATAGRID的圖標。添加這些控件,并按照表2所示設置這些控件的屬性。表2控件的屬性設置控件屬性屬性取值FRAME1CAPTION空FRAME2CAPTION空名稱CMDMODIFYCOMMAND1CAPTION修改類別名稱CMDDELCOMMAND2CAPTION刪除類別名稱CMDUPDATECOMMAND3CAPTION更新名稱CMDCANCELCOMMAND2CAPTION取消DATAGDD控件的屬性不需要做任何修改,取默認值即可。433添加代碼當單擊“圖書管理/圖書類別管理/修改圖書類別“菜單時,彈出如圖所示的窗體。代碼如下PRIVATESUBMODIFY_BOOK_STYLE_CLICKFRMMODIFYBOOKSTYLESHOWENDSUB當單擊“圖書管理/圖書類別管理/刪除圖書類別“菜單時,彈出窗體。代碼如下。PRIVATESUBDEL_BOOK_STYLE_CLICKFRMMDIFYBOOKSTYLESHOWENDSUB在窗體力加載時,首先打開數據表。在通用變量聲明部分定義一個RECORDSET數據對象,代碼如下。OPTIONEXPLICITDIMRS_READERASNEWADODBRECORDSET在FORM_LOAD事件中首先打開圖書類別數據表,使用RECORDSET對象的OPEN方法,代碼如下。PRIVATESUBFORM_LOCKDIMSQLASSTRINGONERRORGOTOLOADERRORSQL”SELECTFROM圖書類別”RS_READERCURSOLOCATIONADUSECLIENTRS_READEROPENSQL,CONN,ADOPENKEYSET,ADLOCKPESSIMISTIC打開數據庫窗體剛剛加載時,“更新”按鈕應設置為不可用,即將其ENABLED書行為FALSEPRIVATESUBFORM_LOADCMDUPDATEENABLEDFALSE設置DATAGRID控件不可更改,即將其ALLOWADDNEW、ALLOWDELETE、ALLOWUPDATE屬性設置為FDSE。PRIVATESUBFORM_LOAD設定DATAGRID控件屬性DATAGRID1ALLOWADDNEWFALSE不可增加DATAGRID1ALLOWDELETEFALSE不可刪除DATAGRID1ALLOWUPDATEFALSE使用DATAGRID控件顯示圖書類別數據表中的數據信息,只需將該控件的DATASOURCE屬性設置為RECORDSET對象即可PRIVATESUBFORM_LOADSETDATAGRID1DATASOURCERS_READERENDSUB添加錯誤處理部分的語句如下。PRIVATESUBFORM_LOADSETDATAGRID1DATASOURCERS_READEREXITSUBLOADERRORMSGBOXERRDESCRIPTIONENDSUB雙擊“修改類別“按鈕,添加代碼以實現這部分的功能。當窗體處于修改類別狀態時,該按鈕和刪除按鈕是不可用的,將其ENABLED屬性設置為FALSE,更新和取消按鈕是可用的,將其ENABLED屬性設置位TRUE。PRIVATESUBCMDMODIFY_CLICKDIMANSWERASSTRINGONERRORGOTOCMDMODIFYCMDDELENABLEDFALSECMDMODIFYENABLEDFALSECMDUPDATEENABLEDTRUECMDCANCELENABLEDTRUE當窗體處于修改類別狀態時,DATAGRID控件的ALLOWUPDATE屬性應該是可用的,將其設置位TRUE。PRIVATESUBCMDMODIFY_CLICKCMDCANCELENABLEDTRUEDATAGRID1ALLOWUPDATETRUECMDMODIFY添加錯誤處理語句。PRIVATESUBCMDMODIFY_CLICKDIMANSWERASSTRINGONERRORGOTOCMDMODIFYCMDMODIFYIFERRNUMBER0THENMSGBOXERRDESCRIPTIONENDIFENDSUB修改數據后,單擊“更新“按鈕,則系統將會更新當前的數據。使用UPDATE方法,代碼如下。PRIVATESUBCMDUPDATE_CLICKIFNOTISNULLDATAGRID1BOOKMARKTHENRS_READERUPDATEENDIF然后將各個按鈕的狀態恢復到修改前。PRIVATESUBCMDUPDATE_CLICKCMDMODIFYENABLEDTRUECMDDELENABLEDTRUECMDCANCELENABLEDFALSECMDUPDATEENABLEDFALSEDATAGRID1ALLOWUPDATEFALSEMSGBOX“修改成功“,VBOKONLYVBEXCLAMATION,“ENDSUB修改數據后,如果想放棄修改,則單擊“取消“按鈕即可。雙擊“取消“按鈕,添加代碼以實現這部分功能。將按鈕復原,使用CANCELUPDATE方法取消更新,重新顯示數據,并將表格控件的A11OWADDNEW和ALLOWUPDATE屬性設置為FALSE。PRIVATESUBCMDCANCEL_CLICKRS_READERCANCELUPDATEDATAGRID1REFRESHDATAGRID1ALLOWADDNEWFALSEDATAGRID1ALLOWUPDATEFALSECMDMODIFYENABLEDTRUECMDDELENABLEDTRUECMDCANCELENABLEDFALSECMDUPDATEENABLEDFALSEENDSUB雙擊“刪除類別“按鈕,添加代碼以實現這部分的功能。首先提示用戶是否確定刪除,定義一個字符串變量接受用戶的回答。PRIVATESUBCMDDEL_CLICKDIMANSWERASSTRINGONERRORGOTODELERRORANSWERMSGBOX“確定要刪除嗎“,VBYESNO,“如果回答“是”,將當前表格的ALLOWDELETE屬性設置為TRUE使用RECORDSET對象的方法將當前的記錄刪除,使用UPDATE方法將數據表更新PRIVATESUBCMDDEL_CLICKDIMANSWERASSTRINGONERRORGOTODELERRORANSWERMSGBOX“確定要刪除嗎“,VBYESNO,“IFANSWERVBYESTHENDATAGRID1ALLOWDELETETRUERS_READERDELETERS_READERUPDATE這時數據表發生了變化,應該將DATAGRID刷新以顯示這一變化,同時提示用戶刪除成功,并將ALLOWDELETE屬性設置為FALSE。PRIVATESUBCMDDEL_CLICKRS_READERUPDATEDATAGRID1REFRESH如果用戶回答“否“,則退出此過程。PRIVATESUBCMDDEL_CLICKELSEEXITSUBENDIF當窗體卸載的時候,將DATAGID控件的DATASOURCE屬性設置為NOTHING,同時關閉數據對象。PRIVATESUBFORM_UNLOADCANCELASINTEGERSETDATAGRID1DATASOURCENOTHINGRS_READERCLOSEENDSUB以上就是圖書類別管理窗體的實現過程。44建立添加圖書信息窗體441建立窗體添加一個窗體。442添加控件添加圖書信息窗體由1個FRAME控件、1個COMBOBOX控件、2個COMMANDBUTTON控件、6個TEXT控件和7個LABEL控件組成。其中,7個LABEL控件作為標識,6個TEXT控件和1個COMBOBOX控件用于接收用戶輸入,2個COMMANDBUTTON控件作為“確定“和“取消“按鈕。添加這些控件,并設置這些控件的屬性。添加好控件的窗體效果如圖所示。443添加代碼當單擊“圖書管理/圖書信息管理/添加圖書信息“菜單時,彈出如上圖所示窗體。設計代碼如下。PRIVATESUBADD_BOOK_INFO_CLICKFRMADDBOOKINFOSHOWENDSUB窗體加載時,首先將所有可選的圖書類別添加到列表框中。定義一個RECORDSET對象用來打開數據表。PRIVATESUBFORM_LOADDIMRS_LEIBIEASNEWADODBRECORDSETDIMSQLASSTRINGSQL“SELECTFROM圖書類別“RS_LEIBIEOPENSQL,CONN,ADOPENKEYSET,ADLOCKPESSIMISTIC使用RECORDSET對象的MOVEFIRST方法將數據記錄移動到第一條,并使用循環語句將所有的圖書類別添加到列表框中。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方法打開數據表。PRIVATESUBCOMMAND1_CLICKENDIFSQL“SELECTFROM書籍信息WHERE書籍編號“TEXT1TEXT“RS_ADDBOOKOPENSQL,CONN,ADOPENKEYSET,ADLOCKPESSIMISTICIFRS_ADDBOOKEOFTHEN如果沒有重復,此時RECORDSET對象的EOF屬性應改為TRUE,此時將新的數據添加到數據庫,并給出提示代碼如下。IFRS_ADDBOOKEOFTHENRS_ADDBOOKADDNEWRS_ADDBOOKFIELDS0TRIMTEXT1TEXTRS_ADDBOOKFIELDS1TRIMTEXT2TEXTRS_ADDBOOKFIELDS2TRIMCOMBO1TEXTRS_ADDBOOKFIELDS3TRIMTEXT3TEXTRS_ADDBOOKFIELDS4TRIMTEXT4TEXTRS_ADDBOOKFIELDS5TRIMTEXT5TEXTRS_ADDBOOKFIELDS6TRIMTEXT6TEXTRS_ADDBOOKFIELDS7“否“RS_ADDBOOKUPDATEMSGBOX“添加書籍信息成功“,VBOKONLY,“RS_ADDBOOKCLOSEELSE如果有重復,則給出提示,然后將焦點設置給TEXT1,并將所有的文本框清空,代碼如下。PRIVATESUBCOMMAND1_CLICKELSEMSGBOX“圖書編號重復“,VBOKONLYVBEXCLAMATION,“TEXT1SETFOCUSTEXT1TEXT“RS_ADDBOOKCLOSEEXITSUBENDIFENDSUB當單擊“取消“時,則退出此窗體,代碼如下。PRIVATESUBCOMMAND2_CLICKUNLOADMEENDSUB以上就是添加圖書信息窗體的實現過程。45建立圖書信息管理窗體451建立窗體452添加控件圖書信息管理窗體由1個DATAGDD控件、2個FRAME控件、4個COMMANDBUTTON控件組成。其中,2個FRAME控件作為容器,分別用來放置DATAGRID控件和COMMANDBUTTON控件,4個COMMANDBUTTON控件作為“修改信息“、“刪除信息“、“更新“和“取消“按鈕。添加這些控件,并設置這些控件的屬性。DATAGRID控件的屬性不需要做任何修改,取默認值即可。添加好控件的窗體效果如圖所示。453添加代碼當單擊”圖書管理/圖書信息管理/修改圖書信息“菜單時,彈出上圖窗體。代碼如下。PRIVATESUBMODIFY_BOOK_INFO_CLICKFRMMODIFYBOOKINFOSHOWENDSUB當單擊“圖書管理/圖書信息管理/刪除圖書信息“菜單時,彈出上面所示窗體代碼如下。PRIVATESUBDEL_BOOK_INFO_CLICKFRMMODIFYBOOKINFOSHOWENDSUB在窗體加載時,首先打開數據表。在通用變量聲明部分定義一個RECORDSET數據對象,代碼如下。OPTIONEXPLICITDIMRS_BOOKASNEWADODBRECORDSET在FORM_LOAD事件中首先打開書藉信息數據表,使用RECORDSET對象的方法,代碼如下。PRIVATESUBFORM_LOADDIMSQLASSTRINGONERRORGOTOLOADERRORSQL“SELECTFROM書籍信息“RS_BOOKCURSORLOCATIONADUSECLIENTRS_BOOKOPENSQL,CONN,ADOPENKEYSET,ADLOCKPESSIMISTIC打開數據庫窗體剛剛加載時,“更新”按鈕應設置為不可用,即將其行為FALSEPRIVATESUBFORM_LOADCMDUPDATEENABLEDFALSE設置DATAGRID控件不可更改,即將其ALLOWADDNEW、ALLOWDELETE、ALLOWUPDATE屬性設置為FALSE。PRIVATESUBFORM_LOAD設定DATAGRID控件屬性DATAGRID1ALLOWADDNEWFALSE不可增加DATAGRID1ALLOWDELETEFALSE不可刪除DATAGRID1ALLOWUPDATEFALSE使用DATAGRID控件顯示書藉信息數據表中的數據信息,只需將該控件的DATASOURCE屬性設置為RECORDSET對象即可。PRIVATESUBFORM_LOADSETDATAGRID1DATASOURCERS_BOOKENDSUB添加錯誤處理部分的語句如下。PRIVATESUBFORM_LOADSETDATAGRID1DATASOURCERS_BOOKEXITSUBLOADERRORMSGBOXERRDESCRIPTIONENDSUB雙擊“修改信息“按鈕,添加代碼以實現這部分的功能。當窗體處于修改信息狀態時,該按鈕和刪除按鈕是不可用的,將其ENABLED屬性設置為FALSE,更新和取消按鈕是可用的,將其ENABLED寓性設置位TRUE。PRIVATESUBCMDMODIFY_CLICKDIMANSWERASSTRINGONERRORGOTOCMDMODIFYCMDDELENABLEDFALSECMDMODIFYENABLEDFALSECMDUPDATEENABLEDTRUECMDCANCELENABLEDTRUE當窗體處于修改信息狀態時,DATAGRID控件的A1IOWUPDATE屬性應該是可用的,將其設置位TRUE。PRIVATESUBCMDMODIFY_CLICKCMDCANCELENABLEDTRUEDATAGRID1ALLOWUPDATETRUECMDMODIFY添加錯誤處理語句。PRIVATESUBCMDMODIFY_CLICKDIMANSWERASSTRINGONERRORGOTOCMDMODIFYCMDMODIFYIFERRNUMBER0THENMSGBOXERRDESCRIPTIONENDIFENDSUB修改數據后,單擊“更新“按鈕,則系統將會更新當前的數據。使用UPDATE方法,代碼如下。PRIVATESUBCMDUPDATE_CLICKIFNOTISNULLDATAGRID1BOOKMARKTHENRS_BOOKUPDATEENDIF然后將各個按鈕的狀態恢復到修改前。PRIVATESUBCMDUPDATE_CLICKCMDMODIFYENABLEDTRUECMDDELENABLEDTRUECMDCANCELENABLEDFALSECMDUPDATEENABLEDFALSEDATAGRID1ALLOWUPDATEFALSEMSGBOX“修改成功“,VBOKONLYVBEXCLAMATION,“ENDSUB修改數據后,如果想放棄修改,則單擊“取消“按鈕即可。雙擊“取消“按鈕,添加代碼以實現這部分功能。將按鈕復原,使用CANCELUPDATE方法取消更新,重新顯示數據,并將表格控件的ALLOWADDNEW和ALLOWUPDATE屬性設置為FALSE。PRIVATESUBCMDCANCEL_CLICKRS_BOOKCANCELUPDATEDATAGRID1REFRESHDATAGRID1ALLOWADDNEWFALSEDATAGRID1ALLOWUPDATEFALSECMDMODIFYENABLEDTRUECMDDELENABLEDTRUECMDCANCELENABLEDFALSECMDUPDATEENABLEDFALSEENDSUB雙擊“刪除信息“按鈕,添加代碼以實現這部分的功能。首先提示用戶是否確定刪除,定義一個字符串變量接受用戶的回答。PRIVATESUBCMDDEL_CLICKDIMANSWERASSTRINGONERRORGOTODELERRORANSWERMSGBOX“確定要刪除嗎“,VBYESNO,“如果回答“是“,則將當前表格的ALLOWDELETE屬性設置為TRUE。使用RECORDSET對象的DELETE方法將當前的記錄刪除,使用UPDATE方法將數據表更新。PRIVATESUBCMDDEL_CLICKDIMANSWERASSTRINGONERRORGOTODELERRORANSWERMSGBOX“確定要刪除嗎“,VBYESNO,“IFANSWERVBYESTHENDATAGRID1ALLOWDELETETRUERS_BOOKDELETERS_BOOKUPDATE這時數據表發生了變化,應該將DATAGRID刷新以顯示這一變化,同時提示用戶刪除成功,并將ALLOWDELETE屬性設置為FALSE。PRIVATESUBCMDDEL_CLICKRS_BOOKUPDATEDATAGRID1REFRESH如果用戶回答“否“,則退出此過程。PRIVATESUBCMDDEL_CLICKELSEEXITSUBENDIF當窗體卸載的時候,將DAMGDD控件的DATASOURCE屬性設置為NOTHING,同時關閉數據對象。PRIVATESUBFORM_UNLOADCANCELASINTEGERSETDATAGRID1DATASOURCENOTHINGRS_BOOKCLOSEENDSUB以上就是圖書信息管理窗體的實現過程。46建立查詢圖書信息窗體461建立窗體添加一個窗體及控件,查詢圖書信息管理窗體由1個DATAGDD控件、5個CHECKBOX控件、1個COMBOBOX控件、4個TEXT控件、3個COMMANDBUTTON控件組成。其中,3個COMMANDBUTTON控件作為“查詢“、“取消“和“借這本書“按鈕,復選框用來確定查詢的方式。DATAGRID控件的屬性不需要做任何修改,取默認值即可。添加好控件的窗體效果如圖所示。462添加代碼當單擊“圖書管理/圖書信息管理/查詢圖書信息“菜單時,彈出如上窗體。代碼如下。PRIVATESUBFIND_BOOK_INFO_CLICKFRMFINDBOOKSHOWENDSUB窗體加載時,首先將所有可選的圖書類別添加到列表框中。定義一個RECORDSET對象用來打開數據表。PRIVATESUBFORM_LOADDIMRS_FINDASNEWADODBRECORDSETDIMSQLASSTRINGSQL“SELECTFROM圖書類別“RS_FINDOPENSQL,CONN,ADOPENKEYSET,ADLOCKPESSIMISTIC使用RECORDSET對象的MOVEFIRST方法將數據記錄移動到第一條,并使用循環語句將所有的圖書類別添加到列表框中。PRIVATESUBFORM_LOADRS_FINDMOVEFIRSTIFNOTRS_FINDEOFTHENDOWHILENOTRS_FINDEOFCOMBO1ADDITEMRS_FINDFIELDS0RS_FINDMOVENEXTLOOPCOMBO1LISTINDEX0ENDIFRS_FINDCLOSEENDSUB當單擊“確定“按鈕時,執行查詢語句。逐個檢查各個復選框是否被選中,如果被選中,則設定SQL語句,使用WHERE限制數據檢索的條件,代碼如下。PRIVATESUBCOMMAND1_CLICKDIMRS_FINDBOOKASNEWADODBRECORDSETDIMSQLASSTRINGIFCHECK1VALUEVBCHECKEDTHENSQL“書名“TRIMTEXT1TEXT“ENDIFIFCHECK2VALUEVBCHECKEDTHENIFTRIMSQL“THENSQL“類別“TRIMCOMBO1TEXT“ELSESQLSQL“AND書名“TRIMCOMBO1TEXT“ENDIFENDIFIFCHECK3VALUEVBCHECKEDTHENIFTRIMSQL“THENSQL“作者“TRIMTEXT2TEXT“ELSESQLSQL“AND作者“TRIMTEXT2TEXT“ENDIFENDIFIFCHECK4VALUEVBCHECKEDTHENIFTRIMSQL“THENSQL“出版社“TRIMTEXT3TEXT“ELSESQLSQL“AND出版社“TRIMTEXT3TEXT“ENDIFENDIF如果沒有選擇任何查詢方式,則此時的SQL變量應該為空,則給出提示,要求選擇查詢方式。PRIVATESUBCOMMAND1_CLICKENDIFIFTRIMSQL“THENMSGBOX“請選擇查詢方式“,VBOKONLYVBEXCLAMATIONEXITSUBENDIF執行查詢語句,將DATAGRID設置為不可更新或刪除信息,同時將其DATASOURCE屬性設置位RECORDSET對象,代碼如下。PRIVATESUBCOMMAND1_CLICKENDIFSQL“SELECTFROM書籍信息WHERE“SQLRS_FINDBOOKCURSORLOCATIONADUSECLIENTRS_FINDBOOKOPENSQL,CONN,ADOPENKEYSET,ADLOCKPESSIMISTICDATAGRID1ALLOWADDNEWFALSEDATAGRID1ALLOWDELETEFALSEDATAGRID1ALLOWUPDATEFALSESETDATAGRID1DATASOURCERS_FINDBOOKENDSUB當單擊“取消“時,則退出此窗體,代碼如下。PRIVATESUBCOMMAND2_CLICKUNLOADMEENDSUB選擇需要借閱的圖書,單擊“借這本書“按鈕,可打開借書窗體,將在借書窗體的建立章節中加以介紹。以上就是查詢圖書信息窗體的實現過程。47建立添加借書信息窗體471建立窗體添加一個窗體。472添加控件添加借書信息窗體由2個FRAME控件、16個LABEL控件、2個COMBOBOX控件、2個COMMANDBUTTON控件組成。其中,2個COMMANDBUTTON控件作為“確定“和“取消“按鈕。添加這些控件。控件屬性屬性取值LABEL1CAPTION編號LABEL2CAPTION書名LABEL3CAPTION作者LABEL4CAPTION出版日期LABEL5CAPTION類別LABEL6CAPTION出版社LABEL7CAPTION登記日期LABEL15CAPTION讀者編號LABEL16CAPTION讀者姓名COMMAND1CAPTION確定COMMAND2CAPTION取消COMBO1TEXT選擇編號COMBO2TEXT選擇姓名其中,LABEL8LABEL14取默認值即可。添加好控件的窗體效果如下圖所示。借書窗體473添加代碼前面介紹到,在查詢圖書信息窗體中有個“借這本書“的按鈕,當選擇好要借的圖書后,單擊這個按鈕,即可打開這個窗體。下面雙擊這個按鈕,實現其功能。首先添加一個公共模塊,并在其中定義一個公共的變量BOOK_NUM用來記錄要借的圖書的編號OPTIONEXPLICITPUBLICBOOK_NUMASSTRING要借的書的編號添加公共模塊的方法是單擊菜單“工程“一“添加模塊“,在打開的窗體中單擊“打開“按鈕,即可添加好一個公共模塊。如果用戶選擇了某條書籍的信息,則將這本書的編號賦給這個變量。獲取表格某一單元格的方法是使用指定列的CELLVALUE屬性。該屬性的參數是一個書簽BOOBNMARK。雙擊表格控件,在ROWEDCHANGE事件中添加如下的代碼。PRIVATESUBDATAGRID1_ROWCOLCHANGELASTROWASVARIANT,BYVALL
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 設置公司銷售管理制度
- 設計后續服務管理制度
- 診所醫保設備管理制度
- 診所藥品查驗管理制度
- 試驗樣品分區管理制度
- 財務管理制度管理制度
- 財政保障垂直管理制度
- 貨場人車分離管理制度
- 貨運電梯處罰管理制度
- 房產買賣改造協議書范本
- JG/T 446-2014建筑用蓄光型發光涂料
- 人文關懷在護理工作中的意義
- 2024北京初三一模英語匯編:材料作文
- T/CCMA 0137-2022防撞緩沖車
- GB/T 20854-2025金屬和合金的腐蝕循環暴露在鹽霧、“干”和“濕”條件下的加速試驗
- 麻風病知識講座課件
- 江蘇省2025年中職職教高考文化統考數學試題答案
- 氨區作業安全培訓課件
- 2025內蒙古中考:生物必背知識點
- 國有資產管理清查報告編寫指南
- 2025年湖北省新高考信息卷(一)化學試題及答案
評論
0/150
提交評論