基于PB的圖書管理系統(tǒng)畢業(yè)論文100%通過!_第1頁
基于PB的圖書管理系統(tǒng)畢業(yè)論文100%通過!_第2頁
基于PB的圖書管理系統(tǒng)畢業(yè)論文100%通過!_第3頁
基于PB的圖書管理系統(tǒng)畢業(yè)論文100%通過!_第4頁
基于PB的圖書管理系統(tǒng)畢業(yè)論文100%通過!_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費閱讀

基于PB的圖書管理系統(tǒng)畢業(yè)論文100%通過!.pdf 免費下載

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

文檔簡介

1摘要隨著信息技術(shù)在管理上越來越深入而廣泛的應用,管理信息系統(tǒng)的實施在技術(shù)上已逐步成熟。管理信息系統(tǒng)是一個不斷發(fā)展的新型學科,企業(yè)要生存要發(fā)展,要高效率地把企業(yè)活動有機地組織起來,就必須加強企業(yè)管理,即加強對企業(yè)內(nèi)部的各種資源(人、財、物等)的有效管理,建立與自身特點相適應的管理信息系統(tǒng)。本文介紹了在POWERBUIDER環(huán)境下采用“自上而下地總體規(guī)劃,自下而上地應用開發(fā)”的策略開發(fā)一個管理信息系統(tǒng)的過程。通過分析傳統(tǒng)的人工管理圖書館的不足,創(chuàng)建了一套行之有效的計算機管理圖書館的方案。文章詳細介紹了圖書管理信息系統(tǒng)的系統(tǒng)分析部分,包括可行性分析、組織機構(gòu)分析、管理職能分析、業(yè)務流程分析、數(shù)據(jù)流程分析、數(shù)據(jù)字典、處理描述等等;系統(tǒng)設計部分主要介紹了系統(tǒng)功能設計和數(shù)據(jù)庫設計;系統(tǒng)實現(xiàn)部分列出了幾個主要的程序框圖,并附帶了一些主要的窗口和程序。本系統(tǒng)界面友好,操作簡單,比較實用。【關(guān)鍵字關(guān)鍵字關(guān)鍵字關(guān)鍵字】管理信息系統(tǒng)、圖書管理、POWERBUIDER應用。2ABSTRACTWITHMOREANDMOREWIDESPREADANDPROFOUNDAPPLICATIONOFINFORMATIONTECHNOLOGYINMANAGEMENT,THEIMPLEMNTOFMANAGEMENTINFORMATIONSYTEMHASBECOMEMATUREINTECHNOLOGYSTEPBYSTEPMANAGINGINFORMATIONSYTEMISANEWSUBJECTENTERPRISENEEDSEXISTENCEANDDEVELOPMENT,SOENTRPRISEACTIVITIESSHOULDBEORGANIZEDEFICENTLYANDORGANICALY,WHICHMEANSTIGHTENINGUPTHEENTRPRISEMANAGEMENTANDSTRENGTHENINGEFCTIVEMANAGEMENTOFANYRESOURCESTAF,FINANCE,PROPERTY,ETCINTERNALTHEENTRPRISE,ANDALSOESTABLISHINGAMANAGEMENTINFORMATIONSYTEMFITINGINWITHITSOWNCHARACTERISTICSTHISARTICLEINTRODUCESTHEDETAILEDPROCESOFEXPLORINGAMNAGEMENTINFORMATIONSYTEMUNDERTHEENVIRONMENTOFPOWERBUILDER,UTILZING“TOPBOTTOM”O(jiān)VERALPLANANDASTRATEGYACORDINGTO“BOTTOMTOP”APPLICATIONANDEXPLOITAIONTHATISTOESTABLISHASETOFEFCTIVESCHEMEFORLIBRARYMANAGEMENTBYCOMPUTER,THROUGHANALYZINGDISADVANTAGESOFTRADITIONALIBRARYMANAGEMENTBYHUMANRESOURCESTHISARTICLEMPHASIZESONTHRESECTIONSTHESYTEMANALYSISECTIONOFLIBRARYMANAGEMENTINFORMATIONINCLUDESFEASIBLEANALYSI,ORGANIZINGORGANSANALYSI,MANAGEMENTFUNCTIONANALYSI,TECHNOLOGICALPROCESOFBUSINESANALYSI,TECHNOLOGICALPROCESOFDATANALYSI,DATADICTIONARY,DISPOSALDESCRIPTIONANDTHELIKETHESYTEMDESIGNSECTIONMAINLYFOCUSESONSYTEMFUNCTIONDESIGNANDDATABASEDESIGNANDTHESYTEMREALIZATIONSECTIONHASPROVIDEDSEVERALMJORPROGRAMCHARTS,TOGETHERWITHTHEMAINWINDOWSANDPROGRAMSTHISECONOMICALANDPRAGMTICSYTEMHASEXPLICTINTERFACE,WITHSIMPLEOPERATIONKEYWORDSMIS、LIBRARYMANAGEMENT、POWERBUILDERAPPLICATION3目錄一前言11MIS系統(tǒng)開發(fā)方法12IS系統(tǒng)開發(fā)過程2二系統(tǒng)需求分析41現(xiàn)行業(yè)務描述42現(xiàn)行系統(tǒng)存在問題的分析53解決方案61系統(tǒng)目標設計72系統(tǒng)功能分析83系統(tǒng)各功能模塊設計84數(shù)據(jù)流圖91數(shù)據(jù)庫需求分析132數(shù)據(jù)庫邏輯結(jié)構(gòu)設計141POWERBUILDER開發(fā)工具簡介202POWERBUILDER8應用程序開發(fā)的基本步驟203編碼規(guī)范214創(chuàng)建祖先窗口和全局函數(shù)215應用程序?qū)ο驛PP_LIBRARAIN247補充說明48七結(jié)束語491一前言隨著人類社會的發(fā)展,人類對知識的需求也不斷地增長。在這種形勢下,書籍就漸漸地成為人們獲取并增長知識的主要途徑,而圖書館就自然而然地在人們的生活中占據(jù)了一定的位置,如何科學地管理圖書館不但關(guān)系到讀者求知的方便程度,也關(guān)系到圖書館的發(fā)展,因此,開發(fā)一套完善的圖書館管理系統(tǒng)就必不可少了。管理信息系統(tǒng)簡稱MIS是介于信息論,經(jīng)濟管理理論,統(tǒng)計學與運籌學及計算機科學之間的一門邊緣性,綜合性,系統(tǒng)性的交叉科學,它是隨著管理科學,信息技術(shù),計算機技術(shù)等的發(fā)展而產(chǎn)生和發(fā)展起來的。圖書館管理系統(tǒng)是典型的信息管理系統(tǒng),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端的應用程序的開發(fā)兩個方面。對于前者要求建立數(shù)據(jù)的一致性和完整性,對于后者則要求應用程序功能的完備,易用等的特點。基于上述考慮本系統(tǒng)主要利用POWERBUILDER8作前端的應用開發(fā)工具,利用ADAPTIVESERVERANYWHERE7作為后臺的數(shù)據(jù)庫,利用WINDOWS作為系統(tǒng)平臺開發(fā)的圖書管理系統(tǒng)。另外本圖書館管理系統(tǒng)利用軟件工程化思想和方法,總體上是采用結(jié)構(gòu)化生命法進行系統(tǒng)分析和設計的,而系統(tǒng)實現(xiàn)等步驟則采用了原型法和面對對象的方法。1MIS系統(tǒng)開發(fā)方法系統(tǒng)開發(fā)方法系統(tǒng)開發(fā)方法系統(tǒng)開發(fā)方法管理信息系統(tǒng)的開發(fā)方法有生命周期法、原型法和面向?qū)ο蟮拈_發(fā)方法等生命周期法(LIFECYCLEMTHOD)是20世紀60年代發(fā)展起來的一種應用廣泛且比較成熟的管理系統(tǒng)開發(fā)方法,它的基本思想是將系統(tǒng)的開發(fā)工作從開始到結(jié)束劃分為若干個階段,每個階段都有明確的任務,而系統(tǒng)開發(fā)出來后,并不意味著生2命周期的結(jié)束,而意味著根據(jù)組織的需要對系統(tǒng)的修改和重建的開始。原型法PROTYPINGMETHOD是20世紀80年代發(fā)展起來的,旨在改變生命周期法的缺點的一種系統(tǒng)開發(fā)方法,該法的開發(fā)思路是首先根據(jù)用戶的要求,由用戶和開發(fā)者共同確定系統(tǒng)的基本要求和主要功能,利用系統(tǒng)快速生成工具,建立一個系統(tǒng)模型,再在此基礎上與用戶交流,將模型不斷補充、修改、完善,如此反復,最終直至用戶和開發(fā)者都比較滿意為止,從而形成一個相對穩(wěn)定、較為理想的管理信息系統(tǒng)。面向?qū)ο螅∣BJECTORIENTED)的開發(fā)方法于20世紀80年代開始興起的,是一種基于問題對象的自底向上的一種系統(tǒng)開發(fā)方法,這種方法的特點是以對象為基礎,對象是分析問題和解決問題的核心。2MIS系統(tǒng)開發(fā)過程系統(tǒng)開發(fā)過程系統(tǒng)開發(fā)過程系統(tǒng)開發(fā)過程一個MIS系統(tǒng)的開發(fā)過程一般包括如下幾個步驟(1)需求分析需求分析主要是了解用戶的需求。需求了解得越詳細,程序的后期開發(fā)與維護費用就會越少。一般的開發(fā)團隊中,需求分析都是由資歷較深的系統(tǒng)分析員或項目經(jīng)理擔當,可見它的重要性。需求分析制訂好后,需要反復修改。將最后的結(jié)果交給用戶審定,確認無誤后,由系統(tǒng)分析員完成需求分析文檔,再開始下一步工作。(2)概要設計概要設計緊跟在需求分析之后。用戶需求明確后,將得到的數(shù)據(jù)分析后,開始構(gòu)建數(shù)據(jù)庫的邏輯結(jié)構(gòu)。此時,數(shù)據(jù)庫中的表格還未成形,通過各種分析工具(如POWERDESIGNER等)畫出數(shù)據(jù)流圖,最后就可抽象出數(shù)據(jù)庫的具體表結(jié)構(gòu)。這時由系統(tǒng)分析人員反復審核。確認所有的需求都考慮在內(nèi),沒有遺漏后,就可以開始制訂概要設計文檔。概要設計文檔形成后,整個程序的邏輯框架也就形成了。(3)詳細設計概要設計完成后,根據(jù)設計中制訂的業(yè)務模塊。就可以進行詳細分析設計了。詳細設計就是將各個業(yè)務模塊的窗口全部建好,各3個窗口控件的處理代碼全部用語言表達出。所以詳細設計是整個系統(tǒng)中最繁瑣的環(huán)節(jié)。詳細設計完成后,整個程序就確定了,再由編程人員根據(jù)詳細設計文檔將代碼完成。整個開發(fā)工作就宣告結(jié)束。1程序編碼程序編碼相對于其他環(huán)節(jié)來說比較簡單,程序員只需要根據(jù)詳細分析文檔寫程序編碼,保證代碼沒有錯誤即可。程序編碼需要注意的是整個程序書寫中命名的規(guī)范化與編程風格的規(guī)范化,這需要較長時間的培養(yǎng)來形成。需要在不斷的實踐中形成自己獨特的風格??偟膩碚f,不要過分地追求復雜的算法,因為那可能會導致后期維護人員無法讀懂你的代碼而造成維護的困難。(4)測試程序編碼完成后,就需要測試。測試有幾種類型,主要是測試代碼有無邏輯錯誤以及在加載數(shù)據(jù)環(huán)境下程序的穩(wěn)定性問題。測試工作中發(fā)現(xiàn)的錯誤應及時改正,然后將它記錄到測試文檔中。(5)打包測試完成,確認無誤后。程序就可以打包發(fā)行了。打包一般使用工具如PWISE等。以上是一個完整的MIS系統(tǒng)開發(fā)過程,其實不僅MIS系統(tǒng),其他類型的程序開發(fā)也基本相同。4二系統(tǒng)需求分析整個軟件生命周期中,開發(fā)所占的費用和時間都很小。后期維護工作一般要占整個軟件生命周期的80以上。所以系統(tǒng)分析很重要,一個好的系統(tǒng)分析可以減少很多后期維護工作。1現(xiàn)行業(yè)務描述下面以一所學校的圖書館為例子進行分析,畫出圖書館的組織結(jié)構(gòu)圖如下圖21該圖書館各個部門負責的主要業(yè)務如下(1)采編組主要負責圖書采編工作,包括購置新書、打印編目、增加數(shù)量。(2)目錄廳主要負責讀者查詢工作,包括可借圖書(按圖書類別、圖書名稱或圖書作者查詢);新書目錄(按圖書類別、日期查詢)。(3)借閱組主要負責圖書流通、查詢統(tǒng)計、借閱查詢等工作。(4)閱覽室、工具書室主要負責讀者閱覽工作,包括閱覽各種雜志、館長采編組書庫閱覽室工具書室目錄廳借閱室5報紙、閱覽各種工具書。下面繪制出圖書館流通業(yè)務中借書的流程圖(1)讀者在目錄廳查閱索引卡;(2)讀者寫出所借圖書的分類號、種次號、交給圖書管理員,并出示本人的借書證;(3)圖書管理員根據(jù)圖書的分類號、種次號到書庫找書;(4)將圖書交給讀者,并由讀者填寫所借圖書的借書卡。(5)圖書管理員把借書卡保存到寫有該讀者借書證號的口袋里。得出該圖書館業(yè)務流程圖如下所示圖222現(xiàn)行系統(tǒng)存在問題的分析該圖書館工作大部分還是進行著手工管理,工作起來效率很低,由于不可避免的人為因素,經(jīng)常造成數(shù)據(jù)的遺漏、誤報。計算機信息化管理有著儲存信息量大、速度快等許多優(yōu)點,提供給我們的處理信息及時快捷,6同時也提高了我們工作人員的自身素質(zhì)。3解決方案基于以上的對問題的分析,利用計算機給我們提供信息,及時地調(diào)整學校圖書館圖書結(jié)構(gòu),并且對學生們的借閱過程形成一整套動態(tài)的管理就十分必要了。圖書館信息系統(tǒng)的建立,需要進行用戶的需求調(diào)查與分析,以確定系統(tǒng)目標,提出解決問題的詳細方案,這是系統(tǒng)建設的重要環(huán)節(jié)。學校圖書館規(guī)模相對于商業(yè)圖書館小,但要有著完善的圖書信息,對每一冊書要有詳細的記錄信息,功能上對系統(tǒng)的需求是全面的。因此對用戶的需求可分為四個方面一方面是圖書館工作人員通過計算機來管理各類圖書,分類編號,調(diào)整圖書結(jié)構(gòu),增加圖書庫存,適應學生的需求;二方面是學生們能通過計算機來查詢?yōu)g覽圖書館中的圖書,來確定自己需要的書籍,為借閱做好準備;三方面是工作人員對學生們的借書證發(fā)放;四方面也是圖書館的核心工作,對圖書的借閱管理。這四個方面形成了學校圖書館一個工作整體,采用計算機自動化信息處理,可方便快捷地共享信息、交流信息,高效地協(xié)同工作。在軟、硬件方面對系統(tǒng)的需求,軟件要求易學,界面友好,容易掌握,可以很簡單方便的管理各種圖書信息。硬件的配置要求不能太高,這樣可以很好的適應當前的學校圖書館。在開發(fā)方式上對系統(tǒng)的需求,由于學校圖書館是一種無商業(yè)利益的,所以系統(tǒng)設計開發(fā)的周期要短,在短時間內(nèi)完成,減少開發(fā)成本,提高開發(fā)效率,方便、簡單、實用作為系統(tǒng)開發(fā)的指導思想。7三系統(tǒng)總體結(jié)構(gòu)設計如果要完成一個完整的圖書管理系統(tǒng),需要的相關(guān)信息很多。由于種種條件的限制,同時考慮到開發(fā)成本,所以本系統(tǒng)僅實現(xiàn)基本的管理功能。并不能完全滿足上面例子所描述的圖書館,使用前應進行二次開發(fā)。1系統(tǒng)目標設計系統(tǒng)開發(fā)的總目標是實現(xiàn)內(nèi)部圖書借閱管理的系統(tǒng)化、規(guī)范化和自動化。能夠?qū)D書進行注冊登記,也就是將圖書的基本信息(如書名、作者、價格等)預先存入數(shù)據(jù)庫中,供以后檢索。能夠?qū)栝喨诉M行注冊登記,包括記錄借閱人的姓名、地址、電話等信息。提供方便的查詢方法。如以書名、作者、出版社、出版時間(確切的時間、時間段、某一時間之前、某一時間之后)等信息進行圖書檢索,并能反映出圖書的借閱情況;以借閱人編號對借閱人信息進行檢索;以出版社名稱查詢出版社聯(lián)系方式信息。提供統(tǒng)計分析功能??梢哉宫F(xiàn)出圖書類型比例、庫存與借出比例。提供舊書銷毀功能,對于淘汰、損壞、丟失的書目可及時對數(shù)據(jù)庫進行修改。能夠?qū)κ褂迷摴芾硐到y(tǒng)的用戶進行管理,按照不同的工作職能提供不同的功能授權(quán)。提供較為完善的差錯控制與友好的用戶界面,盡量避免誤操作。82系統(tǒng)功能分析根據(jù)以上功能,將圖書管理系統(tǒng)的數(shù)據(jù)分為數(shù)據(jù)輸入部分主要包括圖書基本信息的錄入、借閱人基本信息的錄入、用戶基本信息的錄入。數(shù)據(jù)輸出部分主要是各種統(tǒng)計查詢,包括根據(jù)圖書信息(如書名、作者、出版社等)查閱圖書及其借閱信息、統(tǒng)計輸出圖書類型比例等。數(shù)據(jù)處理部分主要涉及借閱和歸還的處理,如一本書借出后,必須在數(shù)據(jù)庫中將該書標記為已借出,以防出現(xiàn)數(shù)據(jù)庫中有書但圖書館無書的情況;一本書歸還后,同樣必須在數(shù)據(jù)庫中將其標記為已經(jīng)歸還,以便再次借出。3系統(tǒng)各功能模塊設計在系統(tǒng)功能分析的基礎上,考慮POWERBUILDER程序編制的特點,得到如圖所示的系統(tǒng)功能模塊圖圖31圖書借閱管理系統(tǒng)數(shù)據(jù)輸入子系統(tǒng)數(shù)據(jù)輸出子系統(tǒng)數(shù)據(jù)管理子系統(tǒng)94數(shù)據(jù)流圖(1)圖書基本信息登記/修改圖32說明出版社信息人工錄入后,存放在出版社信息庫中,便于今后書籍信息的錄入以及出版社信息的查詢。分類信息由圖書館進行分類定制,存放在圖書分類信息庫中,用于圖書的分類管理。登記新書時,當涉及到出版社和分類的填寫時,只需做相應的選擇即可,并存放在圖書信息庫中。(2)借閱人基本信息登記/修改圖3圖書信息出版社信息庫圖書分類信息庫出版社信息分類信息得到完整的圖書信息圖書信息庫借閱人基本信息借閱人信息庫10說明錄入借閱人基本信息后存放在借閱人信息庫中。(3)圖書查詢圖34說明輸入查詢條件后,檢索圖書信息庫,并反應出查詢結(jié)果。(4)圖書統(tǒng)計圖35說明根據(jù)選擇的統(tǒng)計條件,檢索圖書分類信息庫或圖書信息庫,并反應出統(tǒng)計結(jié)果。查詢條件圖書信息庫信息查詢圖書查詢結(jié)果統(tǒng)計條件圖書分類信息庫信息統(tǒng)計圖書統(tǒng)計結(jié)果圖書信息庫15圖書借閱圖36說明輸入借閱人編號,通過檢索借閱人信息庫,核實借閱人身份。輸入圖書編號,通過檢索圖書信息庫,核實圖書信息。進行圖書借出處理后,在圖書借閱庫中進行登記,并將借出圖書的在借標志設為“是”。(6)圖書歸還圖37借閱人編號借閱人信息庫借閱人信息認證圖書信息庫圖書借出處理圖書編號圖書信息認證在借信息庫圖書在借狀態(tài)修改在借圖書編號圖書信息庫借閱人信息庫在借信息庫圖書歸還處理圖書在借狀態(tài)修改在借信息庫修改12說明輸入圖書編號,檢索在借信息庫,反應出圖輸借閱情況。進行歸還操作后,修改在借信息庫中相關(guān)條目,同時在圖書信息庫中修改相關(guān)圖書在借標志為“否13四數(shù)據(jù)庫設計數(shù)據(jù)庫的設計是MIS系統(tǒng)的核心部分,設計數(shù)據(jù)庫,首先要進行需求分析,然后進行數(shù)據(jù)庫的概念結(jié)構(gòu)設計、邏輯結(jié)構(gòu)設計、數(shù)據(jù)庫結(jié)構(gòu)實現(xiàn)等步驟。1數(shù)據(jù)庫需求分析根據(jù)以上的需求分析和數(shù)據(jù)組織,開始設計數(shù)據(jù)結(jié)構(gòu),即根據(jù)需求勾畫出實體/關(guān)系圖(E/R)。在概念上,E/R圖代表的是系統(tǒng)需要的數(shù)據(jù)及其這些數(shù)據(jù)之間的關(guān)系。如圖所示的實體/關(guān)系圖圖41從圖中可以看出,在這個系統(tǒng)中實際存在的實體圖書和借閱人,其中借閱人和圖書是多對多關(guān)系,針對本系統(tǒng),通過對圖書借閱管理的內(nèi)容和數(shù)據(jù)流程分析,設計數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)如下(1)圖書基本信息,其數(shù)據(jù)項有圖書編號、圖書名稱、作者、出版社等。(2)借閱人基本信息,其數(shù)據(jù)項有借閱人編號、借閱人姓名、電話等。(3)圖書借閱登記,其數(shù)據(jù)項有借閱序號、借閱圖書編號、借閱人借閱人MEMBER圖書基本信息(BOK)圖書借閱登記(BOKLOAN)14編號等。為了實現(xiàn)圖書信息錄入的方便性與規(guī)范性以及相關(guān)的統(tǒng)計功能,還應增加出版社信息與圖書分類信息(4)出版社信息,其數(shù)據(jù)項有出版社編號、出版社名稱、地址、電話、傳真等。(5)圖書分類信息,其數(shù)據(jù)項有分類編號、分類名稱、同一類型圖書數(shù)目。同時針對于本系統(tǒng)的多用戶使用特點,增加用戶信息表(6)用戶信息表,其數(shù)據(jù)項有用戶名、密碼、用戶權(quán)限。為了實現(xiàn)圖書借閱超期罰款制度,還應增設罰金規(guī)則表(7)罰金規(guī)則表,其數(shù)據(jù)項包括免費使用天數(shù)、罰金費率、規(guī)則啟用開關(guān)。2數(shù)據(jù)庫邏輯結(jié)構(gòu)設計數(shù)據(jù)庫設計有幾個范式,一般我們要做到的是第三范式,即數(shù)據(jù)表中沒有冗余字段以及同一個表中的字段沒有函數(shù)依賴關(guān)系,冗余字段即在一個表中已經(jīng)保存過的信息,在另一個表中就不應該存在,如果需要的話,可以通過表間的關(guān)聯(lián)來得到,函數(shù)依賴性就是一個表中的字段間不應該有計算關(guān)系,如一個表中有單價字段、數(shù)量字段,就不應該有一個總金額字段。如果程序運行過程中需要總金額,可以實時計算。不過在一些較常用的表中,我們可以適當?shù)乇A羧哂嘧侄?,這樣,在程序運行過程中可以減少由于表間互相關(guān)聯(lián)而使用速度降低等問題。這就是所謂的第四范式。數(shù)據(jù)表設計時,最好不要使用用戶輸入的信息作為主鍵,每一個數(shù)據(jù)表自己定義一個主鍵,添加信息是由程序自動添加,這樣就可以減少數(shù)據(jù)更新時產(chǎn)生的錯誤。表與表相關(guān)聯(lián)的外鍵最好是由程序自動生成的主鍵,這樣數(shù)15據(jù)庫就比較規(guī)范了。另外,數(shù)據(jù)表設計時一般都應該有一些標志字段,標志字段可以定義成CHAR1或BIT型。建議實際應用中定義成CHAR1字段可以存儲多種可能的狀態(tài),在最初設計時,可能我們沒有考慮到的一些情況,在程序后來的開發(fā)中,可以通過設計標志字段為不同的值來解決,這樣就避免了修改數(shù)據(jù)庫結(jié)構(gòu)。數(shù)據(jù)庫初期設計時一定要謹慎,把所有可能的情況都考慮進去,即使當時沒有用到,也要將它留在數(shù)據(jù)庫中作為備用字段以便將來擴充。程序一旦開始編碼,就應該盡量避免再修改數(shù)據(jù)庫。因為如果數(shù)據(jù)庫結(jié)構(gòu)一旦改變,所有與修改的數(shù)據(jù)表相關(guān)的業(yè)務都有可能受到影響,而某些影響還很難看到,這樣就容易形成一個惡性循環(huán)。錯誤越改越多,越改越亂,最終導致程序的失敗。PB的數(shù)據(jù)窗口與其他語言的數(shù)據(jù)控件不一樣,它的很多東西是預編譯的。即使你一個模塊已經(jīng)調(diào)試無誤,但只要數(shù)據(jù)庫結(jié)構(gòu)改動。相應的模塊就一定要重新修改,否則一定會出問題。圖書借閱管理系統(tǒng)數(shù)據(jù)庫中各個表的設計結(jié)果如下面幾個表格所示。每個表格表示為數(shù)據(jù)庫中的一個表。借閱人基本信息表MEMBERINFO說明記錄借閱人的基本情況,MEBERID設為主鍵、索引。表41列名數(shù)據(jù)類型長度可否為空注釋MEMBERIDCHAR10NOTNULL借閱人編號MEMBERNAMECHAR10NULL借閱人姓名IDVARCHAR20NULL身份證號ADDCHAR50NULL聯(lián)系地址PHONECHAR20NULL聯(lián)系電話16MOBILECHAR20NULL移動電話用戶基本信息表PEOPLE說明記錄系統(tǒng)用戶的用戶名、密碼與權(quán)限,NAME設為主鍵。表42列名數(shù)據(jù)類型長度可否為空注釋NAMECHAR10NOTNULL用戶名PASSWORDCHAR10NOTNULL密碼LEVELCHAR1NOTNULL權(quán)限圖書基本信息表BOOKINFO說明記錄圖書基本信息,BOKID設為主鍵、索引。表43列名數(shù)據(jù)類型長度可否為空注釋BOOKIDCHAR10NOTNULL圖書編號ISBNCHAR30NULL圖書ISBNCLASSNAMECHAR20NULL圖書類型TITLECHAR40NULL圖書名稱PUBLISHDATEDATENULL出版日期AUTHORCHAR20NULL作者WORDSINTNULL字數(shù)(千字)PUBCHAR30NULL出版社PRICENUMERIC194NULL價格DISKCHAR1NULL附帶光盤KEYWORDCHAR30NULL關(guān)鍵詞NUMBERINTNULL存放代碼ABSTRACTVARCHAR100NULL摘要BOOKONLOANCHAR1NULL圖書在借標志17Y在借N未借出版社基本信息表PUBLISHINFO說明記錄出版社信息,PUBID設為主鍵。表4列名數(shù)據(jù)類型長度可否為空注釋PUBIDCHAR4NOTNULL出版社編號PUBCHAR30NULL出版社名稱ADDCHAR50NULL聯(lián)系地址ZIPCHAR6NULL郵政編碼TELCHAR16NULL聯(lián)系電話FAXCHAR16NULL傳真HTTPCHAR16NULL網(wǎng)址分類信息表BOOKCLASS說明記錄定制的分類情況,CLASID設為主鍵。表45列名數(shù)據(jù)類型長度可否為空注釋CLASSIDCHAR2NOTNULL分類編號CLASSNAMECHAR20NULL分類名稱NUMBERINTNULL數(shù)目借閱情況信息表LOAN說明進行借閱的登記,LOANID設為主鍵、自動增長。表46列名數(shù)據(jù)類型長度可否為空注釋LOANIDINTNOTNUL借閱序號BOKIDCHAR10NOTNUL圖書編號18MEBERIDCHAR10NOTNUL借閱人編號LOANDATEDATENUL借閱日期規(guī)則信息表REGULAR說明記錄設置的借閱規(guī)則,DAYS設為主鍵。表47列名數(shù)據(jù)類型長度可否為空注釋DAYSINT4NOTNUL免費借閱天數(shù)FINEDEC52NUL罰金標準FLAGCHAR1NUL規(guī)則開關(guān)(1)規(guī)劃有效的索引A在組合表的列中創(chuàng)建索引,包括主關(guān)鍵字和外部關(guān)鍵字所在的列。B在列或類組合中創(chuàng)建唯一的索引能增強唯一性。C瀏覽索引并卸載不使用的索引。索引需要一定硬盤空間和時間來維護。具有較高數(shù)據(jù)插入操作頻率的數(shù)據(jù)庫最好不要索引。有較高讀操作頻率的數(shù)據(jù)庫應該有更多的索引。D避免在簇索引中包括不必要的列。在可能的情況下,使用較小的數(shù)據(jù)類型,例如用VARCHAR替代CHAR。E考慮使用簇索引來支持排序和范圍化查詢。在為數(shù)據(jù)檢索優(yōu)化表時,簇索引必須支持數(shù)據(jù)的分組索引。為簇關(guān)鍵字選擇列或列組,簇關(guān)鍵字以經(jīng)常需要的順序排序數(shù)據(jù)或以必須被一起訪問的記錄而分組記錄。F創(chuàng)建支持一般查詢的查找參數(shù)索引。具有高選擇性的列是索引的最好候選列。具有高密度的列是索引糟糕的候選列。(2)使用約束實現(xiàn)數(shù)據(jù)的完整性PRIMARYKEY約束在表中定義了主關(guān)鍵字,它是行唯一的標識符,它可以強制實體完整性。在使用PRIMARYKEY約束時考慮以下19事實A每個表只能有一個PRIMARYKEY約束。B鍵入的值必須是唯一的。C不允許有空值。DPRIMARYKEY約束在指定的列創(chuàng)建唯一的索引,可以指定簇索引和非簇索引(如果非簇索引先前并不存在,簇索引是默認的)。UNIQUE約束指定,在一列中的兩行不能有相同的值。該約束使用唯一的索引來強制實體的完整性。在已有一個主關(guān)鍵字時UNIQUE約束很有用,例如雇員號,但是必須保證其他標識符(例如,雇員駕駛證號)也是唯一的。在使用UNIQUE約束時,考慮以下事實;A允許有空值。B在一個表中可以設置多個UNIQUE約束。C可以將UNIQUE約束運用于具有唯一值的單列或多列,但不能用于表的主關(guān)鍵字。D通過在指定的列或列組中創(chuàng)建唯一的索引,可以使UNIQUE索引得到強制20五圖書管理系統(tǒng)的具體實現(xiàn)1POWERBUILDER開發(fā)工具簡介POWERBUILDER是目前開發(fā)CLIENT/SERVER結(jié)構(gòu)的應用系統(tǒng)的主要工具之一。POWERBUILDER80在繼承與發(fā)展以前版本優(yōu)秀功能的基礎上,為適應網(wǎng)絡應用程序的開發(fā)要求集成了ENTERPISEAPLICATIONSTUDIO中POWERBUILDER以及POWERSITE的功能,在傳統(tǒng)數(shù)據(jù)庫開發(fā)的基礎上,將WEB應用更好地集成到POWERBUILDER中。POWERBUILDER全面支持面向?qū)ο缶幊?。是功能強大并易于使用的?代編程語言4GL,它內(nèi)置了包括數(shù)據(jù)窗口在內(nèi)的多種對象類,可以方便地訪問數(shù)據(jù)庫。相對于其他應用工具,POWERBUILDER具有工作效率高、成本低、質(zhì)量高、功能強的特點。2POWERBUILDER8應用程序開發(fā)的基本步驟我們要開發(fā)應用程序時,首先要對它進行分析。無論哪種、哪方面的應用程序,都要先建立一個應用對象。下面我們介紹以下POWERBUILDER8應用程序開發(fā)的基本步驟(1)首先要建立應用對象。(2)創(chuàng)建窗口。在窗口里放置各種控件和編寫事件響應的腳本。(3)創(chuàng)建菜單。窗口里的菜單可包括菜單條,下拉式菜單,級聯(lián)菜單和彈出式菜單為菜單編寫事件響應的腳本。(4)創(chuàng)建用戶對象。如果想要重復使用某個控件的功能,可以把窗口上經(jīng)常放置的控件定義為用戶對象。(5)創(chuàng)建數(shù)據(jù)窗口。數(shù)據(jù)窗口可以檢索數(shù)據(jù)庫中的數(shù)據(jù),可以建立21各種報或統(tǒng)計表,可以修改數(shù)據(jù)庫。(6)創(chuàng)建函數(shù)、結(jié)構(gòu)、事件。為了能夠更好地支持腳本,編寫自定義的函數(shù),定義結(jié)構(gòu)類型變量,也可以為對象和控件定義自己的事件。(7)運行與調(diào)試??梢栽陂_發(fā)環(huán)境中隨時運行應用程序,發(fā)現(xiàn)錯誤后,可以用調(diào)試工具進行調(diào)試。(8)當應用程序開發(fā)完畢后,可以把它編譯成可執(zhí)行的文件,讓用戶比較容易地建立應用系統(tǒng)的運行環(huán)境。3編碼規(guī)范為了減少在軟件開發(fā)過程中的錯誤,在軟件開發(fā)過程中應該遵守一定的標準。給對象命名要有一定的規(guī)范,部件名稱可以達到40個字符,窗口的命名W_功能代碼_功能描述。數(shù)據(jù)窗口的命名DW_功能代碼_功能描述。菜單命名M_功能代碼_功能描述。標識符命名時,應該使標識符有一定的字面含義,有助于程序的調(diào)試和腳本的可讀性的提高。本系統(tǒng)中使用的命名規(guī)范為變量作用域變量類型”_”具有一定字面含義的名稱。例如LI_SELECTROW反映出的含義”L”代表是本地變量,是LOCAL的縮寫,”I”代表是INTEGER類型的變量,SELECTROW表示該變量是用來記錄一個行號的計數(shù)器。4創(chuàng)建祖先窗口和全局函數(shù)為充分利用PB的面向?qū)ο蟮奶匦?。程序開發(fā)時一般創(chuàng)建幾個模板窗口。將功能窗口上的某些常用功能封裝在模板窗口中。然后將這些模板窗口作為祖先窗口。所有的子孫窗口都可以通過繼承的方法來生成。這樣就減少了代碼的書寫量。使得整個程序界面保持整齊。當修改祖先窗口時,所有的子孫窗口都會自動修改。所以,祖先窗口的確定要十分謹慎。2全局函數(shù)與局部函數(shù)的作用類似。唯一不同的是全局函數(shù)的作用域是整個程序周期。不論你在任何一個模塊的代碼中都可以調(diào)用它。所以我們可以把某些常用功能寫成全局函數(shù)。在程序的其他地方反復調(diào)用。41函數(shù)LEVELCHARACTERLEV功能介紹通過傳入的LEV值,將某些菜單項設為“非使能”,以限制某些功能的使用。LEV值即不同職責的權(quán)限(系統(tǒng)管理1、圖書管理2、借閱人管理3、借閱操作員4),從PEOPLE表中的LEVEL字段中讀取。代碼分析CHOOSECASELEVCASE“1“CASE“2“M_MAINM_借閱人管理ENABLEDFALSEM_MAINM_圖書租賃ENABLEDFALSEM_MAINM_系統(tǒng)菜單M_用戶管理ENABLEDFALSEM_MAINM_系統(tǒng)菜單M_借閱規(guī)則設置ENABLEDFALSEM_MAINM_系統(tǒng)菜單M_圖書信息設置ENABLEDFALSECASE“3“M_MAINM_圖書管理ENABLEDFALSEM_MAINM_圖書租賃ENABLEDFALSEM_MAINM_圖書查詢ENABLEDFALSEM_MAINM_統(tǒng)計資料ENABLEDFALSEM_MAINM_系統(tǒng)菜單M_用戶管理ENABLEDFALSEM_MAINM_系統(tǒng)菜單M_借閱規(guī)則設置ENABLEDFALSE23M_MAINM_系統(tǒng)菜單M_圖書信息設置ENABLEDFALSECASE“4“M_MAINM_圖書管理ENABLEDFALSEM_MAINM_借閱人管理ENABLEDFALSEM_MAINM_系統(tǒng)菜單M_用戶管理ENABLEDFALSEM_MAINM_系統(tǒng)菜單M_借閱規(guī)則設置ENABLEDFALSEM_MAINM_系統(tǒng)菜單M_圖書信息設置ENABLEDFALSEENDCHOOSE42函數(shù)COUNTDAYCOUNTDAYDATEDATE1,DATEDATE2功能介紹通過傳入的DATE1(起始日期)值與DATE2(結(jié)束日期)值,計算出中間相差的天數(shù),返回值為INTEGER型。代碼分析INTDAYDAYINTEGERYEARDATE2INTEGERYEARDATE1365/提交事務CB_NEWSETFOCUS/“新增”按鈕獲得焦點ELSEROLLBACK/回滾事務MESSAGEBOX“系統(tǒng)提示“,“保存失敗請檢驗數(shù)據(jù)的正確性“DW_1SETCOLUMN1/數(shù)據(jù)窗口第一列獲得焦點DW_1SETFOCUSENDIFELSECB_NEWSETFOCUS/“新增”按鈕獲得焦點ENDIF30(5)舊書銷毀窗口W_DELBOOK圖54功能介紹刪除圖書信息。操作方法首先通過圖書編號檢索出圖書信息,然后點擊“銷毀”按鈕注銷圖書。代碼分析OPEN事件類同“新書入庫窗口W_NEWBOOK”“檢索”按鈕STRINGLS_BOOKID,LS_FILTERLS_BOOKIDSLE_BOOKIDTEXT/設置過濾條件DW_1SETFILTER“BOOKID“LS_BOOKID“/過濾數(shù)據(jù)DW_1FILTER/使“銷毀”按鈕可用CB_DELENABLEDTRUESLE_BOOKIDSETFOCUS“銷毀”按鈕LONGLI_ROWLI_ROWDW_1GETROW/得到當前行號IFLI_ROW0THEN/判斷是否有可刪除的行IFMESSAGEBOX刪除詢問,真的要注銷此書嗎31,QUESTION,YESNO,21THENDW_1DELETEROWLI_ROW/刪除行IFDW_1UPDATE0THEN/更新數(shù)據(jù)庫COMMITELSEROLLBACKMESSAGEBOX“錯誤提示“,“無法注銷“ENDIFLI_ROWDW_1GETROW/得到當前行IFLI_ROW0THEN/判斷是否有該“借閱人”MESSAGEBOX“系統(tǒng)提示“,“沒有此借閱人信息“SLE_MEMBERIDSETFOCUS/“借閱人編號”輸入框獲得焦點RETURNELSESLE_BOOKIDSETFOCUS/“圖書編號”輸入框獲得焦點SLE_MEMBERNAMETEXTLS_MEMBERNAME/顯示“”借閱人姓名ENDIF“圖書編號”輸入框MODIFIED事件STRINGLS_BOOKID,LS_TITLELS_BOOKIDTRIMTHISTEXT35SELECTTITLEINTOLS_TITLEFROMBOOKINFOWHEREBOOKIDLS_BOOKIDIFSQLCASQLCODE0THENMESSAGEBOX“系統(tǒng)提示“,“沒有此圖書信息“SLE_BOOKIDSETFOCUSRETURNELSESLE_TITLETEXTLS_TITLEENDIF“借閱”按鈕STRINGLS_BOOKID,LS_MEMBERID,LS_BOOKONLOANDATELDT_NOWDATELDT_NOWDATETODAY/獲得“當前日期”LS_BOOKIDTRIMSLE_BOOKIDTEXT/獲得“借閱人號”LS_MEMBERIDTRIMSLE_MEMBERIDTEXT/獲得“圖書編號”/強制輸入“借閱人號”與“圖書編號”IFLS_MEMBERID“ORISNULLLS_MEMBERIDTHENMESSAGEBOX“系統(tǒng)提示“,“請輸入借閱人編號“SLE_MEMBERIDSETFOCUSRETURNENDIFIFLS_BOOKID“ORISNULLLS_BOOKIDTHENMESSAGEBOX“系統(tǒng)提示“,“請輸入圖書編號“SLE_BOOKIDSETFOCUS36RETURNENDIF/根據(jù)“圖書編號”查詢圖書是否借出SELECTBOOKONLOANINTOLS_BOOKONLOANFROMBOOKINFOWHEREBOOKIDLS_BOOKIDIFLS_BOOKONLOAN“Y“THENMESSAGEBOX“系統(tǒng)提示“,“本書已經(jīng)外借“SLE_BOOKIDSETFOCUSRETURNELSE/添加圖書借閱記錄INSERTINTOLOANBOOKID,MEMBERID,LOANDATEVALUESLS_BOOKID,LS_MEMBERID,LDT_NOWDATECOMMIT/設置該圖書為“借出”狀態(tài)UPDATEBOOKINFOSETBOOKONLOANYWHEREBOOKIDLS_BOOKIDCOMMITENDIF/“借閱人號”得到焦點,所有輸入框清空SLE_MEMBERIDSETFOCUSSLE_BOOKIDTEXT“SLE_TITLETEXT“SLE_MEMBERIDTEXT“SLE_MEMBERNAMETEXT“37“關(guān)閉”按鈕CLOSEPARENT(9)還書窗口W_RETURN圖58功能介紹歸還圖書操作方法輸入“圖書編號”,判斷后顯示出圖書名稱、借閱人編號、借閱人姓名。并根據(jù)是否啟用了“罰金制度”(在“罰金規(guī)則窗口”設置),決定是否計算罰金。代碼分析OPEN事件CHARLC_FLAG/查詢“規(guī)則”是否啟用,并表現(xiàn)出來SELCTFLAGINTOLC_FLAGFROMREGULARIFLC_FLAGYTHENSLE_FINENABLEDTRUETHISWIDTH1285THISHEIGHT1256“圖書編號”輸入框MODIFED事件STRINGLS_BOKID,LS_TILE,LS_MEBERID,LS_MEBERNAMEDATELD_ATE1,LD_ATE2INTLI_DAYSDECLD_FINE,LD_COUNTFINELD_ATE2TODAY/獲得當前日期LS_BOKIDTRIMTHISTEXT/獲得“圖書編號”/根據(jù)“圖書編號”查詢出“借閱日期”SELCTLOANDATEINTOLD_ATE1FROMLOAN38WHERBOKIDLS_BOKID/查詢“免費天數(shù)”、“罰金規(guī)定”SELCTDAYS,FINEINTOLI_DAYS,LD_FINEFROMREGULAR/計算罰金LD_COUNTFINECOUNTFINELI_DAYS,LD_FINE,COUNTDAYLD_ATE1,LD_ATE2/查詢“圖書名稱”SELCTTILEINTOLS_TILEFROMBOKINFOWHERBOKIDLS_BOKID/查詢“借閱人號”、“借閱人姓名”SELCTMEBERID,MEBERNAMEINTOLS_MEBERID,LS_MEBERNAMEFROMMEBERINFOWHERMEBERIDINSELCTMEBERIDFROMLOANWHERBOKIDLS_BOKIDIFSQLCASQLCODE0THENMESAGEBOX“系統(tǒng)提示“,沒有借閱信息“SLE_BOKIDSETFOCUSRETURNELSESLE_TILETEXTLS_TILESLE_MEBERIDTEXTLS_MEBERIDSLE_MEBERNAMETEXTLS_MEBERNAMEIFSLE_FINENABLEDTRUETHENSLE_FINETEXTSTRINGLD_COUNTFINEENDIF“歸還”按鈕STRINGLS_BOKID,LS_BOKONLOANLS_BOKIDSLE_BOKIDTEXTIFLS_BOKID“ORISNULLS_BOKIDTHENMESAGEBOX“系統(tǒng)提示“,請輸入圖書編號“SLE_BOKIDSETFOCUSRETURNELSE39SELCTBOKONLOANINTOLS_BOKONLOANFROMBOKINFOWHERBOKIDLS_BOKIDIFLS_BOKONLOAN“NTHENMESAGEBOX“系統(tǒng)提示“,本書已歸還“ELSEDELTELOANWHERBOKIDLS_BOKIDUPDATEBOKINFOSETBOKONLOANNWHERBOKIDLS_BOKIDCOMITENDIFENDIFSLE_BOKIDSETFOCUSSLE_BOKIDTEXT“SLE_TILETEXT“SLE_MEBERIDTEXT“SLE_MEBERNAMETEXT“SLE_FINETEXT“關(guān)閉”按鈕CLOSEPARENT(10)圖書查詢“按圖書標題查詢“窗口W_SEARCH_TILE“按作者姓名查詢”窗口W_SEARCH_AUTHOR“按出版社查詢”窗口W_SEARCH_PUB“按關(guān)鍵詞查詢”窗口W_SEARCH_KEYWORD“按ISBN號查詢”窗口W_SEARCH_ISBN“按出版日期某個階段查詢”窗口W_SEARCH_DATE_BETWEN“按出版日期某個日期查詢“窗口W_SEARCH_DATE_DATE“按出版日期某日期之前查詢”窗口W_SEARCH_DATE_BEFORE“按出版日期某日期之后查詢”窗口W_SEARCH_DATE_AFTER說明由于“按出版日期查詢”使用的是DATE型數(shù)據(jù),所以分開闡述。其中,查詢條件為CHAR型40圖59說明屬于此類的查詢包括“按圖書標題查詢“、“按作者姓名查詢”、“按出版社查詢”“按關(guān)鍵詞查詢”、“按ISBN號查詢”。由于“按圖書標題查詢“窗口W_SEARCH_TILE為模板窗口,其他窗口都是繼承得來,所以僅分析這個窗口。功能介紹根據(jù)查詢條件,檢索出符合條件的數(shù)據(jù)操作方法輸入檢索條件,點擊“查詢”按鈕進行查詢,點擊“重置”按鈕重新輸入查詢條件。代碼分析OPEN事件DW_1SETRANSOBJECTSQLCATHISWIDTH361THISHEIGHT1096“查詢”按鈕STRINGLS_TILELS_TILETRIMSLE_FINDTEXTIFSLE_FINDTEXT“THENMESAGEBOX“提示信息“,請輸入“MIDST_1TEXT,4ELSELS_TILE“LS_TILE“/設置檢索條件DW_1RETRIEVLS_TILEENDIFSLE_FINDSETFOCUS“重置”按鈕SLE_FINDTEXT“SLE_FINDSETFOCUS數(shù)據(jù)窗口的數(shù)據(jù)源SQL語句SELCT“BOKINFO“BOKONLOAN“,41“BOKINFO“NUMBER“,“BOKINFO“TILE“,“BOKINFO“AUTHOR“,“BOKINFO“PUB“,“BOKINFO“PUBLISHDATE“,“BOKINFO“ISBN“,“BOKINFO“KEYWORDS“,“BOKINFO“ABSTRACT“FROM“BOKINFO“WHER“BOKINFO“TILE“LIKEQUERY/QUERY為查詢變量查詢條件為DATE型圖510說明屬于此類查詢的查詢包括“按出版日期某個階段查詢”、“按出版日期某個日期查詢“、“按出版日期某日期之前查詢”、“按出版日期某日期之后查詢”。我們將對“按出版日期某個階段查詢”窗口W_SEARCH_DATE_BETWEEN進行分析。功能介紹根據(jù)查詢條件,檢索出符合條件的數(shù)據(jù)操作方法輸入檢索條件,點擊“查詢”按鈕進行查詢,點擊“重置”按鈕重新輸入查詢條件。代碼分析42OPEN事件類同“按圖書標題查詢“窗口“查詢”按鈕DATEID_START,ID_ENDIFISDATEEM_DATETEXTTHENIFISDATEEM_DATE2TEXTTHENID_STARTDATEEM_DATETEXTID_ENDDATEEM_DATE2TEXTELSEMESSAGEBOX“數(shù)據(jù)錯誤“,“請重新輸入結(jié)束日期“EM_DATE2SETFOCUSRETURNENDIFELSEMESSAGEBOX“數(shù)據(jù)錯誤“,“請重新輸入開始日期“EM_DATESETFOCUSRETURNENDIFIFID_STARTID_ENDTHENMESSAGEBOX“數(shù)據(jù)錯誤“,“開始日期不能大于結(jié)束日期“ELSEDW_1RETRIEVEID_START,ID_ENDENDIFEM_DATESETFOCUS“重置”按鈕EM_DATETEXT“EM_DATE2TEXT“EM_DATESETFOCUS43數(shù)據(jù)窗口的數(shù)據(jù)源SQL語句SELECT“BOOKINFO“BOOKONLOAN“,“BOOKINFO“NUMBER“,“BOOKINFO“TITLE“,“BOOKINFO“AUTHOR“,“BOOKINFO“PUB“,“BOOKINFO“PUBLISHDATE“,“BOOKINFO“ISBN“,“BOOKINFO“KEYWORDS“,“BOOKINFO“ABSTRACT“FROM“BOOKINFO“WHERE“BOOKINFO“PUBLISHDATE“BETWEENDATE1ANDDATE2/DATE1與DATE2為查詢變量(1)統(tǒng)計窗口各類圖書比例窗口W_COUNT_BOOKTYPE、庫存/借出比例窗口W_COUNT_LOAN說明由于這兩個窗口大同小異,所以僅對W_COUNT_BOKTYPE進行說明。圖514功能介紹統(tǒng)計現(xiàn)有各類圖書比例,并以餅型圖顯示出來。數(shù)據(jù)窗口的數(shù)據(jù)源SQL語句SELECT“BOOKINFO“BOOKONLOAN“,COUNTFROM“BOOKINFO“GROUPBY“BOOKINFO“BOOKONLOAN“(12)用戶管理窗口W_PEOPLE圖512功能介紹添加、刪除、修改用戶信息。操作方法A添加用戶點擊“添加”按鈕,輸入用戶名、密碼、選擇等級,點擊“保存”B刪除用戶點擊欲刪除的用戶,點擊“刪除”按鈕C修改用戶修改用戶信息,點擊“保存”按紐代碼分析OPEN事件類同“新書入庫窗口W_NEWBOK”數(shù)據(jù)窗口ROWFOCUSCHANGED事件THISELCTROW0,FALSE/高亮顯示當前選中的行THISELCTROWCURENTROW,TRUE數(shù)據(jù)窗口CLICKED事件CB_DELENABLEDTRUE/點擊數(shù)據(jù)窗口后使“刪除”按鈕可用“增加”按紐類同“新書入庫窗口W_NEWBOK”45“保存”按紐類同“新書入庫窗口W_NEWBOK”“刪除”按紐類同“舊書銷毀窗口W_DELBOK”(13)圖書信息設置圖書分類設置窗口W_BOKCLAS、出版社信息窗口W_PUBINFO圖513功能介紹設置圖書分類信息與出版社信息,同時可以對出版社信息進行查詢說明設置“圖書分類信息”是為了今后統(tǒng)計現(xiàn)有圖書類型比例,設置“出版社信息”是為了今后查詢出版社信息,同時在“新書入庫”時方便相應項目的輸入(下拉DATAWINDOW)代碼分析略46(14)借閱規(guī)則設置窗口W_REGULAR圖514功能介紹設置罰金規(guī)則操作方法填寫“免費使用天數(shù)”、“罰金費率”,

溫馨提示

  • 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

提交評論