圖書館管理系統(tǒng)畢業(yè)論文.doc_第1頁
圖書館管理系統(tǒng)畢業(yè)論文.doc_第2頁
圖書館管理系統(tǒng)畢業(yè)論文.doc_第3頁
圖書館管理系統(tǒng)畢業(yè)論文.doc_第4頁
圖書館管理系統(tǒng)畢業(yè)論文.doc_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 摘要畢業(yè)設(shè)計題 目(中文) 圖書管理系統(tǒng) (英文 )The book collection software taking care of books system 課題類型 軟件設(shè)計 課題來源 自選 學(xué)生姓名 院系 軟件學(xué)院 班級 指導(dǎo)教師 摘 要圖書館管理信息系統(tǒng)是典型的計算機(jī)信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫。而對于后者則要求應(yīng)用程序功能完備,易使用等特點。本管理系統(tǒng)包括了系統(tǒng)登錄、讀者管理、書籍管理、借閱信息管理四個總的功能塊。在各個功能塊中又具體包括了讀者種類信息管理、

2、讀者信息管理、書籍類別管理、書籍信息管理、借書信息管理、還書信息管理功能。使用戶方便的對圖書館的信息進(jìn)行管理,為讀者借閱還書的節(jié)省了大量的時間。 首先在短時間內(nèi)建立系統(tǒng)應(yīng)用原型,然后,對初始原型系統(tǒng)進(jìn)行需求迭代,不斷修正和改進(jìn),直到形成用戶滿意的可行系統(tǒng)。關(guān)鍵字:圖書館管理信息系統(tǒng)、數(shù)據(jù)庫、VISUAL BASIC。ABSTRACTThe management information system of the library is a typical computer application of managing information system (know as MIS),which

3、 mainly includes building up data-base of back-end and developing the application interface of front-end. The former required consistency and integrality and security of data. The later should make the application powerful and easily used. Including systematically, books manage, borrow information m

4、anagement four a piece of total functional blocks management reader log-in this administrative system. Of being at each functional blocks it is again the concrete it include reader kind information management, Reader information management, borrow letter breath to manage, return letter functions of

5、management of breath information management books classification management books. Made users convenient information to the library carry on management, the ones that borrowed and return the book to the reader had saved a large amount of time. Keywords: The management information system of the libra

6、ry、database、VISUAL BASIC. 前言前 言隨著人類社會的發(fā)展,人類知識不斷地增長、擴(kuò)大。人們也面臨更大的挑戰(zhàn),在這種挑戰(zhàn)面前,人們需要不斷的學(xué)習(xí)、不斷的進(jìn)步,來面對更大的挑戰(zhàn)。在這種形勢下,書籍就漸漸地成為人們獲取、增長知識的主要途徑,而圖書館就自然而然地在人們的生活中占據(jù)了一定的位置。在圖書館方面,就必然面臨著一個問題:怎樣才能科學(xué)、有效的把圖書館里圖書管理好?這一個問題直接關(guān)系到讀者求知的方便程度,也關(guān)系到圖書館的發(fā)展。在現(xiàn)代社會中,計算機(jī)已經(jīng)在各行各業(yè)發(fā)揮著重要的作用,用計算機(jī)來管理已經(jīng)成為必然的結(jié)果。圖書館也不例外,在圖書館的管理過程中,同樣也必需使用計算機(jī)來輔助管

7、理。有了計算機(jī)的輔助管理,必然要有一套較完善的計算機(jī)處理系統(tǒng)(圖書館管理系統(tǒng))來管理圖書館,這樣才能科學(xué)、有效的對圖書進(jìn)行管理。利用圖書館管理系統(tǒng)進(jìn)行管理,能更有效的對圖書進(jìn)行系統(tǒng)管理,方便讀者對各類圖書的查詢,同時也大大提高了辦理借書、還書手續(xù)方面的工作效率和提高圖書館的服務(wù)效率,為讀者提供方便。針對上述情況,本人開發(fā)了一套圖書館管理專業(yè)軟件-圖書管理系統(tǒng),該系統(tǒng)并不針對某一個圖書館而開發(fā),所以在通用性方面相對較廣些。相對于同類軟件來說,該系統(tǒng)功能較齊全,集合了圖書館從進(jìn)書、銷書、查詢、借書、還書、管理等多種功能。在操作方面也比較方便,界面也較友好。在數(shù)據(jù)庫方面,該系統(tǒng)采用SQL Serve

8、r2000數(shù)據(jù)庫系統(tǒng),在安全性方面也有了較大的提高例,談?wù)勂溟_發(fā)過程和所涉及到的問題及解決方法。在下面的各章中我們將對圖書館管理信息系統(tǒng)簡單介紹其開發(fā)過程和所涉及到的問題及解決方法。與傳統(tǒng)的手工作業(yè)相比,它大大提高了工作效率,而且系統(tǒng)采用人機(jī)對話方式,菜單提示,界面友好、操作簡單,實現(xiàn)開架借書,加強(qiáng)了圖書流通管理。 目錄目 錄第一章 圖書館管理信息系統(tǒng)的問題11.1 圖書館管理信息系統(tǒng)的簡介11.2 圖書館管理信息系統(tǒng)的用戶需求11.3 圖書館管理信息系統(tǒng)功能分析21.4 圖書館管理信息系統(tǒng)功能模塊設(shè)計3第二章 圖書館管理信息系統(tǒng)數(shù)據(jù)庫的設(shè)計42.1 數(shù)據(jù)庫的需求分析42.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)

9、計52.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)的實現(xiàn)7第三章 圖書館管理信息系統(tǒng)的開發(fā)環(huán)境93.1 圖書館管理信息系統(tǒng)的開發(fā)語言簡介9311 開發(fā)環(huán)境的選擇93.2 數(shù)據(jù)庫環(huán)境的選擇103.3 VB語言和函數(shù)103.4 Active數(shù)據(jù)對象ADO113.4.1、ADO的編程模型113.4.2、ADO的對象模型123.4.3、為項目添加ADO133.5 與數(shù)據(jù)庫的連接性13第四章 圖書館管理信息系統(tǒng)的具體實現(xiàn)154.1 系統(tǒng)客戶端程序154.2 系統(tǒng)用戶管理模塊的創(chuàng)建174.3 讀者種類管理模塊的創(chuàng)建184.4 讀者信息管理模塊的創(chuàng)建204.5 書籍類別管理模塊的創(chuàng)建224.6 書籍信息管理模塊的創(chuàng)建234.7 借

10、書信息管理模塊的創(chuàng)建254.8 還書信息管理模塊的創(chuàng)建264.9 圖書館管理信息系統(tǒng)的實現(xiàn)27結(jié)束語30致 謝31參考文獻(xiàn)32 第一章 圖書館管理信息系統(tǒng)的問題1.1 圖書館管理信息系統(tǒng)的簡介 圖書館管理信息系統(tǒng)是針對圖書館的大量業(yè)務(wù)處理工作而開發(fā)的管理軟件。根據(jù)用戶的要求,實現(xiàn)借閱管理、讀者管理、和圖書管理,等幾個方面的功能。 本軟件是為了規(guī)范單位的圖書館日常運作,加強(qiáng)圖書借閱的信息管理而開發(fā)設(shè)計的。時間比較倉促,肯定存在許多問題,同時將邊運行邊修改與完善,使其更好的服務(wù)于圖書館的日常管理,滿足圖書館管理方面的各種需要。 本軟件界面友好,操作簡單,小巧實用,運行穩(wěn)定,自動化程度較高,具備多種

11、功能,能滿足一般小型圖書室的日常管理需要。可進(jìn)行書籍、讀者、借書和還書等信息的錄入、修改與刪除,同時提供靈活豐富的查詢、報表打印等功能,方便統(tǒng)計匯總。1.2 圖書館管理信息系統(tǒng)的用戶需求總體功能需求圖書館管理信息系統(tǒng)是針對圖書館的大量業(yè)務(wù)處理工作用計算機(jī)進(jìn)行全面現(xiàn)代化管理.主要包括讀者管理、書籍管理、和借閱信息管理, 等幾個方面的功能,以實現(xiàn)用戶方便的借書.還書.查詢所需書籍等需求。具體系統(tǒng)功能需求描述(1)讀者管理讀者管理可分為讀者種類管理和讀者信息管理,可完成對讀者種類的添加.修改.刪除功能;以及完成對讀者信息的添加.修改.刪除.查詢功能。(2) 書籍管理書籍管理包括書籍類別管理和書籍信息

12、管理,可完成對書籍類別的添加.修改.刪除功能;以及完成對書籍信息的添加.修改.刪除.查詢功能。 (3) 借閱信息管理24 借閱信息管理包括借書信息管理和還書信息管理,借書信息管理要完成對所借書籍的添加.修改.刪除.查詢功能;還書信息管理要完成對所還書籍的添加.修改.刪除功能。1.3 圖書館管理信息系統(tǒng)功能分析 系統(tǒng)開發(fā)的總?cè)蝿?wù)是實現(xiàn)企業(yè)人事管理信息關(guān)系的系統(tǒng)化、規(guī)范化和自動化。系統(tǒng)功能分析是在系統(tǒng)開發(fā)的總體任務(wù)的基礎(chǔ)上完成的,本系統(tǒng)的需要完成功能主要有:l 有關(guān)讀者種類標(biāo)準(zhǔn)的制定、種類信息的輸入,包括種類編號、種類名稱、借書數(shù)量、借書期限、有效期限、備注等。l 讀者種類信息的修改、查詢等。l

13、讀者基本信息的輸入,包括讀者編號、讀者姓名、讀者種類、讀者性別、工作單位、家庭住址、電話號碼、電子郵件地址、辦證日期、備注等。l 讀者基本信息的輸入,包括讀者編號、讀者姓名、讀者種類、讀者性別、工作單位、家庭住址、電話號碼、電子郵件地址、辦證日期、備注等等。l 書籍類別標(biāo)準(zhǔn)的制定、類別信息的輸入,包括類別編號、類別名稱、關(guān)鍵詞、備注信息等。l 書籍類別信息的查詢、修改,包括類別編號、類別名稱、關(guān)鍵詞、備注信息等。l 書籍信息的輸入,包括書籍編號、書籍名稱、書籍類別、作者姓名、出版社名稱、出版日期、書籍頁數(shù)、關(guān)鍵詞、登記日期、備注信息等。l 書籍信息的查詢、修改,包括書籍編號、書籍名稱、書籍類別

14、、作者姓名、出版社名稱、出版日期、書籍頁數(shù)、關(guān)鍵詞、登記日期、備注信息等。l 借書信息的輸入,包括借書信息編號、讀者編號、讀者姓名、書籍編號、書籍名稱、借書日期、備注信息等。l 借書信息的查詢、修改,包括借書信息編號、讀者編號、讀者姓名、書籍編號、書籍名稱、借書日期、備注信息等。l 還書信息的輸入,包括還書信息編號、讀者編號、讀者姓名、書籍編號、書籍名稱、借書日期、還書日期、備注信息等。l 還書信息的查詢和修改,包括還書信息編號、讀者編號、讀者姓名、書籍編號、書籍名稱、借書日期、還書日期、備注信息等。1.4 圖書館管理信息系統(tǒng)功能模塊設(shè)計對上述各項功能進(jìn)行集中、分塊,按照結(jié)構(gòu)化程序設(shè)計的要求,

15、得到下圖所示的系統(tǒng)功能模塊圖:圖書館管理信息系統(tǒng) 書籍信息查詢書籍信息修改還書信息添加還書信息修改借書信息查詢借書信息修改借書信息添加書籍信息添加書籍類別修改書籍類別添加讀者信息查詢讀者信息修改讀者信息添加讀者種類修改讀者種類添加用戶管理密碼管理設(shè)置讀者種類設(shè)置讀者信息設(shè)置書籍種類設(shè)置書籍信息借書信息管理還書信息管理系統(tǒng)管理讀者信息管理書籍信息管理借閱信息管理還書信息查詢系統(tǒng)功能模塊圖(圖1-1) 第二章 圖書館管理信息系統(tǒng)數(shù)據(jù)庫的設(shè)計數(shù)據(jù)庫在信息管理系統(tǒng)中有著很重要的地位,合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計可以提高數(shù)據(jù)儲存的效率,保證數(shù)據(jù)的完整和一致,有利于程序的實現(xiàn)。設(shè)計數(shù)據(jù)庫系統(tǒng)時應(yīng)該首先充分了解用戶

16、各個方面的要求,包括現(xiàn)有的以及將來可能增加的需求。數(shù)據(jù)庫設(shè)計一般包括如下幾個步驟:l 數(shù)據(jù)庫需要分析。l 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計。l 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計。2.1 數(shù)據(jù)庫的需求分析用戶的需求具體體現(xiàn)在各種信息的提供、保存、更新和查詢,這就要求數(shù)據(jù)庫結(jié)構(gòu)能充分滿足各種信息的輸出和輸入。收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)以及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為后面的具體設(shè)計打下基礎(chǔ)。仔細(xì)分析調(diào)查有關(guān)圖書館管理信息需求的基礎(chǔ)上,得到下圖所示的本系統(tǒng)所處理的數(shù)據(jù)流程:書籍信息返回讀者信息返回基本信息錄入書籍登記基本信息錄入讀者登記基本信息錄入基本信息錄入借閱信息管理書籍信息管理讀者信息管理書籍類別信息管理讀者種類

17、信息管理 書籍類別設(shè)置讀者種類設(shè)置借閱信息輸入圖書館管理信息系統(tǒng)數(shù)據(jù)流程圖(圖2-1)針對一般的圖書館管理信息系統(tǒng)的要求,通過對圖書館管理工作過程的內(nèi)容和數(shù)據(jù)流程分析,設(shè)計如下面所示的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu):l 讀者種類信息,包括的數(shù)據(jù)項有:種類編號、種類名稱、借書數(shù)量、借書期限、有效期限、備注等。l 讀者信息,包括的數(shù)據(jù)項有:讀者編號、讀者姓名、讀者種類、讀者性別、工作單位、家庭住址、電話號碼、電子郵件地址、辦證日期、備注等。l 書籍類別信息,包括的數(shù)據(jù)項有:類別編號、類別名稱、關(guān)鍵詞、備注信息等。l 書籍信息,包括的數(shù)據(jù)項有:書籍編號、書籍名稱、書籍類別、作者姓名、出版社名稱、出版日期、書籍頁數(shù)

18、、關(guān)鍵詞、登記日期、備注信息等。l 借閱信息,包括的數(shù)據(jù)項有:借閱信息編號、讀者編號、讀者姓名、書籍編號、書籍名稱、借書日期、還書日期、備注信息等。2.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計采用SQL Sever 2000來完成圖書館管理信息系統(tǒng)的數(shù)據(jù)庫,需將上面的數(shù)據(jù)庫的概念結(jié)構(gòu)轉(zhuǎn)化為SQL的數(shù)據(jù)庫所支持的實際數(shù)據(jù)模型,這也就是數(shù)據(jù)庫的邏輯結(jié)構(gòu)。圖書館管理信息管理系統(tǒng)數(shù)據(jù)庫中的表格的設(shè)計結(jié)果有以下的表格所表示,這些表格表示在數(shù)據(jù)庫中的一個表:l readertype 讀者種類信息表表中內(nèi)容有:讀者種類編號、讀者種類名稱、借書數(shù)量、借書期限、有效期限、備注信息。l readers 讀者信息表格表中內(nèi)容有:re

19、adertype中的所有內(nèi)容、讀者編號、讀者姓名、讀者性別、電話號碼、電子郵件地址、辦證日期、工作單位、家庭住址。l booktype 書籍類別信息表表中內(nèi)容有:書籍類別編號、書籍類別名稱、關(guān)鍵詞、備注信息。l books 書籍信息表表中內(nèi)容有:書籍名稱、書籍類別、作者姓名、出版社名稱、出版日期、書籍頁數(shù)、關(guān)鍵詞、登記日期、備注信息。l borrowinfo 借閱信息表表中內(nèi)容有:包括books表中的書籍名稱、書籍類別、作者姓名、出版社、書籍備注信息,以及讀者信息中的讀者編號、讀者姓名、讀者種類、借書日期、備注信息。 readertype 讀者種類信息表(圖2-3)readers 讀者信息表格

20、(圖2-4) booktype 書籍類別信息表(圖2-5)books書籍信息表(圖2-6) borrowinfo借閱信息表(圖2-7)得到上面的各項數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)以后,就可以設(shè)計出能夠滿足用戶需求的各種實體,以及他們之間的關(guān)系,為以后的邏輯結(jié)構(gòu)設(shè)計打下基礎(chǔ)。根據(jù)上面的設(shè)計規(guī)劃出的實體有:讀者類別信息實體、讀者信息實體、書籍類別信息實體、書籍信息實體、借閱信息實體。由于上面已經(jīng)介紹了各個實體的包含內(nèi)容,這里就不在對每個實體的E-R圖做介紹。現(xiàn)介紹各個實體之間的相互關(guān)系E-R圖如下: 書籍信息管理讀者信息管理書籍信息登記讀者信息登記書籍類別信息讀者類別信息借閱書籍 借閱信息管理 圖2-22.3

21、數(shù)據(jù)庫邏輯結(jié)構(gòu)的實現(xiàn)經(jīng)過前面的需求分析和概念結(jié)構(gòu)設(shè)計以后,得到數(shù)據(jù)庫的邏輯結(jié)構(gòu)。然后用SQL server 2000 數(shù)據(jù)庫系統(tǒng)中的SQL查詢分析器實現(xiàn)該邏輯結(jié)構(gòu)。下面是就用戶表格、讀者種類信息表格、讀者信息表格、書籍類別信息表格的SQL語句舉例如下:l 創(chuàng)建系統(tǒng)用戶表格 user_InfoCREATE TABLE dbo.user_Info1 (user_ID char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,user_PWD char (10) COLLATE Chinese_PRC_CI_AS NULL ,user_Des char (10) C

22、OLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARYl 創(chuàng)建讀者種類信息表格 readertypeCREATE TABLE dbo.readertype (typeno char (10) COLLATE Chinese_PRC_CI_AS NOT NULL , typename char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,booknumber numeric(4, 0) NULL ,bookdays numeric(4, 0) NULL ,userfullife numeric(5, 0) NULL ,memo

23、text COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARY TEXTIMAGE_ON PRIMARYl 創(chuàng)建讀者信息表格 readersCREATE TABLE dbo.readers (readerno char (10) COLLATE Chinese_PRC_CI_AS NULL ,readername char (20) COLLATE Chinese_PRC_CI_AS NULL ,readersex char (3) COLLATE Chinese_PRC_CI_AS NULL ,readertype char (10) COLLATE Chi

24、nese_PRC_CI_AS NULL ,readerdep char (40) COLLATE Chinese_PRC_CI_AS NULL ,address char (40) COLLATE Chinese_PRC_CI_AS NULL ,readertel char (20) COLLATE Chinese_PRC_CI_AS NULL ,email char (20) COLLATE Chinese_PRC_CI_AS NULL ,checkdate datetime NULL ,readermemo text COLLATE Chinese_PRC_CI_AS NULL ) ON

25、PRIMARY TEXTIMAGE_ON PRIMARYl 創(chuàng)建書籍類別信息表格 booktypeCREATE TABLE dbo.booktype (booktypeno char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,typename char (20) COLLATE Chinese_PRC_CI_AS NULL ,keyword char (20) COLLATE Chinese_PRC_CI_AS NULL ,memo text COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARY TEXTIMAGE_ON

26、 PRIMARY 第三章 圖書館管理信息系統(tǒng)的開發(fā)環(huán)境3.1 圖書館管理信息系統(tǒng)的開發(fā)語言簡介311 開發(fā)環(huán)境的選擇Microsoft公司推出Windows以后,立即以其新穎的圖形用戶界面、卓越的多任務(wù)操作系統(tǒng)性能、高層次的軟件開發(fā)平臺而風(fēng)靡全球。尤其是Office使用軟件的方便使用使許多應(yīng)用人員想到手動的設(shè)計Windows用戶界面。然而由于對于程序員來說,工作的難度很大。為了適應(yīng)Windows下運行程序,就必須建立相應(yīng)的窗口、菜單、對話框等各種控件,面對這種情況,1990年Microsoft公司推出了Windows應(yīng)用程序開發(fā)工具VB,從而達(dá)到了可視化的結(jié)果。在visual basic中,既

27、繼承了basic語言簡單易用的特點,又采用了面向?qū)ο?、事件?qū)動的編程機(jī)制,用一種巧妙的方法把windows編程復(fù)雜性封裝起來,提供了可見即所得的可視界面設(shè)計方法。Vb已經(jīng)經(jīng)歷了幾個版本,Vb6.0在功能上進(jìn)一步得到完善和擴(kuò)充,尤其在數(shù)據(jù)庫管理與網(wǎng)絡(luò)應(yīng)用方面更勝一籌。Vb6.0包括三個版本:學(xué)習(xí)版,專業(yè)版,企業(yè)版。我們所用的是企業(yè)版(中文)。Vb6.0的功能特點:具有面向?qū)ο蟮目梢曉O(shè)計工具,事件驅(qū)動的編程機(jī)制,易學(xué)易用的應(yīng)用程序集成開發(fā)環(huán)境,結(jié)構(gòu)化的程序設(shè)計語言,支持多種數(shù)據(jù)庫的訪問,ole技術(shù),active技術(shù),完備的help聯(lián)機(jī)幫助功能。 Vb6.0的運行環(huán)境:Vb6.0是windows95

28、/98或windows NT下的一個應(yīng)用程序,本身對軟硬件沒有特殊的要求。跟windows95/93或windows NT要求是一致的。 硬件要求:一般在586以上的處理器、16MB以上的內(nèi)存、100MB以上的硬盤等。 軟件要求:windows95/93或windows NT3.51以上版本。3.2 數(shù)據(jù)庫環(huán)境的選擇 SQL Server 2000是關(guān)系數(shù)據(jù)庫開發(fā)工具,數(shù)據(jù)庫能匯集各種信息以供查詢、存儲和檢索。 SQL Server 2000能作為一個功能強(qiáng)大的數(shù)據(jù)庫服務(wù)器有效地工作,而且數(shù)據(jù)庫引擎也應(yīng)用于客戶端本地存儲獨立數(shù)據(jù)庫的應(yīng)用程序中。SQL Server 2000可以動態(tài)的配置成能有

29、效的使用客戶端桌面的可用資源,而不需要為每個客戶端專設(shè)一個數(shù)據(jù)庫管理員。SQL Server 2000能提高超大型系統(tǒng)所學(xué)要的數(shù)據(jù)庫服務(wù)。SQL Server 2000提供了很多的編程組件和工具。3.3 VB語言和函數(shù)Microsoft 公司的Visual Basic6.0是開發(fā)Windows應(yīng)用程序,尤其是數(shù)據(jù)庫應(yīng)用程序的快捷有效的工具, 和以前各版本相比,功能更加強(qiáng)大,使用起來更加方便。另外,在Visual Basic6.0中可以用公用模塊來存放整個工程項目公用函數(shù)、過程和全局變量等。這樣可以極大的提高代碼的效率。在項目資源管理器中為項目添加一個Module,保存為Module.bas。往

30、下就可以寫入需要的代碼了。由于系統(tǒng)中各個功能模塊都將頻繁使用數(shù)據(jù)庫中的各種資源,因此需要一個公共的數(shù)據(jù)操作函數(shù),用來執(zhí)行各種SQL語句。這就需要添加函數(shù)ExecuteSQL了。ExecuteSQL函數(shù)的參數(shù)是SQL,它用來存放需要執(zhí)行的SQL語句。函數(shù)執(zhí)行時,首先判斷SQL語句中包含的內(nèi)容;當(dāng)執(zhí)行查詢操作時,ExecuteSQL函數(shù)將返回一個與函數(shù)同名的記錄集對象(Recordset),所有滿足條件的記錄包含在對象中;當(dāng)執(zhí)行如刪除、添加等操作時,不返回記錄集對象。在ExecuteSQL函數(shù)中使用了Connect String函數(shù),這個函數(shù)用來連接數(shù)據(jù)庫,代碼如下:Public Function

31、 ConnectString() As String返回一個數(shù)據(jù)庫連接ConnectString=”FileDSN=gzgl.dsn;UID=sa;PWD=”End Function由于在后面的程序中,需要頻繁的檢查各種文本框的內(nèi)容是否為空,這也定義了Testtxt函數(shù),代碼為:Public Function Testtxt(txt As String) As Boolean判斷輸入內(nèi)容是否為空 If Trim(txt)=” Then Testtxt=False Else Testtxt=True End IfEnd Function.如果文本框內(nèi)容為空時,函數(shù)將返回True,否則將返回Fal

32、se。3.4 Active數(shù)據(jù)對象ADO從簡單的文本文件到各種復(fù)雜的關(guān)系型數(shù)據(jù)庫,數(shù)據(jù)庫應(yīng)用程序都需要面對各種各樣的數(shù)據(jù)源。Visual basic6.0提供ADO(Active Data Objects)作為應(yīng)用程序和OLE-DB連接的橋梁。盡管用戶對數(shù)據(jù)的要求種類繁多,但典型的數(shù)據(jù)源都是支持ODBC和SQL的。ADO,即Active數(shù)據(jù)對象:實際是一種提供訪問各種數(shù)據(jù)類型的連接機(jī)制。ADO設(shè)計為一種極簡單的格式,通過ODBC的方法同數(shù)據(jù)庫接口相連。用戶可以使用任何一種ODBC數(shù)據(jù)源,即不僅適合于SQL sever、Oracle、Access等數(shù)據(jù)庫應(yīng)用程序,也適合excel表格、文本文件、

33、圖形文件和無格式數(shù)據(jù)文件。ADO是基于OLE-DB之上的技術(shù),因此ADO通過其內(nèi)部的屬性和方法提供統(tǒng)一的數(shù)據(jù)訪問接口方法。Microsoft在Visual Basic6.0以后的版本都集成了ADO。它與以前的DAO、RDO相比有了很大的提高。DAO(Data Access Objects)即數(shù)據(jù)訪問對象,是一種面向?qū)ο蟮慕缑娼涌凇Mㄟ^DAO/Jet功能可以訪問ISAM數(shù)據(jù)庫,使用DAO/ODBC Direct功能可以實現(xiàn)遠(yuǎn)程RDO功能。RDO(Remote Data Objects)即遠(yuǎn)程數(shù)據(jù)對象,為使用代碼來創(chuàng)建和操作一個遠(yuǎn)程ODBC數(shù)據(jù)庫系統(tǒng)的各個部件提供了一個框架。RDO是ODBC AP

34、I的一個淺層界面接口,是專為訪問遠(yuǎn)程的ODBC關(guān)系數(shù)據(jù)源而設(shè)計的。ADO集中了DAO和RDO的優(yōu)點,可以通過簡單的編程實現(xiàn)和各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行連接。3.4.1、ADO的編程模型 可以通過以下幾步來完成對數(shù)據(jù)庫的操作: 創(chuàng)建一個到數(shù)據(jù)源的連接(connection),連接到數(shù)據(jù)庫;或者開始一個事物(Transction)。 創(chuàng)建一個代表SQL命令行(包括變量、參數(shù)、可選項等)的對象。執(zhí)行命令行。 如果返回以表格的形式組織的數(shù)據(jù),則將他們保存到緩存中,產(chǎn)生相應(yīng)的數(shù)據(jù)集對象(Recordset)。通過對數(shù)據(jù)集對象進(jìn)行各種操作,包括修改、增加、刪除等。 更新數(shù)據(jù)源,如果使用事務(wù),確認(rèn)是否接受事務(wù)期間發(fā)生

35、的數(shù)據(jù)變化。 結(jié)束連接或事務(wù)3.4.2、ADO的對象模型 使用ADO的目的是進(jìn)入數(shù)據(jù)源,使得修改、更新數(shù)據(jù)成為可能。ADO提供一系列的類象來完成各種操作。 1. 連接對象Connection 一個連接(Connection)對象代表一個到指定數(shù)據(jù)源的成功連接。應(yīng)用程序通過一個連接(包括實現(xiàn)數(shù)據(jù)交換的環(huán)境設(shè)置)訪問數(shù)據(jù)源,也可以直接訪問數(shù)據(jù)源(在兩層數(shù)據(jù)結(jié)構(gòu)的系統(tǒng)中比較常見),或者通過類似Microsoft Internet Information Server 的中間層間接訪問訪問數(shù)據(jù)源(這就是通常說的三層結(jié)構(gòu))。連接成功,Connection以對象的形式存在。連接對象在ADO對象模型中的地位

36、就是在Connection里包括(Error、Command、Recordset)。因此使用連接對象的操作如下: 在打開連接前需要設(shè)置ConnectionString、ConnectionTimeout和Mode屬性。 設(shè)置CursorLocation屬性,可以設(shè)置或者返回指針位置。設(shè)置DefaultDatabase屬性可以連接指定的一個默認(rèn)的數(shù)據(jù)庫。設(shè)置IsolationLevel屬性可以確定事務(wù)(Transation)在連接的隔離等級。設(shè)置Provider可以連接指定的一個OLE-DB寄主。設(shè)置Open與Close方法來建立和中斷一個連接。使用Execute方法在連接上建立執(zhí)行命令,設(shè)置C

37、ommandTimeout屬性來指定或者返回命令執(zhí)行時間。 使用BeginTrans、CommitTrans和RollbackTrans方法以及Attributes屬性來管理事物。通過檢察Error對象可以知道數(shù)據(jù)源返回的錯誤。通過Version屬性可以知道ADO的版本。使用OpenSchema方法可以知道數(shù)據(jù)庫的計劃信息。2. 命令行對象Command命令行對象是對數(shù)據(jù)庫將要執(zhí)行的一系列操作的定義。使用命令行對象來查詢數(shù)據(jù)庫并返回數(shù)據(jù)集對象(recordset)形式的查詢結(jié)果。命令行對象指定變量、參數(shù)、以及可選項來完成對數(shù)據(jù)庫的操作,如添加記錄、刪除記錄、更新記錄等。命令行對象在ADO對象的

38、模型中是Connection包含Command,Command又包含Parameters。使用命令行對象的各種屬性和方法可以如下操作:設(shè)置CommandText屬性可以定義命令行的內(nèi)容,如SQL語句。使用Execute方法執(zhí)行命令行并返回一個數(shù)據(jù)集對象(recordset)。設(shè)置CommandType屬性可以優(yōu)化命令的效率。設(shè)置CommandTimeout屬性可以指定服務(wù)器等待醫(yī)療命令執(zhí)行的時間。設(shè)置ActiveConnection屬性可以將一個命令行對象與一個打開的連接關(guān)聯(lián)。3. 數(shù)據(jù)集對象Recordset如果命令行指定數(shù)據(jù)以表的形式組織,執(zhí)行命令行后將返回相應(yīng)的數(shù)據(jù)集。同過數(shù)據(jù)集可以對記

39、錄以及組成記錄的列進(jìn)行各種操作。數(shù)據(jù)集對象在ADO對象模型中的地位是Connection包含Recordset,而Recordset包含fields。3.4.3、為項目添加ADO ADO雖然集成在Visual Basic6.0中,但只是可選項。因此在創(chuàng)建項目后,需要為項目添加ADO。 選擇”project”菜單中的”References”命令,在References列表框中中選擇”Microsoft ActiveX Object 2.6 Library”選項,再確定。3.5 與數(shù)據(jù)庫的連接性VISUAL BASIC提供了與底層數(shù)據(jù)庫系統(tǒng)緊密的連接。 VISUAL BASIC支持不同的關(guān)系數(shù)據(jù)庫

40、管理系統(tǒng)并充分發(fā)揮每一個數(shù)據(jù)庫的特長。開發(fā)人員和利用ODBC來確定數(shù)據(jù)源,則ADO就能通過數(shù)據(jù)源來對數(shù)據(jù)庫里的數(shù)據(jù)進(jìn)行操作。而具體的連接哪個數(shù)據(jù)庫,ODBC沒有設(shè)置限定,從而使設(shè)計者能夠應(yīng)用自己比較熟悉的數(shù)據(jù)庫。以下進(jìn)行圖例說明:(圖3-1)VISUAL BASIC INFORMIX數(shù)據(jù)庫ODBC接口SQLANYWHERE數(shù)據(jù)庫SYBASE數(shù)據(jù)庫ORACLE數(shù)據(jù)庫 值得一提的是VISUAL BASIC擁有數(shù)據(jù)窗口對象(FORM)。它是一個智能對象是MICROSOFT公司的技術(shù)。它能操縱關(guān)系數(shù)據(jù)庫的數(shù)據(jù)并可以編寫SQL語言。利用該對象可以修改、更新、插入、刪除、滾頁、打印數(shù)據(jù)窗口直接管理數(shù)據(jù)庫的

41、交互與控制。在本系統(tǒng)開發(fā)過程中大多數(shù)報表均使用此對象生成,使用其操縱關(guān)系數(shù)據(jù)庫的數(shù)據(jù)十分方便、快捷。它是一個支持?jǐn)?shù)據(jù)操縱的封裝性很好對象。 參 第四章 圖書館管理信息系統(tǒng)的具體實現(xiàn)4.1 系統(tǒng)客戶端程序以上的SQL語句在SQL Sever 2000查詢分析器中執(zhí)行后,將自動產(chǎn)生需要的所有表格。有關(guān)數(shù)據(jù)庫結(jié)構(gòu)的所有后臺工作已經(jīng)完成。現(xiàn)在將通過圖書館管理信息系統(tǒng)中各個功能模塊的實現(xiàn),來說明如何使用Visual Basic 來編寫 系統(tǒng)的客戶端程序。l 創(chuàng)建工程項目Library_MIS打開Visual Basic 后,單擊File|New Project 菜單,在工程模塊中選擇Standard E

42、XE,Visual Basic 將自動產(chǎn)生一個Form窗體,屬性都是缺省設(shè)置。將這個窗體刪除,單擊File|Save Project菜單,將這個工程項目命名為Library_MIS.l 創(chuàng)建圖書館管理信息系統(tǒng)的主窗體這個項目可以使用多文檔界面,單擊工具欄中的ADD MDI Form按鈕,生成一個窗體。在這個窗體上添加所需的控件,窗體和控件的屬性設(shè)置如下: 主窗體及其控件屬性設(shè)置控件 屬 性 屬性取值frmMain(form)NameFrmMainCaption圖書館管理信息系統(tǒng)StartUpPositionCenterScreenWindowStateMaximized創(chuàng)建好的主窗體如下: 圖

43、書館管理信息系統(tǒng)窗體(圖3-2)l 創(chuàng)建主窗體的菜單在上圖所示的主窗體中,單擊鼠標(biāo)右鍵,選擇彈出式菜單中的Menu Editor,創(chuàng)建如下所示的菜單結(jié)構(gòu)。系統(tǒng)修改密碼添加用戶退出讀者管理讀者種類管理添加讀者種類修改讀者種類刪除讀者種類讀者信息管理添加讀者信息修改讀者信息刪除讀者信息查詢讀者信息書籍管理書籍類別管理添加書籍類別修改書籍類別刪除書籍類別書籍信息管理添加書籍信息修改書籍信息刪除書籍信息查詢書籍信息借閱信息管理借書信息管理添加借書信息 修改借書信息刪除借書信息查詢借書信息還書信息管理添加還書信息修改還書信息查詢還書信息幫助Aboutl 創(chuàng)建公用模塊在Visual Basic 中可以用公

44、用模塊來存放整個工程項目公用的函數(shù)、過程和全局變量等。這樣可以極大的提高代碼的效率。在項目資源管理器中為項目添加一個 Module,保存為Module.bas。由于系統(tǒng)中各個功能模塊都將頻繁使用數(shù)據(jù)庫中的各種數(shù)據(jù),因此需要一個公共的數(shù)據(jù)操作函數(shù),用以執(zhí)行各種SQL語句。在主窗體中,我們將用到兩個全局變量gintMode和flagEdit用來記錄各個狀態(tài),因而需要在模塊中聲明,代碼如下: Public gintMode As Integer 定義整形變量,記載讀寫狀態(tài)Public flagEdit As Boolean 定義Boolean變量,記載信息列表窗體是否打開 gintMode變量用來記

45、錄是添加狀態(tài)還是修改狀態(tài),賦值1為添加,賦值2為修改。flagEdit變量用來標(biāo)示是否進(jìn)入修改的窗體。 由于啟動圖書管理系統(tǒng)后,需要對用戶進(jìn)行判斷。如是授權(quán)用戶,將進(jìn)入系統(tǒng),否則將停止程序的執(zhí)行。這個判斷需要在系統(tǒng)運行的最初進(jìn)行,因此將代碼放在公用模塊中。4.2 系統(tǒng)用戶管理模塊的創(chuàng)建用戶管理模塊主要實現(xiàn):用戶登陸、添加用戶、刪除用戶、修改密碼四個功能。其窗體如下(圖3-3) 用戶點擊確認(rèn)后,其數(shù)據(jù)會添加到數(shù)據(jù)庫中,添加用戶數(shù)據(jù)庫中會多一條新記錄,修改密碼即將數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行更新(update),然后將新記錄保存到數(shù)據(jù)庫里,刪除用戶就是將數(shù)據(jù)庫中的數(shù)據(jù)清除。用戶的登錄界面與此界面基本相同,同

46、樣是調(diào)用數(shù)據(jù)庫library表中的信息,再對用戶的登錄信息進(jìn)行判斷,決定用戶的權(quán)限。這里需要強(qiáng)調(diào)的是刪除用戶時,數(shù)據(jù)庫中所記錄的是您本次登錄所使用的用戶名和密碼,所以用戶名已定,只需對您所輸入的密碼進(jìn)行判斷,密碼正確,則刪除您本次登錄的用戶名。同時也說明了您無權(quán)刪除別人的用戶名和密碼。4.3 讀者種類管理模塊的創(chuàng)建圖書館需要管理不同種類的讀者,并且不同讀者享受的服務(wù)不同。讀者種類管理模塊主要實現(xiàn)如下功能:添加讀者種類、修改讀者種類、刪除讀者種類。一、 添加讀者種類窗體的創(chuàng)建選擇“讀者管理|讀者種類管理|添加讀者種類”菜單,出現(xiàn)如下窗體:(圖3-4)在窗體上放置多個文本框,用來輸入讀者種類信息;

47、兩個按鈕用來確定是否添加讀者種類信息;多個標(biāo)簽用來提示文本框中需要輸入的內(nèi)容。在載入窗體時,程序首先判斷所處狀態(tài),載入窗體時,將首先通過變量gintRTmode判斷是添加 還是修改。如果是添加狀態(tài),文本框?qū)⑶宄齼?nèi)容,窗體有提示信息;如果是修改狀態(tài),將選擇顯示當(dāng)前的記錄。用戶輸入內(nèi)容后,單擊cmdSave按鈕將觸發(fā)Click事件。程序首先對是否輸入內(nèi)容進(jìn)行判斷,然后進(jìn)行格式判斷。程序?qū)⑴袛嗍欠裼兄貜?fù)編號的記錄,然后添加數(shù)據(jù)到數(shù)據(jù)庫。最后根據(jù)狀態(tài)來顯示相應(yīng)的信息:如果是添加狀態(tài),將提示添加成功,然后重新顯示并清空所有文本框,以便繼續(xù)添加記錄:如果處于修改狀態(tài),將提示修改成功,然后更新所有記錄的列表

48、。 當(dāng)文本框獲得焦點時將觸發(fā)下面的事件:自動選中輸入的內(nèi)容,便于修改。單擊cmdExit按鈕取消添加信息,輸入完內(nèi)容,按下回車鍵將自動進(jìn)入下一個文本框,將觸發(fā)文本框的Keydown事件(EnterTOTab KeyCode),按鍵號碼傳遞給EnterToTab函數(shù),如果是回車自動轉(zhuǎn)換為Tab鍵。關(guān)于判斷的代碼如下:添加判斷是否有相同的ID記錄 If gintRTmode = 1 Then txtSQL = select * from readertype where typeno= & Trim(txtItem(0) & Set mrc = New ADODB.Recordset Set mr

49、c = ExecuteSQL(txtSQL, MsgText) If mrc.EOF = False Then MsgBox 已經(jīng)存在此種類編號的記錄!, vbOKOnly + vbExclamation, 警告 txtItem(0).SetFocus Exit Sub End If mrc.Close End If 判斷是否有相同內(nèi)容的記錄 txtSQL = select * from readertype where typeno & Trim(txtItem(0) & and typename= & Trim(txtItem(1) & Set mrc = ExecuteSQL(txtSQ

50、L, MsgText) If mrc.EOF = False Then MsgBox 已經(jīng)存在相同讀者種類的記錄!, vbOKOnly + vbExclamation, 警告 txtItem(1).SetFocus Exit Sub End If 先刪除已有記錄 If gintRTmode = 2 Then txtSQL = delete from readertype where typeno = & Trim(txtItem(0) & Set mrc = ExecuteSQL(txtSQL, MsgText) End If 再加入新記錄 txtSQL = select * from rea

51、dertype Set mrc = ExecuteSQL(txtSQL, MsgText) mrc.AddNew二 修改讀者種類窗體的創(chuàng)建選擇“讀者管理|讀者種類管理|修改讀者種類”菜單,出現(xiàn)如下窗體,窗體中放置一個表格控件:(圖3-5)讀者種類記錄列表窗體載入窗體時,觸發(fā)窗體的Load事件,顯示當(dāng)前數(shù)據(jù)庫中所有的記錄。代碼中調(diào)用showTitle函數(shù),顯示表頭,調(diào)用showData函數(shù),顯示記錄列表。完成代碼后,選擇記錄,然后單擊鼠標(biāo)右鍵,將觸發(fā)MouseUp事件,即這個事件發(fā)生在松開鼠標(biāo)的時候。在彈出式菜單中選擇“修改讀者種類”將觸發(fā)菜單menuModifyreadertype的click事件,然后在圖3-4所示的窗體中載入當(dāng)前記錄的內(nèi)容。當(dāng)窗

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論