版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 摘 要</p><p> 圖書館管理信息系統(tǒng)是典型的計(jì)算機(jī)信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個(gè)方面。對(duì)于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫(kù)。而對(duì)于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。本管理系統(tǒng)包括了系統(tǒng)登錄、讀者管理、書籍管理、借閱信息管理四個(gè)總的功能塊。在各個(gè)功能塊中又具體包括了讀者種類信息管理、
2、讀者信息管理、書籍類別管理、書籍信息管理、借書信息管理、還書信息管理功能。使用戶方便的對(duì)圖書館的信息進(jìn)行管理,為讀者借閱還書的節(jié)省了大量的時(shí)間。</p><p> 關(guān)鍵字:圖書館管理信息系統(tǒng)、數(shù)據(jù)庫(kù)、管理</p><p><b> 前 言</b></p><p> 隨著人類社會(huì)的發(fā)展,人類知識(shí)不斷地增長(zhǎng)、擴(kuò)大。人們也面臨更大的挑戰(zhàn),在這
3、種挑戰(zhàn)面前,人們需要不斷的學(xué)習(xí)、不斷的進(jìn)步,來面對(duì)更大的挑戰(zhàn)。在這種形勢(shì)下,書籍就漸漸地成為人們獲取、增長(zhǎng)知識(shí)的主要途徑,而圖書館就自然而然地在人們的生活中占據(jù)了一定的位置。在圖書館方面,就必然面臨著一個(gè)問題:怎樣才能科學(xué)、有效的把圖書館里圖書管理好?這一個(gè)問題直接關(guān)系到讀者求知的方便程度,也關(guān)系到圖書館的發(fā)展。在現(xiàn)代社會(huì)中,計(jì)算機(jī)已經(jīng)在各行各業(yè)發(fā)揮著重要的作用,用計(jì)算機(jī)來管理已經(jīng)成為必然的結(jié)果。圖書館也不例外,在圖書館的管理過程中,同
4、樣也必需使用計(jì)算機(jī)來輔助管理。有了計(jì)算機(jī)的輔助管理,必然要有一套較完善的計(jì)算機(jī)處理系統(tǒng)(圖書館管理系統(tǒng))來管理圖書館,這樣才能科學(xué)、有效的對(duì)圖書進(jìn)行管理。</p><p><b> 目錄</b></p><p> 第一章 圖書館管理信息系統(tǒng)的問題</p><p> 1.1 圖書館管理信息系統(tǒng)的簡(jiǎn)介…………………………...1</p
5、><p> 1.2 圖書館管理信息系統(tǒng)的用戶需求……………………...1</p><p> 1.3 圖書館管理信息系統(tǒng)功能分析………………………...2</p><p> 1.4 圖書館管理信息系統(tǒng)功能模塊設(shè)計(jì) ………………….3</p><p> 第二章 圖書館管理信息系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì)…………………..4</p><
6、;p> 2.1 數(shù)據(jù)庫(kù)的需求分析...........................................................4</p><p> 2.2 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)…………………………………...5</p><p> 2.3 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)的實(shí)現(xiàn)…………………………………7</p><p> 第三章 圖書館管理信息系
7、統(tǒng)的開發(fā)環(huán)境…………………….10</p><p> 3.1 圖書館管理信息系統(tǒng)的開發(fā)語(yǔ)言簡(jiǎn)介………………..10</p><p> 3.1.1 開發(fā)環(huán)境的選擇……………………………….10</p><p> 3.2 數(shù)據(jù)庫(kù)環(huán)境的選擇……………………………………..11</p><p> 3.3 VB語(yǔ)言和函數(shù)……………………………
8、…………….11</p><p> 3.4 Active數(shù)據(jù)對(duì)象——ADO……………………………...12</p><p> 3.4.1、ADO的編程模型………………………………….12</p><p> 3.4.2、ADO的對(duì)象模型………………………………….13</p><p> 3.4.3、為項(xiàng)目添加ADO……………………………
9、…….14</p><p> 3.5 與數(shù)據(jù)庫(kù)的連接性……………………………………..14</p><p> 第四章 圖書館管理信息系統(tǒng)的具體實(shí)現(xiàn)………………….....16</p><p> 4.1 系統(tǒng)客戶端程序………………………………………..16</p><p> 4.2 系統(tǒng)用戶管理模塊的創(chuàng)建……………………………..18
10、</p><p> 4.3 讀者種類管理模塊的創(chuàng)建……………………………..19</p><p> 4.4 讀者信息管理模塊的創(chuàng)建……………………………..21</p><p> 4.5 書籍類別管理模塊的創(chuàng)建……………………………..23</p><p> 總結(jié)……………………………………………………………….25</p>
11、;<p> 參考文獻(xiàn)………………………………………………………….25</p><p> 第一章 圖書館管理信息系統(tǒng)的問題</p><p> 1.1 圖書館管理信息系統(tǒng)的簡(jiǎn)介</p><p> 圖書館管理信息系統(tǒng)是針對(duì)圖書館的大量業(yè)務(wù)處理工作而開發(fā)的管理軟件。根據(jù)用戶的要求,實(shí)現(xiàn)借閱管理、讀者管理、和圖書管理,等幾個(gè)方面的功能。</p&
12、gt;<p> 本軟件是為了規(guī)范單位的圖書館日常運(yùn)作,加強(qiáng)圖書借閱的信息管理而開發(fā)設(shè)計(jì)的。時(shí)間比較倉(cāng)促,肯定存在許多問題,同時(shí)將邊運(yùn)行邊修改與完善,使其更好的服務(wù)于圖書館的日常管理,滿足圖書館管理方面的各種需要。 </p><p> 本軟件界面友好,操作簡(jiǎn)單,小巧實(shí)用,運(yùn)行穩(wěn)定,自動(dòng)化程度較高,具備多種功能,能滿足一般小型圖書室的日常管
13、理需要??蛇M(jìn)行書籍、讀者、借書和還書等信息的錄入、修改與刪除,同時(shí)提供靈活豐富的查詢、報(bào)表打印等功能,方便統(tǒng)計(jì)匯總。</p><p> 1.2 圖書館管理信息系統(tǒng)的用戶需求</p><p><b> ·總體功能需求</b></p><p> 圖書館管理信息系統(tǒng)是針對(duì)圖書館的大量業(yè)務(wù)處理工作用計(jì)算機(jī)進(jìn)行全面現(xiàn)代化管理.主要包括讀者
14、管理、書籍管理、和借閱信息管理, 等幾個(gè)方面的功能,以實(shí)現(xiàn)用戶方便的借書.還書.查詢所需書籍等需求。</p><p> 具體系統(tǒng)功能需求描述</p><p><b> (1)讀者管理</b></p><p> 讀者管理可分為讀者種類管理和讀者信息管理,可完成對(duì)讀者種類的添加.修改.刪除功能;以及完成對(duì)讀者信息的添加.修改.刪除.查詢功能。
15、</p><p><b> (2) 書籍管理</b></p><p> 書籍管理包括書籍類別管理和書籍信息管理,可完成對(duì)書籍類別的添加.修改.刪除功能;以及完成對(duì)書籍信息的添加.修改.刪除.查詢功能。 </p><p> (3) 借閱信息管理</p><p> 借閱信息管理包括借書信息管理和還書信息管理,借書信息
16、管理要完成對(duì)所借書籍的添加.修改.刪除.查詢功能;還書信息管理要完成對(duì)所還書籍的添加.修改.刪除功能。</p><p> 1.3 圖書館管理信息系統(tǒng)功能分析</p><p> 系統(tǒng)開發(fā)的總?cè)蝿?wù)是實(shí)現(xiàn)企業(yè)人事管理信息關(guān)系的系統(tǒng)化、規(guī)范化和自動(dòng)化。系統(tǒng)功能分析是在系統(tǒng)開發(fā)的總體任務(wù)的基礎(chǔ)上完成的,本系統(tǒng)的需要完成功能主要有:</p><p> 有關(guān)讀者種類標(biāo)準(zhǔn)的制
17、定、種類信息的輸入,包括種類編號(hào)、種類名稱、借書數(shù)量、借書期限、有效期限、備注等。</p><p> 讀者種類信息的修改、查詢等。</p><p> 讀者基本信息的輸入,包括讀者編號(hào)、讀者姓名、讀者種類、讀者性別、工作單位、家庭住址、電話號(hào)碼、電子郵件地址、辦證日期、備注等。</p><p> 讀者基本信息的輸入,包括讀者編號(hào)、讀者姓名、讀者種類、讀者性別、工
18、作單位、家庭住址、電話號(hào)碼、電子郵件地址、辦證日期、備注等等。</p><p> 書籍類別標(biāo)準(zhǔn)的制定、類別信息的輸入,包括類別編號(hào)、類別名稱、關(guān)鍵詞、備注信息等。</p><p> 書籍類別信息的查詢、修改,包括類別編號(hào)、類別名稱、關(guān)鍵詞、備注信息等。</p><p> 書籍信息的輸入,包括書籍編號(hào)、書籍名稱、書籍類別、作者姓名、出版社名稱、出版日期、書籍頁(yè)數(shù)
19、、關(guān)鍵詞、登記日期、備注信息等。</p><p> 書籍信息的查詢、修改,包括書籍編號(hào)、書籍名稱、書籍類別、作者姓名、出版社名稱、出版日期、書籍頁(yè)數(shù)、關(guān)鍵詞、登記日期、備注信息等。</p><p> 借書信息的輸入,包括借書信息編號(hào)、讀者編號(hào)、讀者姓名、書籍編號(hào)、書籍名稱、借書日期、備注信息等。</p><p> 借書信息的查詢、修改,包括借書信息編號(hào)、讀者編
20、號(hào)、讀者姓名、書籍編號(hào)、書籍名稱、借書日期、備注信息等。</p><p> 還書信息的輸入,包括還書信息編號(hào)、讀者編號(hào)、讀者姓名、書籍編號(hào)、書籍名稱、借書日期、還書日期、備注信息等。</p><p> 還書信息的查詢和修改,包括還書信息編號(hào)、讀者編號(hào)、讀者姓名、書籍編號(hào)、書籍名稱、借書日期、還書日期、備注信息等。</p><p> 1.4 圖書館管理信息系統(tǒng)功
21、能模塊設(shè)計(jì)</p><p> 對(duì)上述各項(xiàng)功能進(jìn)行集中、分塊,按照結(jié)構(gòu)化程序設(shè)計(jì)的要求,得到下圖所示的系統(tǒng)功能模塊圖:</p><p> 系統(tǒng)功能模塊圖(圖1-1)</p><p> 第二章 圖書館管理信息系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì)</p><p> 數(shù)據(jù)庫(kù)在信息管理系統(tǒng)中有著很重要的地位,合理的數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)可以提高數(shù)據(jù)儲(chǔ)存的效率,保證數(shù)據(jù)的
22、完整和一致,有利于程序的實(shí)現(xiàn)。設(shè)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)時(shí)應(yīng)該首先充分了解用戶各個(gè)方面的要求,包括現(xiàn)有的以及將來可能增加的需求。數(shù)據(jù)庫(kù)設(shè)計(jì)一般包括如下幾個(gè)步驟:</p><p><b> 數(shù)據(jù)庫(kù)需要分析。</b></p><p> 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)。</p><p> 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)。</p><p> 2.1 數(shù)據(jù)庫(kù)
23、的需求分析</p><p> 用戶的需求具體體現(xiàn)在各種信息的提供、保存、更新和查詢,這就要求數(shù)據(jù)庫(kù)結(jié)構(gòu)能充分滿足各種信息的輸出和輸入。收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)以及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為后面的具體設(shè)計(jì)打下基礎(chǔ)。</p><p> 仔細(xì)分析調(diào)查有關(guān)圖書館管理信息需求的基礎(chǔ)上,得到下圖所示的本系統(tǒng)所處理的數(shù)據(jù)流程:</p><p> 圖書館管理信息
24、系統(tǒng)數(shù)據(jù)流程圖(圖2-1)</p><p> 針對(duì)一般的圖書館管理信息系統(tǒng)的要求,通過對(duì)圖書館管理工作過程的內(nèi)容和數(shù)據(jù)流程分析,設(shè)計(jì)如下面所示的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):</p><p> 讀者種類信息,包括的數(shù)據(jù)項(xiàng)有:種類編號(hào)、種類名稱、借書數(shù)量、借書期限、有效期限、備注等。</p><p> 讀者信息,包括的數(shù)據(jù)項(xiàng)有:讀者編號(hào)、讀者姓名、讀者種類、讀者性別、工作單
25、位、家庭住址、電話號(hào)碼、電子郵件地址、辦證日期、備注等。</p><p> 書籍類別信息,包括的數(shù)據(jù)項(xiàng)有:類別編號(hào)、類別名稱、關(guān)鍵詞、備注信息等。</p><p> 書籍信息,包括的數(shù)據(jù)項(xiàng)有:書籍編號(hào)、書籍名稱、書籍類別、作者姓名、出版社名稱、出版日期、書籍頁(yè)數(shù)、關(guān)鍵詞、登記日期、備注信息等。</p><p> 借閱信息,包括的數(shù)據(jù)項(xiàng)有:借閱信息編號(hào)、讀者編號(hào)
26、、讀者姓名、書籍編號(hào)、書籍名稱、借書日期、還書日期、備注信息等。</p><p> 2.2 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)</p><p> 采用SQL Sever 2000來完成圖書館管理信息系統(tǒng)的數(shù)據(jù)庫(kù),需將上面的數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)轉(zhuǎn)化為SQL的數(shù)據(jù)庫(kù)所支持的實(shí)際數(shù)據(jù)模型,這也就是數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)。</p><p> 圖書館管理信息管理系統(tǒng)數(shù)據(jù)庫(kù)中的表格的設(shè)計(jì)結(jié)果有以
27、下的表格所表示,這些表格表示在數(shù)據(jù)庫(kù)中的一個(gè)表:</p><p> readertype 讀者種類信息表</p><p> 表中內(nèi)容有:讀者種類編號(hào)、讀者種類名稱、借書數(shù)量、借書期限、有效期限、備注信息。</p><p> readers 讀者信息表格</p><p> 表中內(nèi)容有:readertype中的所有內(nèi)容、讀者編號(hào)、讀
28、者姓名、讀者性別、電話號(hào)碼、電子郵件地址、辦證日期、工作單位、家庭住址。</p><p> booktype 書籍類別信息表</p><p> 表中內(nèi)容有:書籍類別編號(hào)、書籍類別名稱、關(guān)鍵詞、備注信息。</p><p> books 書籍信息表</p><p> 表中內(nèi)容有:書籍名稱、書籍類別、作者姓名、出版社名稱、出版日期
29、、書籍頁(yè)數(shù)、關(guān)鍵詞、登記日期、備注信息。</p><p> borrowinfo 借閱信息表</p><p> 表中內(nèi)容有:包括books表中的書籍名稱、書籍類別、作者姓名、出版社、書籍備注信息,以及讀者信息中的讀者編號(hào)、讀者姓名、讀者種類、借書日期、備注信息。</p><p> readertype 讀者種類信息表(圖2-3)</p><
30、p> readers 讀者信息表格(圖2-4)</p><p> booktype 書籍類別信息表(圖2-5)</p><p> books書籍信息表(圖2-6)</p><p> borrowinfo借閱信息表(圖2-7)</p><p> 得到上面的各項(xiàng)數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)以后,就可以設(shè)計(jì)出能夠滿足用戶需求的各種實(shí)體,
31、以及他們之間的關(guān)系,為以后的邏輯結(jié)構(gòu)設(shè)計(jì)打下基礎(chǔ)。</p><p> 根據(jù)上面的設(shè)計(jì)規(guī)劃出的實(shí)體有:讀者類別信息實(shí)體、讀者信息實(shí)體、書籍類別信息實(shí)體、書籍信息實(shí)體、借閱信息實(shí)體。由于上面已經(jīng)介紹了各個(gè)實(shí)體的包含內(nèi)容,這里就不在對(duì)每個(gè)實(shí)體的E-R圖做介紹?,F(xiàn)介紹各個(gè)實(shí)體之間的相互關(guān)系E-R圖如下:</p><p><b> 圖2-2</b></p>&
32、lt;p> 2.3 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)的實(shí)現(xiàn)</p><p> 經(jīng)過前面的需求分析和概念結(jié)構(gòu)設(shè)計(jì)以后,得到數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)。然后用SQL server 2000 數(shù)據(jù)庫(kù)系統(tǒng)中的SQL查詢分析器實(shí)現(xiàn)該邏輯結(jié)構(gòu)。下面是就用戶表格、讀者種類信息表格、讀者信息表格、書籍類別信息表格的SQL語(yǔ)句舉例如下:</p><p> 創(chuàng)建系統(tǒng)用戶表格 user_InfoCREATE TABLE [
33、dbo].[user_Info1] (</p><p> [user_ID] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,</p><p> [user_PWD] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,</p><p> [user_Des] [char] (
34、10) COLLATE Chinese_PRC_CI_AS NULL </p><p> ) ON [PRIMARY]</p><p> 創(chuàng)建讀者種類信息表格 readertype</p><p> CREATE TABLE [dbo].[readertype] (</p><p> [typeno] [char] (10) COL
35、LATE Chinese_PRC_CI_AS NOT NULL , [typename] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,</p><p> [booknumber] [numeric](4, 0) NULL ,</p><p> [bookdays] [numeric](4, 0) NULL ,</p>&
36、lt;p> [userfullife] [numeric](5, 0) NULL ,</p><p> [memo] [text] COLLATE Chinese_PRC_CI_AS NULL </p><p> ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY</p><p> 創(chuàng)建讀者信息表格 readers</p&
37、gt;<p> CREATE TABLE [dbo].[readers] (</p><p> [readerno] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,</p><p> [readername] [char] (20) COLLATE Chinese_PRC_CI_AS NULL ,</p><
38、p> [readersex] [char] (3) COLLATE Chinese_PRC_CI_AS NULL ,</p><p> [readertype] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,</p><p> [readerdep] [char] (40) COLLATE Chinese_PRC_CI_AS NULL
39、,</p><p> [address] [char] (40) COLLATE Chinese_PRC_CI_AS NULL ,</p><p> [readertel] [char] (20) COLLATE Chinese_PRC_CI_AS NULL ,</p><p> [email] [char] (20) COLLATE Chinese_PRC_
40、CI_AS NULL ,</p><p> [checkdate] [datetime] NULL ,</p><p> [readermemo] [text] COLLATE Chinese_PRC_CI_AS NULL </p><p> ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]</p><p>
41、 創(chuàng)建書籍類別信息表格 booktype</p><p> CREATE TABLE [dbo].[booktype] (</p><p> [booktypeno] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,</p><p> [typename] [char] (20) COLLATE Chinese_
42、PRC_CI_AS NULL ,</p><p> [keyword] [char] (20) COLLATE Chinese_PRC_CI_AS NULL ,</p><p> [memo] [text] COLLATE Chinese_PRC_CI_AS NULL </p><p> ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY
43、]</p><p> 第三章 圖書館管理信息系統(tǒng)的開發(fā)環(huán)境</p><p> 3.1 圖書館管理信息系統(tǒng)的開發(fā)語(yǔ)言簡(jiǎn)介</p><p> 3.1.1 開發(fā)環(huán)境的選擇</p><p> Microsoft公司推出Windows以后,立即以其新穎的圖形用戶界面、卓越的多任務(wù)操作系統(tǒng)性能、高層次的軟件開發(fā)平臺(tái)而風(fēng)靡全球。尤其是Offic
44、e使用軟件的方便使用使許多應(yīng)用人員想到手動(dòng)的設(shè)計(jì)Windows用戶界面。然而由于對(duì)于程序員來說,工作的難度很大。為了適應(yīng)Windows下運(yùn)行程序,就必須建立相應(yīng)的窗口、菜單、對(duì)話框等各種控件,面對(duì)這種情況,1990年Microsoft公司推出了Windows應(yīng)用程序開發(fā)工具——VB,從而達(dá)到了可視化的結(jié)果。在visual basic中,既繼承了basic語(yǔ)言簡(jiǎn)單易用的特點(diǎn),又采用了面向?qū)ο?、事件?qū)動(dòng)的編程機(jī)制,用一種巧妙的方法把wind
45、ows編程復(fù)雜性封裝起來,提供了可見即所得的可視界面設(shè)計(jì)方法。</p><p> Vb已經(jīng)經(jīng)歷了幾個(gè)版本,Vb6.0在功能上進(jìn)一步得到完善和擴(kuò)充,尤其在數(shù)據(jù)庫(kù)管理與網(wǎng)絡(luò)應(yīng)用方面更勝一籌。Vb6.0包括三個(gè)版本:學(xué)習(xí)版,專業(yè)版,企業(yè)版。我們所用的是企業(yè)版(中文)。</p><p> Vb6.0的功能特點(diǎn):具有面向?qū)ο蟮目梢曉O(shè)計(jì)工具,事件驅(qū)動(dòng)的編程機(jī)制,易學(xué)易用的應(yīng)用程序集成開發(fā)環(huán)境,結(jié)構(gòu)
46、化的程序設(shè)計(jì)語(yǔ)言,支持多種數(shù)據(jù)庫(kù)的訪問,ole技術(shù),active技術(shù),完備的help聯(lián)機(jī)幫助功能。</p><p> Vb6.0的運(yùn)行環(huán)境:Vb6.0是windows95/98或windows NT下的一個(gè)應(yīng)用程序,本身對(duì)軟硬件沒有特殊的要求。跟windows95/93或windows NT要求是一致的。 </p><p> 硬件要求:一般在586以上的
47、處理器、16MB以上的內(nèi)存、100MB以上的硬盤等。 </p><p> 軟件要求:windows95/93或windows NT3.51以上版本。</p><p> 3.2 數(shù)據(jù)庫(kù)環(huán)境的選擇</p><p> SQL Server 2000是關(guān)系數(shù)據(jù)庫(kù)開發(fā)工具,數(shù)據(jù)庫(kù)能匯集各種信息以供查詢、存儲(chǔ)和檢索。 SQL Server 2000能
48、作為一個(gè)功能強(qiáng)大的數(shù)據(jù)庫(kù)服務(wù)器有效地工作,而且數(shù)據(jù)庫(kù)引擎也應(yīng)用于客戶端本地存儲(chǔ)獨(dú)立數(shù)據(jù)庫(kù)的應(yīng)用程序中。SQL Server 2000可以動(dòng)態(tài)的配置成能有效的使用客戶端桌面的可用資源,而不需要為每個(gè)客戶端專設(shè)一個(gè)數(shù)據(jù)庫(kù)管理員。SQL Server 2000能提高超大型系統(tǒng)所學(xué)要的數(shù)據(jù)庫(kù)服務(wù)。SQL Server 2000提供了很多的編程組件和工具。</p><p> 3.3 VB語(yǔ)言和函數(shù)</p>
49、<p> Microsoft 公司的Visual Basic6.0是開發(fā)Windows應(yīng)用程序,尤其是數(shù)據(jù)庫(kù)應(yīng)用程序的快捷有效的工具, 和以前各版本相比,功能更加強(qiáng)大,使用起來更加方便。另外,在Visual Basic6.0中可以用公用模塊來存放整個(gè)工程項(xiàng)目公用函數(shù)、過程和全局變量等。這樣可以極大的提高代碼的效率。在項(xiàng)目資源管理器中為項(xiàng)目添加一個(gè)Module,保存為Module.bas。往下就可以寫入需要的代碼了。</
50、p><p> 由于系統(tǒng)中各個(gè)功能模塊都將頻繁使用數(shù)據(jù)庫(kù)中的各種資源,因此需要一個(gè)公共的數(shù)據(jù)操作函數(shù),用來執(zhí)行各種SQL語(yǔ)句。這就需要添加函數(shù)ExecuteSQL了。ExecuteSQL函數(shù)的參數(shù)是SQL,它用來存放需要執(zhí)行的SQL語(yǔ)句。函數(shù)執(zhí)行時(shí),首先判斷SQL語(yǔ)句中包含的內(nèi)容;當(dāng)執(zhí)行查詢操作時(shí),ExecuteSQL函數(shù)將返回一個(gè)與函數(shù)同名的記錄集對(duì)象(Recordset),所有滿足條件的記錄包含在對(duì)象中;當(dāng)執(zhí)行如
51、刪除、添加等操作時(shí),不返回記錄集對(duì)象。</p><p> 在ExecuteSQL函數(shù)中使用了Connect String函數(shù),這個(gè)函數(shù)用來連接數(shù)據(jù)庫(kù),代碼如下:</p><p> Public Function ConnectString() As String</p><p> ‘返回一個(gè)數(shù)據(jù)庫(kù)連接</p><p> Connect
52、String=”FileDSN=gzgl.dsn;UID=sa;PWD=”</p><p> End Function</p><p> 由于在后面的程序中,需要頻繁的檢查各種文本框的內(nèi)容是否為空,這也定義了Testtxt函數(shù),代碼為:Public Function Testtxt(txt As String) As Boolean</p><p> ‘判斷輸
53、入內(nèi)容是否為空</p><p> If Trim(txt)=”” Then</p><p> Testtxt=False</p><p><b> Else</b></p><p> Testtxt=True</p><p><b> End If</b></
54、p><p> End Function.</p><p> 如果文本框內(nèi)容為空時(shí),函數(shù)將返回True,否則將返回False。</p><p> 3.4 Active數(shù)據(jù)對(duì)象——ADO</p><p> 從簡(jiǎn)單的文本文件到各種復(fù)雜的關(guān)系型數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)應(yīng)用程序都需要面對(duì)各種各樣的數(shù)據(jù)源。Visual basic6.0提供ADO(Active
55、 Data Objects)作為應(yīng)用程序和OLE-DB連接的橋梁。盡管用戶對(duì)數(shù)據(jù)的要求種類繁多,但典型的數(shù)據(jù)源都是支持ODBC和SQL的。</p><p> ADO,即Active數(shù)據(jù)對(duì)象:實(shí)際是一種提供訪問各種數(shù)據(jù)類型的連接機(jī)制。ADO設(shè)計(jì)為一種極簡(jiǎn)單的格式,通過ODBC的方法同數(shù)據(jù)庫(kù)接口相連。用戶可以使用任何一種ODBC數(shù)據(jù)源,即不僅適合于SQL sever、Oracle、Access等數(shù)據(jù)庫(kù)應(yīng)用程序,也適
56、合excel表格、文本文件、圖形文件和無(wú)格式數(shù)據(jù)文件。ADO是基于OLE-DB之上的技術(shù),因此ADO通過其內(nèi)部的屬性和方法提供統(tǒng)一的數(shù)據(jù)訪問接口方法。</p><p> Microsoft在Visual Basic6.0以后的版本都集成了ADO。它與以前的DAO、RDO相比有了很大的提高。DAO(Data Access Objects)即數(shù)據(jù)訪問對(duì)象,是一種面向?qū)ο蟮慕缑娼涌凇Mㄟ^DAO/Jet功能可以訪問IS
57、AM數(shù)據(jù)庫(kù),使用DAO/ODBC Direct功能可以實(shí)現(xiàn)遠(yuǎn)程RDO功能。RDO(Remote Data Objects)即遠(yuǎn)程數(shù)據(jù)對(duì)象,為使用代碼來創(chuàng)建和操作一個(gè)遠(yuǎn)程ODBC數(shù)據(jù)庫(kù)系統(tǒng)的各個(gè)部件提供了一個(gè)框架。RDO是ODBC API的一個(gè)淺層界面接口,是專為訪問遠(yuǎn)程的ODBC關(guān)系數(shù)據(jù)源而設(shè)計(jì)的。</p><p> ADO集中了DAO和RDO的優(yōu)點(diǎn),可以通過簡(jiǎn)單的編程實(shí)現(xiàn)和各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行連接。</p&
58、gt;<p> 3.4.1、ADO的編程模型 </p><p> 可以通過以下幾步來完成對(duì)數(shù)據(jù)庫(kù)的操作: ①創(chuàng)建一個(gè)到數(shù)據(jù)源的連接(connection),連接到
59、數(shù)據(jù)庫(kù);或者開始一個(gè)事物(Transction)。 </p><p> ?、趧?chuàng)建一個(gè)代表SQL命令行(包括變量、參數(shù)、可選項(xiàng)等)的對(duì)象。</p><p> ?、蹐?zhí)行命令行。 </p><p> ④如果返回以表格的形式組織的數(shù)據(jù),則將他們保存到緩存中,產(chǎn)生相應(yīng)的數(shù)據(jù)集對(duì)象(Recordset)。</p><p> ?、萃?/p>
60、過對(duì)數(shù)據(jù)集對(duì)象進(jìn)行各種操作,包括修改、增加、刪除等。 </p><p> ?、薷聰?shù)據(jù)源,如果使用事務(wù),確認(rèn)是否接受事務(wù)期間發(fā)生的數(shù)據(jù)變化。 </p><p><b> ?、呓Y(jié)束連接或事務(wù)</b></p><p> 3.4.2、ADO的對(duì)象模型 </p><p>
61、 使用ADO的目的是進(jìn)入數(shù)據(jù)源,使得修改、更新數(shù)據(jù)成為可能。ADO提供一系列的類象來完成各種操作。 </p><p> 連接對(duì)象——Connection 一個(gè)連接(Connection)對(duì)象代表一個(gè)到指定數(shù)據(jù)源的成功連接。應(yīng)用程序通過一個(gè)連接(包括實(shí)現(xiàn)數(shù)據(jù)交換的環(huán)境設(shè)置)訪問數(shù)據(jù)源
62、,也可以直接訪問數(shù)據(jù)源(在兩層數(shù)據(jù)結(jié)構(gòu)的系統(tǒng)中比較常見),或者通過類似Microsoft Internet Information Server 的中間層間接訪問訪問數(shù)據(jù)源(這就是通常說的三層結(jié)構(gòu))。連接成功,Connection以對(duì)象的形式存在。連接對(duì)象在ADO對(duì)象模型中的地位就是在Connection里包括(Error、Command、Recordset)。因此使用連接對(duì)象的操作如下:
63、 </p><p> ·在打開連接前需要設(shè)置ConnectionString、ConnectionTimeout和Mode屬性。 </p><p> ·設(shè)置CursorLocation屬性,可以設(shè)置或者返回指針位置。</p><p> ·設(shè)置DefaultDatab
64、ase屬性可以連接指定的一個(gè)默認(rèn)的數(shù)據(jù)庫(kù)。</p><p> ·設(shè)置IsolationLevel屬性可以確定事務(wù)(Transation)在連接的隔離等級(jí)。</p><p> ·設(shè)置Provider可以連接指定的一個(gè)OLE-DB寄主。</p><p> ·設(shè)置Open與Close方法來建立和中斷一個(gè)連接。</p>&l
65、t;p> ·使用Execute方法在連接上建立執(zhí)行命令,設(shè)置CommandTimeout屬性來指定或者返回命令執(zhí)行時(shí)間。 </p><p> ·使用BeginTrans、CommitTrans和RollbackTrans方法以及Attributes屬性來管理事物。</p><p> ·通過檢察Error對(duì)象可以知道數(shù)據(jù)源返回的錯(cuò)誤。</p&
66、gt;<p> ·通過Version屬性可以知道ADO的版本。</p><p> ·使用OpenSchema方法可以知道數(shù)據(jù)庫(kù)的計(jì)劃信息。</p><p> 2. 命令行對(duì)象——Command</p><p> 命令行對(duì)象是對(duì)數(shù)據(jù)庫(kù)將要執(zhí)行的一系列操作的定義。使用命令行對(duì)象來查詢數(shù)據(jù)庫(kù)并返回?cái)?shù)據(jù)集對(duì)象(recordset)形
67、式的查詢結(jié)果。命令行對(duì)象指定變量、參數(shù)、以及可選項(xiàng)來完成對(duì)數(shù)據(jù)庫(kù)的操作,如添加記錄、刪除記錄、更新記錄等。命令行對(duì)象在ADO對(duì)象的模型中是Connection包含Command,Command又包含Parameters。使用命令行對(duì)象的各種屬性和方法可以如下操作:</p><p> ·設(shè)置CommandText屬性可以定義命令行的內(nèi)容,如SQL語(yǔ)句。</p><p>
68、83;使用Execute方法執(zhí)行命令行并返回一個(gè)數(shù)據(jù)集對(duì)象(recordset)。</p><p> ·設(shè)置CommandType屬性可以優(yōu)化命令的效率。</p><p> ·設(shè)置CommandTimeout屬性可以指定服務(wù)器等待醫(yī)療命令執(zhí)行的時(shí)間。</p><p> ·設(shè)置ActiveConnection屬性可以將一個(gè)命令行對(duì)象
69、與一個(gè)打開的連接關(guān)聯(lián)。</p><p> 3. 數(shù)據(jù)集對(duì)象——Recordset</p><p> 如果命令行指定數(shù)據(jù)以表的形式組織,執(zhí)行命令行后將返回相應(yīng)的數(shù)據(jù)集。同過數(shù)據(jù)集可以對(duì)記錄以及組成記錄的列進(jìn)行各種操作。數(shù)據(jù)集對(duì)象在ADO對(duì)象模型中的地位是Connection包含Recordset,而Recordset包含fields。</p><p> 3.4.
70、3、為項(xiàng)目添加ADO</p><p> ADO雖然集成在Visual Basic6.0中,但只是可選項(xiàng)。因此在創(chuàng)建項(xiàng)目后,需要為項(xiàng)目添加ADO。</p><p> 選擇”project”菜單中的”References”命令,在References列表框中中選擇”Microsoft ActiveX Object 2.6 Library”選項(xiàng),再確定。</p><p&g
71、t; 3.5 與數(shù)據(jù)庫(kù)的連接性</p><p> VISUAL BASIC提供了與底層數(shù)據(jù)庫(kù)系統(tǒng)緊密的連接。 VISUAL BASIC支持不同的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)并充分發(fā)揮每一個(gè)數(shù)據(jù)庫(kù)的特長(zhǎng)。開發(fā)人員和利用ODBC來確定數(shù)據(jù)源,則ADO就能通過數(shù)據(jù)源來對(duì)數(shù)據(jù)庫(kù)里的數(shù)據(jù)進(jìn)行操作。</p><p> 而具體的連接哪個(gè)數(shù)據(jù)庫(kù),ODBC沒有設(shè)置限定,從而使設(shè)計(jì)者能夠應(yīng)用自己比較熟悉的數(shù)據(jù)庫(kù)。
72、</p><p> 以下進(jìn)行圖例說明:(圖3-1)</p><p> 值得一提的是VISUAL BASIC擁有數(shù)據(jù)窗口對(duì)象(FORM)。它是一個(gè)智能對(duì)象是MICROSOFT公司的技術(shù)。它能操縱關(guān)系數(shù)據(jù)庫(kù)的數(shù)據(jù)并可以編寫SQL語(yǔ)言。利用該對(duì)象可以修改、更新、插入、刪除、滾頁(yè)、打印數(shù)據(jù)窗口直接管理數(shù)據(jù)庫(kù)的交互與控制。在本系統(tǒng)開發(fā)過程中大多數(shù)報(bào)表均使用此對(duì)象生成,使用其操縱關(guān)系數(shù)據(jù)庫(kù)的數(shù)據(jù)十
73、分方便、快捷。它是一個(gè)支持?jǐn)?shù)據(jù)操縱的封裝性很好對(duì)象。</p><p> 第四章 圖書館管理信息系統(tǒng)的具體實(shí)現(xiàn)</p><p> 4.1 系統(tǒng)客戶端程序</p><p> 以上的SQL語(yǔ)句在SQL Sever 2000查詢分析器中執(zhí)行后,將自動(dòng)產(chǎn)生需要的所有表格。有關(guān)數(shù)據(jù)庫(kù)結(jié)構(gòu)的所有后臺(tái)工作已經(jīng)完成?,F(xiàn)在將通過圖書館管理信息系統(tǒng)中各個(gè)功能模塊的實(shí)現(xiàn),來說明如何
74、使用Visual Basic 來編寫 系統(tǒng)的客戶端程序。</p><p> 創(chuàng)建工程項(xiàng)目——Library_MIS</p><p> 打開Visual Basic 后,單擊File|New Project 菜單,在工程模塊中選擇Standard EXE,Visual Basic 將自動(dòng)產(chǎn)生一個(gè)Form窗體,屬性都是缺省設(shè)置。將這個(gè)窗體刪除,單擊File|Save Project菜單,將
75、這個(gè)工程項(xiàng)目命名為L(zhǎng)ibrary_MIS.</p><p> 創(chuàng)建圖書館管理信息系統(tǒng)的主窗體</p><p> 這個(gè)項(xiàng)目可以使用多文檔界面,單擊工具欄中的ADD MDI Form按鈕,生成一個(gè)窗體。在這個(gè)窗體上添加所需的控件,窗體和控件的屬性設(shè)置如下:</p><p> 主窗體及其控件屬性設(shè)置</p><p> 創(chuàng)建好的主窗體如下:&
76、lt;/p><p> 圖書館管理信息系統(tǒng)窗體(圖3-2)</p><p><b> 創(chuàng)建主窗體的菜單</b></p><p> 在上圖所示的主窗體中,單擊鼠標(biāo)右鍵,選擇彈出式菜單中的Menu Editor,創(chuàng)建如下所示的菜單結(jié)構(gòu)。</p><p><b> 系統(tǒng)</b></p>&
77、lt;p><b> …修改密碼</b></p><p><b> …添加用戶</b></p><p><b> …退出</b></p><p><b> 讀者管理</b></p><p><b> …讀者種類管理</b>
78、;</p><p><b> ……添加讀者種類</b></p><p><b> ……修改讀者種類</b></p><p><b> ……刪除讀者種類</b></p><p><b> …讀者信息管理</b></p><p>
79、;<b> ……添加讀者信息</b></p><p><b> ……修改讀者信息</b></p><p><b> ……刪除讀者信息</b></p><p><b> ……查詢讀者信息</b></p><p><b> 書籍管理<
80、/b></p><p><b> …書籍類別管理</b></p><p><b> ……添加書籍類別</b></p><p><b> ……修改書籍類別</b></p><p><b> ……刪除書籍類別</b></p><
81、;p><b> …書籍信息管理</b></p><p><b> ……添加書籍信息</b></p><p><b> ……修改書籍信息</b></p><p><b> ……刪除書籍信息</b></p><p><b> ……查詢
82、書籍信息</b></p><p><b> 借閱信息管理</b></p><p><b> …借書信息管理</b></p><p><b> ……添加借書信息 </b></p><p><b> ……修改借書信息</b></p&g
83、t;<p><b> ……刪除借書信息</b></p><p><b> ……查詢借書信息</b></p><p><b> …還書信息管理</b></p><p><b> ……添加還書信息</b></p><p><b>
84、; ……修改還書信息</b></p><p><b> ……查詢還書信息</b></p><p><b> 幫助</b></p><p><b> …About</b></p><p><b> 創(chuàng)建公用模塊</b></p>
85、;<p> 在Visual Basic 中可以用公用模塊來存放整個(gè)工程項(xiàng)目公用的函數(shù)、過程和全局變量等。這樣可以極大的提高代碼的效率。在項(xiàng)目資源管理器中為項(xiàng)目添加一個(gè) Module,保存為Module.bas。由于系統(tǒng)中各個(gè)功能模塊都將頻繁使用數(shù)據(jù)庫(kù)中的各種數(shù)據(jù),因此需要一個(gè)公共的數(shù)據(jù)操作函數(shù),用以執(zhí)行各種SQL語(yǔ)句。在主窗體中,我們將用到兩個(gè)全局變量gintMode和flagEdit用來記錄各個(gè)狀態(tài),因而需要在模塊中聲
86、明,代碼如下:</p><p> Public gintMode As Integer ’定義整形變量,記載讀寫狀態(tài)</p><p> Public flagEdit As Boolean ’定義Boolean變量,記載信息列表窗體是否打開</p><p> gintMode變量用來記錄是添加狀態(tài)還是修改狀態(tài),賦值1為添加,賦值2為修改。flagEdit變量用
87、來標(biāo)示是否進(jìn)入修改的窗體。</p><p> 由于啟動(dòng)圖書管理系統(tǒng)后,需要對(duì)用戶進(jìn)行判斷。如是授權(quán)用戶,將進(jìn)入系統(tǒng),否則將停止程序的執(zhí)行。這個(gè)判斷需要在系統(tǒng)運(yùn)行的最初進(jìn)行,因此將代碼放在公用模塊中。</p><p> 4.2 系統(tǒng)用戶管理模塊的創(chuàng)建</p><p> 用戶管理模塊主要實(shí)現(xiàn):用戶登陸、添加用戶、刪除用戶、修改密碼四個(gè)功能。其窗體如下</p&
88、gt;<p><b> ?。▓D3-3)</b></p><p> 用戶點(diǎn)擊確認(rèn)后,其數(shù)據(jù)會(huì)添加到數(shù)據(jù)庫(kù)中,添加用戶數(shù)據(jù)庫(kù)中會(huì)多一條新記錄,修改密碼即將數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行更新(update),然后將新記錄保存到數(shù)據(jù)庫(kù)里,刪除用戶就是將數(shù)據(jù)庫(kù)中的數(shù)據(jù)清除。用戶的登錄界面與此界面基本相同,同樣是調(diào)用數(shù)據(jù)庫(kù)library表中的信息,再對(duì)用戶的登錄信息進(jìn)行判斷,決定用戶的權(quán)限。這里需要
89、強(qiáng)調(diào)的是刪除用戶時(shí),數(shù)據(jù)庫(kù)中所記錄的是您本次登錄所使用的用戶名和密碼,所以用戶名已定,只需對(duì)您所輸入的密碼進(jìn)行判斷,密碼正確,則刪除您本次登錄的用戶名。同時(shí)也說明了您無(wú)權(quán)刪除別人的用戶名和密碼。</p><p> 4.3 讀者種類管理模塊的創(chuàng)建</p><p> 圖書館需要管理不同種類的讀者,并且不同讀者享受的服務(wù)不同。讀者種類管理模塊主要實(shí)現(xiàn)如下功能:添加讀者種類、修改讀者種類、刪除
90、讀者種類。</p><p> 添加讀者種類窗體的創(chuàng)建</p><p> 選擇“讀者管理|讀者種類管理|添加讀者種類”菜單,出現(xiàn)如下窗體:</p><p><b> ?。▓D3-4)</b></p><p> 在窗體上放置多個(gè)文本框,用來輸入讀者種類信息;兩個(gè)按鈕用來確定是否添加讀者種類信息;多個(gè)標(biāo)簽用來提示文本框中需
91、要輸入的內(nèi)容。在載入窗體時(shí),程序首先判斷所處狀態(tài),載入窗體時(shí),將首先通過變量gintRTmode判斷是添加 還是修改。如果是添加狀態(tài),文本框?qū)⑶宄齼?nèi)容,窗體有提示信息;如果是修改狀態(tài),將選擇顯示當(dāng)前的記錄。用戶輸入內(nèi)容后,單擊cmdSave按鈕將觸發(fā)Click事件。</p><p> 程序首先對(duì)是否輸入內(nèi)容進(jìn)行判斷,然后進(jìn)行格式判斷。程序?qū)⑴袛嗍欠裼兄貜?fù)編號(hào)的記錄,然后添加數(shù)據(jù)到數(shù)據(jù)庫(kù)。最后根據(jù)狀態(tài)來顯示相應(yīng)
92、的信息:如果是添加狀態(tài),將提示添加成功,然后重新顯示并清空所有文本框,以便繼續(xù)添加記錄:如果處于修改狀態(tài),將提示修改成功,然后更新所有記錄的列表。</p><p> 當(dāng)文本框獲得焦點(diǎn)時(shí)將觸發(fā)下面的事件:自動(dòng)選中輸入的內(nèi)容,便于修改。單擊cmdExit按鈕取消添加信息,輸入完內(nèi)容,按下回車鍵將自動(dòng)進(jìn)入下一個(gè)文本框,將觸發(fā)文本框的Keydown事件(EnterTOTab KeyCode),按鍵號(hào)碼傳遞給EnterT
93、oTab函數(shù),如果是回車自動(dòng)轉(zhuǎn)換為Tab鍵。</p><p> 關(guān)于判斷的代碼如下:</p><p> '添加判斷是否有相同的ID記錄</p><p> If gintRTmode = 1 Then</p><p> txtSQL = "select * from readertype where typeno=
94、39;" & Trim(txtItem(0)) & "'"</p><p> Set mrc = New ADODB.Recordset</p><p> Set mrc = ExecuteSQL(txtSQL, MsgText)</p><p> If mrc.EOF = False Then</p
95、><p> MsgBox "已經(jīng)存在此種類編號(hào)的記錄!", vbOKOnly + vbExclamation, "警告"</p><p> txtItem(0).SetFocus</p><p><b> Exit Sub</b></p><p><b> End I
96、f</b></p><p><b> mrc.Close</b></p><p><b> End If</b></p><p> '判斷是否有相同內(nèi)容的記錄</p><p> txtSQL = "select * from readertype where t
97、ypeno<>'" & Trim(txtItem(0)) & "' and typename='" & Trim(txtItem(1)) & "'"</p><p> Set mrc = ExecuteSQL(txtSQL, MsgText)</p><p>
98、If mrc.EOF = False Then</p><p> MsgBox "已經(jīng)存在相同讀者種類的記錄!", vbOKOnly + vbExclamation, "警告"</p><p> txtItem(1).SetFocus</p><p><b> Exit Sub</b></p&
99、gt;<p><b> End If</b></p><p><b> '先刪除已有記錄</b></p><p> If gintRTmode = 2 Then</p><p> txtSQL = "delete from readertype where typeno ='
100、" & Trim(txtItem(0)) & "'"</p><p> Set mrc = ExecuteSQL(txtSQL, MsgText)</p><p><b> End If</b></p><p><b> '再加入新記錄</b></p
101、><p> txtSQL = "select * from readertype"</p><p> Set mrc = ExecuteSQL(txtSQL, MsgText)</p><p> mrc.AddNew</p><p> 二 修改讀者種類窗體的創(chuàng)建</p><p> 選擇“
102、讀者管理|讀者種類管理|修改讀者種類”菜單,出現(xiàn)如下窗體,窗體中放置一個(gè)表格控件:</p><p><b> (圖3-5)</b></p><p> 讀者種類記錄列表窗體</p><p> 載入窗體時(shí),觸發(fā)窗體的Load事件,顯示當(dāng)前數(shù)據(jù)庫(kù)中所有的記錄。代碼中調(diào)用showTitle函數(shù),顯示表頭,調(diào)用showData函數(shù),顯示記錄列表。完
103、成代碼后,選擇記錄,然后單擊鼠標(biāo)右鍵,將觸發(fā)MouseUp事件,即這個(gè)事件發(fā)生在松開鼠標(biāo)的時(shí)候。在彈出式菜單中選擇“修改讀者種類”將觸發(fā)菜單menuModifyreadertype的click事件,然后在圖3-4所示的窗體中載入當(dāng)前記錄的內(nèi)容。當(dāng)窗口變化時(shí),需要調(diào)整標(biāo)簽和表格的位置,使標(biāo)簽始終處于窗體的最上方,而表格始終處于標(biāo)簽的下方。窗體的大小變化時(shí)將觸發(fā)Resize事件,所有代碼添加完成后,所修改的數(shù)據(jù)會(huì)更新在數(shù)據(jù)庫(kù)中。</p
104、><p><b> 三 刪除讀者種類</b></p><p> 選擇“讀者管理|讀者種類管理|刪除讀者種類”菜單,將出現(xiàn)記錄列表。選擇相應(yīng)記錄,單擊鼠標(biāo)右鍵,選擇彈出式菜單,將刪除當(dāng)前記錄。這里要判斷讀者類別信息列表內(nèi)容是否為空,即:frmReadertyoe.msgList.Rows>1,才可以進(jìn)行刪除。記載當(dāng)前記錄的位置語(yǔ)句為:intCount=frmRe
105、adertype.msgList.Row txtSQL=”delete from readertype where typeno=’” &Trim(frmReadertype.msgList.TextMatrix(intCount,1))&”’” 查詢語(yǔ)句的執(zhí)行為:Set mrc=ExecuteSQL(txtSQL,MsgText)</p><p> 4.4 讀者信息管理模塊的創(chuàng)建&l
106、t;/p><p> 讀者信息管理模塊主要實(shí)現(xiàn)如下功能:添加讀者信息、修改讀者信息、刪除讀者信息、查詢讀者信息。</p><p> 添加讀者信息窗體的創(chuàng)建</p><p> 選擇“讀者管理|讀者信息管理|添加讀者信息”菜單,出現(xiàn)如下窗體:</p><p> 添加讀者信息窗體(圖3-6)</p><p> 窗體中各個(gè)
107、控件屬性這里不做一一介紹。將各種文本框放在窗體的框架中,組成“讀者種類”和“讀者信息”兩項(xiàng)。載入窗體時(shí),讀者種類中將自動(dòng)添加讀者種類信息,代碼加在窗體的Load事件中。輸入完內(nèi)容后,單擊“保存”按鈕,觸發(fā)Click事件,首先檢查文本內(nèi)容是否符合格式要求,然后判斷是否有重復(fù)記錄,并更新讀者表中的相關(guān)信息,最后添加內(nèi)容到數(shù)據(jù)庫(kù),這里要注意是否存在重復(fù)記錄,若存在重復(fù)記錄,則先刪除已有記錄,再加入新記錄。</p><p&g
108、t;<b> 二、修改讀者信息</b></p><p> 選擇“讀者管理|讀者信息管理|修改讀者信息”菜單,出現(xiàn)如下窗體:</p><p> 修改讀者信息窗體(圖3-7)</p><p> 窗體中放置了一個(gè)表格控件,所有讀者記錄都顯示在里面。選擇需要修改的記錄,在選擇菜單下拉框中的“修改讀者信息”命令,出現(xiàn)“添加讀者信息窗體”,然后進(jìn)行
109、修改。選擇“修改讀者信息”命令,將觸發(fā)menuModifyreader的Click事件。程序判斷為修改狀態(tài)后,首先刪除原有記錄,然后把新內(nèi)容加入到數(shù)據(jù)庫(kù)中。</p><p><b> 三、刪除讀者信息</b></p><p> 在讀者記錄列表中選擇記錄,然后選擇菜單中的“刪除讀者信息”命令,將刪除當(dāng)前記錄。刪除信息時(shí)同樣要判斷讀者信息列表內(nèi)容是否為空。</p
110、><p><b> 四、查詢讀者信息</b></p><p> 選擇“讀者管理|讀者信息管理|查詢讀者信息”菜單,出現(xiàn)下列窗體。在這里可以按照各種方式以及它們的組合進(jìn)行查詢。載入窗體時(shí),將自動(dòng)加入所有讀者種類的信息,即將內(nèi)容添加到列表框中。設(shè)置完查詢內(nèi)容和方式后,單擊cmdOK 按鈕將進(jìn)行查詢,代碼如下:</p><p> Private S
111、ub cmdOK_Click()</p><p> Dim sQSql As String ‘判斷查詢方式是否為讀者編號(hào)</p><p> If chkItem(0).Value=vbChecked Then’組合查詢語(yǔ)句</p><p> SQSql=”readerno=’”& Trim(txtIten(0) &””)&””</
112、p><p> End if ‘判斷查詢方式是否為讀者姓名</p><p> If chkItem(1).Value=vbChecked Then</p><p> If Trim(sQSql & ””)=”” Then </p><p> SQSql=”readername=’” & Trim(txtItem(1) &am
113、p;” “)& “”</p><p><b> End if </b></p><p><b> Enf if </b></p><p> 當(dāng)然還要判斷是否有查詢內(nèi)容,即Trim(sQSql)是否為空。這里的sQSql定義為一個(gè)String變量。判斷完查詢條件后,再?gòu)臄?shù)據(jù)庫(kù)中的readers表中調(diào)出所要查詢的
114、內(nèi)容,滿足條件的所有記錄都將顯示在“讀者信息列表”中。</p><p><b> ?。▓D3-8)</b></p><p> 4.5 書籍類別管理模塊的創(chuàng)建</p><p> 書籍類別管理模塊主要實(shí)現(xiàn)如下功能:添加書籍類別、修改書籍類別、刪除書籍信息。</p><p> 添加書籍類別窗體的創(chuàng)建</p>
115、<p> 選擇“書籍管理|查書籍類別管理|添加書籍類別”菜單,出先如下窗體,用來添加書籍類別。其方法與前面的讀者類別添加雷同,這里不再做介紹。</p><p> 添加書籍類別窗體(圖3-9)</p><p><b> 修改書籍類別</b></p><p> 選擇“書籍管理|查書籍類別管理|修改書籍類別”菜單,出現(xiàn)如下窗體<
116、;/p><p> 書籍類別信息列表(圖3-10)</p><p> 在列表找選中記錄,單擊鼠標(biāo)右鍵在彈出的菜單中選擇“修改書籍類別”命令,所選記錄出現(xiàn)在“添加書籍類別”窗體中,然后可以對(duì)其記錄內(nèi)容進(jìn)行修改。具體方法與讀者類別修改相同。</p><p><b> 刪除書籍類別</b></p><p> 在書籍類別列表中
117、選擇記錄,并在彈出式菜單中選擇“刪除書籍類別”命令,將刪除當(dāng)前記錄。即將從數(shù)據(jù)庫(kù)中的booltype表中刪除booktypeno=“”的數(shù)據(jù)內(nèi)容。</p><p> 總結(jié):利用圖書館管理系統(tǒng)進(jìn)行管理,能更有效的對(duì)圖書進(jìn)行系統(tǒng)管理,方便讀者對(duì)各類圖書的查詢,同時(shí)也大大提高了辦理借書、還書手續(xù)方面的工作效率和提高圖書館的服務(wù)效率,為讀者提供方便。</p><p><b> 參考文
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 圖書館管理信息系統(tǒng)畢業(yè)論文
- 圖書館管理信息系統(tǒng)畢業(yè)論文[
- 基于.net的圖書館管理信息系統(tǒng)——畢業(yè)論文
- 管理信息系統(tǒng)-圖書館
- 畢業(yè)論文----基于.net framework平臺(tái)的圖書館管理信息系統(tǒng)
- 圖書館管理信息系統(tǒng)設(shè)計(jì)
- 圖書館管理信息系統(tǒng)畢業(yè)設(shè)計(jì)
- 圖書館管理信息系統(tǒng)畢業(yè)設(shè)計(jì)
- 學(xué)校圖書館管理信息系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 管理信息系統(tǒng)課程設(shè)計(jì)---圖書館管理信息系統(tǒng)
- 學(xué)校圖書館管理信息系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 圖書館管理信息系統(tǒng)開題報(bào)告
- 管理信息系統(tǒng)課程設(shè)計(jì)--圖書館管理信息系統(tǒng)
- 《管理信息系統(tǒng)》課程設(shè)計(jì)--圖書館管理信息系統(tǒng)設(shè)計(jì)
- [優(yōu)秀畢業(yè)設(shè)計(jì)精品] 圖書館管理信息系統(tǒng)
- 圖書館管理信息系統(tǒng)課程設(shè)計(jì)
- 管理信息系統(tǒng)課程設(shè)計(jì)(圖書館)
- 圖書館管理信息系統(tǒng)左新彪
- 圖書館管理信息系統(tǒng)課程設(shè)計(jì)
- 高校圖書館管理信息系統(tǒng)的設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論