

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 畢業(yè)設計(論文)中文摘要</p><p><b> 圖書管理系統(tǒng)</b></p><p><b> 作 者: </b></p><p><b> 指導老師:</b></p><p> 摘要:圖書管理系統(tǒng)是典型的計算機信息管理系統(tǒng)(MIS),其
2、開發(fā)主要包括后臺數據庫的建立和維護以及前端應用程序的開發(fā)兩個方面。對于前者要求建立起數據一致性和完整性強、數據安全性好的庫。而對于后者則要求應用程序功能完備,易使用等特點。本管理系統(tǒng)包括了系統(tǒng)登錄、讀者管理、書籍管理、借閱信息管理四個總的功能塊。在各個功能塊中又具體包括了讀者種類信息管理、讀者信息管理、書籍類別管理、書籍信息管理、借書信息管理、還書信息管理功能。使用戶方便的對圖書館的信息進行管理,為讀者借閱還書的節(jié)省了大量的時間。
3、 經過分析,我使用 MICROSOFT公司的 VISUAL BASIC開發(fā)工具,利用其提供的各種面向對象的開發(fā)工具,尤其是數據窗口這一功能方便而簡潔操縱數據庫的智能化對象,首先在短時間內建立系統(tǒng)應用原型,然后,對初始原型系統(tǒng)進行需求迭代,不斷修正和改進,直到形成用戶滿意的可行系統(tǒng)。</p><p> 關鍵字:圖書管理系統(tǒng)、數據庫、VISUAL BASIC、窗體、SOL2000。</p><p
4、><b> Abstract</b></p><p> Abstract:Books management system is the typical computer information management system (MIS), its development mainly includes the backstage database the establishme
5、nt and the maintenance as well as front end the application procedure development two aspects. Establishes the data uniformity and the integrity regarding former request is strong, the data security good storehouse. But
6、requests the application procedure function regarding latter completely, is easy to use and so on the characteristic</p><p> After the analysis, I use MICROSOFT Corporation VISUAL the BASIC development kit,
7、 uses each kind of object-oriented development kit which it provides, the data window this function convenience but succinctly operates the database in particular the intellectualized object, first establishes the system
8、 application prototype in the short time, then, carries on the demand iteration to the initial prototype system, unceasingly revises and the improvement, until forms user satisfaction the feasible sy</p><p>
9、 Key words : books management system management system, database, VISUAL BASIC, Window, SOL2000</p><p> 目錄 </p><p><b> 摘要1</b></p><p> Abstract………
10、………………………………………...…………………. 1</p><p><b> 前言1</b></p><p> 第一章 圖書管理信息系統(tǒng)的問題1</p><p> 1.1 圖書管理信息系統(tǒng)的簡介1</p><p> 1.2 圖書管理信息系統(tǒng)的用戶需求1</p><p>
11、1.3 圖書管理信息系統(tǒng)功能分析1</p><p> 1.4 圖書管理信息系統(tǒng)功能模塊設計2</p><p> 第二章 圖書管理信息系統(tǒng)數據庫的設計3</p><p> 2.1 數據庫的需求分析3</p><p> 2.2 數據庫邏輯結構設計4</p><p> 2.3 數據庫邏輯結構的實現5&
12、lt;/p><p> 第三章 圖書管理信息系統(tǒng)的開發(fā)環(huán)境9</p><p> 3.1 圖書管理信息系統(tǒng)的開發(fā)語言簡介9</p><p> 3.1.1 開發(fā)環(huán)境的選擇10</p><p> 3.2 數據庫環(huán)境的選擇10</p><p> 3.3 VB語言和函數10</p><p>
13、; 3.4 Active數據對象——ADO11</p><p> 3.4.1 ADO的編程模型11</p><p> 3.4.2 ADO的對象模型12</p><p> 3.4.3、為項目添加ADO13</p><p> 3.5 與數據庫的連接性14</p><p> 第四章 圖書管理信息系統(tǒng)的
14、具體實現15</p><p> 4.1 系統(tǒng)客戶端程序16</p><p> 4.2 系統(tǒng)用戶管理模塊的創(chuàng)建17</p><p> 4.3 讀者種類管理模塊的創(chuàng)建18</p><p> 4.4 讀者信息管理模塊的創(chuàng)建21</p><p> 4.5 書籍類別管理模塊的創(chuàng)建24</p>
15、<p> 4.6 書籍信息管理模塊的創(chuàng)建26</p><p> 4.7 借書信息管理創(chuàng)建28</p><p> 4.8 還書信息管理創(chuàng)建28</p><p> 4.8 圖書管理系統(tǒng)的實現29</p><p> 第五章 系統(tǒng)測試與系統(tǒng)性能分析30</p><p><b> 結束
16、語32</b></p><p><b> 參考文獻32</b></p><p><b> 致 謝34</b></p><p><b> 前 言</b></p><p> 隨著人類社會的發(fā)展,人類知識不斷地增長、擴大。書籍就漸漸地成為人們獲取、增長
17、知識的主要途徑,而圖書館就自然而然地在人們的生活中占據了一定的位置。在圖書館方面,就必然面臨著一個問題:怎樣才能科學、有效的把圖書館里圖書管理好?又如何知道被借圖書為何人所借?所借圖書什么時候歸還?又如何從借書者那里得到圖書的信息。這些問題直接關系到讀者求知的方便程度,也關系到圖書館的發(fā)展。本系統(tǒng)以以上問題為依據,對所提問題給予一一的解決。在現代社會中,計算機已經在各行各業(yè)發(fā)揮著重要的作用,用計算機來管理已經成為必然的結果。圖書館也不例
18、外,在圖書館的管理過程中,同樣也必需使用計算機來輔助管理。有了計算機的輔助管理,必然要有一套較完善的計算機處理系統(tǒng)(圖書管理系統(tǒng))來管理圖書,這樣才能科學、有效的對圖書進行管理</p><p> 利用圖書管理系統(tǒng)進行管理,能更有效的對圖書進行系統(tǒng)管理,方便讀者對各類圖書的查詢,同時也大大提高了辦理借書、還書手續(xù)方面的工作效率和提高圖書館的服務效率,為讀者提供方便。針對上述情況,本人開發(fā)了一套圖書管理專業(yè)軟件--
19、圖書管理系統(tǒng),該系統(tǒng)并不針對某一個圖書館而開發(fā),所以在小型方面相對較廣些。相對于同類軟件來說,該系統(tǒng)功能較齊全,集合了圖書館從進書、查詢、借書、還書、罰金等多種功能,同時讀者可以對圖書的情況有個具體的了解,圖書管理員也可以對某一圖書的具體情況有個充分的了解,對其圖書管理有很好的掌握。在操作方面也比較方便,界面也較友好。在數據庫方面,該系統(tǒng)采用SQL Server2000數據庫系統(tǒng),在安全性方面也有了較大的提高。與傳統(tǒng)的手工作業(yè)相比,它大
20、大提高了工作效率,而且系統(tǒng)采用人機對話方式,菜單提示,界面友好、操作簡單,實現開架借。</p><p> 第一章 圖書管理信息系統(tǒng)的問題</p><p> 1.1 圖書管理系統(tǒng)的簡介</p><p> 圖書管理系統(tǒng)是針對圖書館的大量業(yè)務處理工作而開發(fā)的管理軟件。根據用戶的要求,實現借閱管理、讀者管理、和圖書管理,等幾個方面的功能。</p>&l
21、t;p> 本軟件是為了規(guī)范單位的圖書館日常運作,加強圖書借閱的信息管理而開發(fā)設計的。時間比較倉促,肯定存在許多問題,同時將邊運行邊修改與完善,使其更好的服務于圖書館的日常管理,滿足圖書館管理方面的各種需要。 </p><p> 本軟件界面友好,操作簡單,小巧實用,運行穩(wěn)定,自動化程度較高,具備多種功能,能滿足一般小型圖書室的日常管理需要??蛇M行
22、書籍、讀者、借書和還書等信息的錄入、修改與刪除,同時提供靈活豐富的查詢,更好是對圖書的具體行蹤能提供跟準確的位置等功能,方便統(tǒng)計匯總。對借書者所借書是否被借,被何人所借,借書者的姓名、地址、聯系方式,何時歸還等等經查詢即可知曉。本系統(tǒng)以此為目的,開發(fā)了相應的數據庫與工作界面,以完成以上功能。</p><p> 1.2 圖書理理系統(tǒng)的用戶需求</p><p> 1.2.1 總體功能需求&
23、lt;/p><p> 圖書管理系統(tǒng)是針對圖書館的大量業(yè)務處理工作用計算機進行全面現代化管理.主要包括讀者管理、書籍管理、和借閱信息管理, 等幾個方面的功能,以實現用戶方便的借書.還書.查詢所需書籍等需求。</p><p> 具體系統(tǒng)功能需求描述</p><p><b> (1)讀者管理</b></p><p> 讀者
24、管理可分為讀者種類管理和讀者信息管理,可完成對讀者種類的添加.修改.刪除功能;以及完成對讀者信息的添加.修改.刪除.查詢功能。</p><p><b> (2) 書籍管理</b></p><p> 書籍管理包括書籍類別管理和書籍信息管理,可完成對書籍類別的添加.修改.刪除功能;以及完成對書籍信息的添加.修改.刪除.查詢功能。 </p><p&g
25、t; (3) 借閱信息管理</p><p> 借閱信息管理包括借書信息管理和還書信息管理,借書信息管理要完</p><p> 成對所借書籍的添加.修改.刪除.查詢功能;還書信息管理要完成對所還書籍的添加.修改.刪除功能。</p><p> (4) 數據備份管理</p><p> 管理員能對數據進行數據備份與數據恢復功能。</p
26、><p> 1.3 圖書管理信息系統(tǒng)功能分析</p><p> 系統(tǒng)開發(fā)的總任務是實現 圖書館管理信息關系的系統(tǒng)化、規(guī)范化和自動化。系統(tǒng)功能分析是在系統(tǒng)開發(fā)的總體任務的基礎上完成的,本系統(tǒng)的需要完成功能主要有:</p><p> 有關讀者種類標準的制定、種類信息的輸入,包括種類編號、種類名稱、借書數量、借書期限、有效期限等。</p><p>
27、; 讀者種類信息的修改,包括類別名稱,借書數量,借書期限,有效期限等。</p><p> 讀者基本信息的輸入,包括讀者編號、讀者姓名、讀者種類、讀者性別、工作單位、家庭住址、電話號碼、辦證日期等。</p><p> 書籍類別標準的制定、類別信息的輸入,包括類別編號、類別名稱。</p><p> 書籍類別的修改,包括類別編號、類別名稱。</p>
28、<p> 書籍信息的輸入,包括書籍編號、書籍名稱、書籍類別、作者姓名、出版社名稱、出版日期、書籍價格、登記日期、是否借出等。</p><p> 書籍信息的查詢,包括書籍編號、書籍名稱、書籍類別、作者姓名、出版社名稱、出版日期、書籍價格、登記日期等。</p><p> 書籍信息的修改,包括借書信息編號、讀者編號、讀者姓名、書籍編號、書籍名稱、借書日期、是否借出等。</p
29、><p> 借書信息的查詢、修改,包括借書信息編號、讀者編號、讀者姓名、書籍編號、書籍名稱、借書日期等。</p><p> 還書信息的輸入,包括還書信息編號、讀者編號、讀者姓名、書籍編號、書籍名稱、借書日期、還書日期等。</p><p> 書籍罰金信息的輸入,包括丟失書籍罰金。丟失書籍罰金包括書籍編號、書籍名稱、書籍價格和賠償圖書的金額。</p>&
30、lt;p> 1.4 圖書管理信息系統(tǒng)功能模塊設計</p><p> 對上述各項功能進行集中、分塊,按照結構化程序設計的要求,得到下圖所示的系統(tǒng)功能模塊圖:</p><p> 系統(tǒng)功能模塊圖(圖1-1)</p><p> 第二章 圖書管理信息系統(tǒng)數據庫的設計</p><p> 數據庫在信息管理系統(tǒng)中有著很重要的地位,合理的數據
31、庫結構設計可以提高數據儲存的效率,保證數據的完整和一致,有利于程序的實現。設計數據庫系統(tǒng)時應該首先充分了解用戶各個方面的要求,包括現有的以及將來可能增加的需求。數據庫設計一般包括如下幾個步驟:</p><p><b> 數據庫需要分析。</b></p><p> 數據庫概念結構設計。</p><p> 數據庫邏輯結構設計。</p&g
32、t;<p> 2.1 數據庫的需求分析</p><p> 用戶的需求具體體現在各種信息的提供、保存、更新和查詢,這就要求數據庫結構能充分滿足各種信息的輸出和輸入。收集基本數據、數據結構以及數據處理的流程,組成一份詳盡的數據字典,為后面的具體設計打下基礎。</p><p> 仔細分析調查有關圖書館管理信息需求的基礎上,得到下圖所示的本系統(tǒng)所處理的數據流程:</p&g
33、t;<p> 圖書管理信息系統(tǒng)數據流程圖(圖2-1)</p><p> 針對一般的圖書管理信息系統(tǒng)的要求,通過對圖書管理工作過程的內容和數據流程分析,設計如下面所示的數據項和數據結構:</p><p> 讀者種類信息,包括的數據項有:種類編號、種類名稱、借書數量、借書期限、有效期限等。</p><p> 讀者信息,包括的數據項有:讀者編號、讀者
34、姓名、讀者種類、讀者性別、工作單位、家庭住址、電話號碼、辦證日期等。</p><p> 書籍類別信息,包括的數據項有:類別編號、類別名稱、關鍵詞、備注信息等。</p><p> 書籍信息,包括的數據項有:書籍編號、書籍名稱、書籍類別、作者姓名、出版社名稱、出版日期、書籍頁數、關鍵詞、登記日期等。</p><p> 借閱信息,包括的數據項有:借閱信息編號、讀者編
35、號、讀者姓名、書籍編號、書籍名稱、借書日期、還書日期等。</p><p> 2.2 數據庫邏輯結構設計</p><p> 采用SQL Sever 2000來完成圖書管理信息系統(tǒng)的數據庫,需將上面的數據庫的概念結構轉化為SQL的數據庫所支持的實際數據模型,這也就是數據庫的邏輯結構。</p><p> 圖書管理信息管理系統(tǒng)數據庫中的表格的設計結果有以下的表格所表
36、示,這些表格表示在數據庫中的一個表:</p><p> readertypetable 讀者種類信息表</p><p> 表中內容有:讀者種類編號、讀者種類名稱、借書數量、借書期限、有效期限。</p><p> readertable 讀者信息表格</p><p> 表中內容有:readertype中的所有內容、讀者編號、讀者姓
37、名、讀者性別、電話號碼、辦證日期、工作單位、家庭住址。</p><p> booktypetable 書籍類別信息表</p><p> 表中內容有:書籍類別編號、書籍類別名稱、關鍵詞、。</p><p> booktable 書籍信息表</p><p> 表中內容有:書籍名稱、書籍類別、作者姓名、出版社名稱、出版日期、書籍頁
38、數、登記日期。</p><p> lendbooktable 借閱信息表</p><p> 表中內容有:包括booktable表中的書籍名稱、書籍類別、作者姓名、出版社、書籍備注信息,以及讀者信息中的讀者編號、讀者姓名、讀者種類、借書日期。</p><p> 2.3 數據庫邏輯結構的實現</p><p> 2.3.1 數據庫系統(tǒng)設計
39、數據庫設計主要是進行數據庫的邏輯設計,即將數據按一定的分類、分組系統(tǒng)和邏輯層次組織起來,是面向用戶的。數據庫設計時需要綜合企業(yè)各個部門的存檔數據和數據需求,分析各個數據之間的關系,按照DBMS提供的功能和描述工具,設計出規(guī)模適當、正確反映數據關系、數據冗余少、存取效率高、能滿足多種查詢要求的數據模型。數據庫設計的步驟是:(1) 數據庫結構定義:目前的數據庫管理系統(tǒng)(DBMS)有的是支持聯機事務處理CLTP(負責對事務數據進
40、行采集、處理、存儲)的操作型DBMS,有的可支持數據倉庫、有聯機分析處理CLAP(指為支持決策的制定對數據的一種加工操作)功能的大型DBMS,有的數據庫是關系型的、有的可支持面向對象數據庫。針對選擇的DBMS,進行數據庫結構定義。(2) 數據表定義:數據表定義指定義數據庫中數據表的結構,數據表的邏輯結構包括:屬性名稱、類型、表示形式、缺省值、校驗規(guī)則、是否關鍵字、可否為空等。關系型數據庫要盡量按關系規(guī)范化要求進行數據庫設計,
41、但為使效率高,規(guī)范化程度應根據應用環(huán)境和條件來決定。數據表設計不僅要滿足數據存儲的要求,還要增加一些如反映有關信</p><p> 2.3.2 數據庫設計范式分析</p><p> 第一范式(first normal form,簡稱1st NF)就是指在同一表中沒有重復項出現,如果有則應將重復項去掉。這個去掉重復項的過程就稱之為規(guī)范化處理。在本文所討論的開發(fā)方法里,1st
42、NF實際上是沒有什么意義的。因為我們按規(guī)范化建立的指標體系和表的過程都自動保證了所有表都滿足1st NF。 第二范式(second normal form,簡稱 2nd NF)是指每個表必須有一個(而且僅一個)數據元素為主關鍵字(primary key),其它數據元素與主關鍵字一一對應。例如,在圖l9.7中如果我們將讀者姓名定義為主關鍵字(其它數據元素中的記錄數據都有可能重名,故不能作為主關鍵字),故只要知道了讀者一個記錄就知
43、道一個圖書的記錄或者是借書的記錄,就可以唯一地在同一行中找到該姓名的任何一項具體信息。通常我們稱這種關系為函數依賴(functional depEndence)關系。即表中其它數據元素都依賴于主關鍵字,或稱該數據元素唯一地被主關鍵字所標識。本系統(tǒng)的查詢功能等性能都運用了第二范式。 第三范式(third normal form,簡稱 3rd NF)就是指表中</p><p> 2.3.3 數據表的設計&
44、lt;/p><p> 經過前面的需求分析和概念結構設計以后,得到數據庫的邏輯結構。然后用SQL server 2000 數據庫系統(tǒng)中的SQL企業(yè)管理器實現該邏輯結構。下面是就用戶表格、讀者種類信息表格、讀者信息表格、書籍類別信息表格的SQL語句舉例如下:</p><p> readertypetable 讀者種類信息表(圖2-3)</p><p> readert
45、able 讀者信息表格(圖2-4)</p><p> booktypetable 書籍類別信息表(圖2-5)</p><p> bookstable 書籍信息表(圖2-6)</p><p> lendbooktable借閱信息表(圖2-7)</p><p> 在圖2-7中如果我們將讀者姓名定義為主關鍵字(其它數據元素中的記錄
46、數據都有可能重名,故不能作為主關鍵字),故只要知道了讀者一個記錄就知道一個圖書的記錄或者是借書的記錄,就可以唯一地在同一行中找到該姓名的任何一項具體信息,依賴讀者姓名即可聯系表與表的連接。本系統(tǒng)性能都運用了第二范式。</p><p> 得到上面的各項數據項和數據結構以后,就可以設計出能夠滿足用戶需求的各種實體,以及他們之間的關系,為以后的邏輯結構設計打下基礎。</p><p> 根據上
47、面的設計規(guī)劃出的實體有:讀者類別信息實體、讀者信息實體、書籍類別信息實體、書籍信息實體、借閱信息實體。由于上面已經介紹了各個實體的包含內容,這里就不在對每個實體的E-R圖做介紹?,F介紹各個實體之間的相互關系E-R圖如下:</p><p><b> 圖2-2</b></p><p> 第三章 圖書管理信息系統(tǒng)的開發(fā)環(huán)境</p><p>
48、3.1 圖書理信息系統(tǒng)的開發(fā)語言簡介</p><p> 3.1.1 開發(fā)環(huán)境的選擇</p><p> Microsoft公司推出Windows以后,立即以其新穎的圖形用戶界面、卓越的多任務操作系統(tǒng)性能、高層次的軟件開發(fā)平臺而風靡全球。尤其是Office使用軟件的方便使用使許多應用人員想到手動的設計Windows用戶界面。然而由于對于程序員來說,工作的難度很大。為了適應Windows下
49、運行程序,就必須建立相應的窗口、菜單、對話框等各種控件,面對這種情況,1990年Microsoft公司推出了Windows應用程序開發(fā)工具——VB,從而達到了可視化的結果。在visual basic中,既繼承了basic語言簡單易用的特點,又采用了面向對象、事件驅動的編程機制,用一種巧妙的方法把windows編程復雜性封裝起來,提供了可見即所得的可視界面設計方法。</p><p> Vb已經經歷了幾個版本,Vb
50、6.0在功能上進一步得到完善和擴充,尤其在數據庫管理與網絡應用方面更勝一籌。Vb6.0包括三個版本:學習版,專業(yè)版,企業(yè)版。我們所用的是企業(yè)版(中文)。</p><p> Vb6.0的功能特點:具有面向對象的可視設計工具,事件驅動的編程機制,易學易用的應用程序集成開發(fā)環(huán)境,結構化的程序設計語言,支持多種數據庫的訪問,ole技術,active技術,完備的help聯機幫助功能。</p><p&g
51、t; Vb6.0的運行環(huán)境:Vb6.0是windows95/98或windows NT下的一個應用程序,本身對軟硬件沒有特殊的要求。跟windows95/98或windows NT要求是一致的。 </p><p> 硬件要求:一般在586以上的處理器、16MB以上的內存、100MB以上的硬盤等。 </p><p> 軟件要求:wi
52、ndows95/98或windows NT3.51以上版本。</p><p> 3.2 數據庫環(huán)境的選擇</p><p> SQL Server 2000是關系數據庫開發(fā)工具,數據庫能匯集各種信息以供查詢、存儲和檢索。 SQL Server 2000能作為一個功能強大的數據庫服務器有效地工作,而且數據庫引擎也應用于客戶端本地存儲獨立數據庫的應用程序中。SQL Server 2000可以
53、動態(tài)的配置成能有效的使用客戶端桌面的可用資源,而不需要為每個客戶端專設一個數據庫管理員。SQL Server 2000能提高超大型系統(tǒng)所學要的數據庫服務。SQL Server 2000提供了很多的編程組件和工具。</p><p> 3.3 VB語言和函數</p><p> Microsoft 公司的Visual Basic6.0是開發(fā)Windows應用程序,尤其是數據庫應用程序的快捷有
54、效的工具, 和以前各版本相比,功能更加強大,使用起來更加方便。另外,在Visual Basic6.0中可以用公用模塊來存放整個工程項目公用函數、過程和全局變量等。這樣可以極大的提高代碼的效率。在項目資源管理器中為項目添加一個Module,保存為Module.bas。往下就可以寫入需要的代碼了。</p><p> 由于系統(tǒng)中各個功能模塊都將頻繁使用數據庫中的各種資源,因此需要一個公共的數據操作函數,用來執(zhí)行各種S
55、QL語句。這就需要添加函數ExecuteSQL了。ExecuteSQL函數的參數是SQL,它用來存放需要執(zhí)行的SQL語句。函數執(zhí)行時,首先判斷SQL語句中包含的內容;當執(zhí)行查詢操作時,ExecuteSQL函數將返回一個與函數同名的記錄集對象(Recordset),所有滿足條件的記錄包含在對象中;當執(zhí)行如刪除、添加等操作時,不返回記錄集對象。</p><p> 在ExecuteSQL函數中使用了Connect S
56、tring函數,這個函數用來連接數據庫,代碼如下:</p><p> Public Function ConnectString() As String</p><p> ‘返回一個數據庫連接</p><p> ConnectString=”FileDSN=tushuguanlixitong.dsn;UID=sa;PWD=”</p><p&
57、gt; End Function</p><p> 由于在后面的程序中,需要頻繁的檢查各種文本框的內容是否為空,這也定義了Testtxt函數,代碼為:Public Function Testtxt(txt As String) As Boolean</p><p> ‘判斷輸入內容是否為空</p><p> If Trim(txt)=”” Then</
58、p><p> Testtxt=False</p><p><b> Else</b></p><p> Testtxt=True</p><p><b> End If</b></p><p> End Function.</p><p> 如
59、果文本框內容為空時,函數將返回True,否則將返回False。</p><p> 3.4 Active數據對象——ADO</p><p> 從簡單的文本文件到各種復雜的關系型數據庫,數據庫應用程序都需要面對各種各樣的數據源。Visual basic6.0提供ADO(Active Data Objects)作為應用程序和OLE-DB連接的橋梁。盡管用戶對數據的要求種類繁多,但典型的數據源
60、都是支持ODBC和SQL的。</p><p> ADO,即Active數據對象:實際是一種提供訪問各種數據類型的連接機制。ADO設計為一種極簡單的格式,通過ODBC的方法同數據庫接口相連。用戶可以使用任何一種ODBC數據源,即不僅適合于SQL sever、Oracle、Access等數據庫應用程序,也適合excel表格、文本文件、圖形文件和無格式數據文件。ADO是基于OLE-DB之上的技術,因此ADO通過其內部
61、的屬性和方法提供統(tǒng)一的數據訪問接口方法。</p><p> Microsoft在Visual Basic6.0以后的版本都集成了ADO。它與以前的DAO、RDO相比有了很大的提高。DAO(Data Access Objects)即數據訪問對象,是一種面向對象的界面接口。通過DAO/Jet功能可以訪問ISAM數據庫,使用DAO/ODBC Direct功能可以實現遠程RDO功能。RDO(Remote Data Ob
62、jects)即遠程數據對象,為使用代碼來創(chuàng)建和操作一個遠程ODBC數據庫系統(tǒng)的各個部件提供了一個框架。RDO是ODBC API的一個淺層界面接口,是專為訪問遠程的ODBC關系數據源而設計的。</p><p> ADO集中了DAO和RDO的優(yōu)點,可以通過簡單的編程實現和各種數據結構進行連接。</p><p> 3.4.1、ADO的編程模型
63、 </p><p> 可以通過以下幾步來完成對數據庫的操作: ①創(chuàng)建一個到數據源的連接(connection),連接到數據庫;或者開始一個事物(Transction)。 </p><p> ?、趧?chuàng)建一個代
64、表SQL命令行(包括變量、參數、可選項等)的對象。</p><p> ③執(zhí)行命令行。 </p><p> ④如果返回以表格的形式組織的數據,則將他們保存到緩存中,產生相應的數據集對象(Recordset)。</p><p> ?、萃ㄟ^對數據集對象進行各種操作,包括修改、增加、刪除等。 </p><p> ?、薷聰?/p>
65、據源,如果使用事務,確認是否接受事務期間發(fā)生的數據變化。 </p><p><b> ⑦結束連接或事務</b></p><p> 3.4.2、ADO的對象模型 </p><p> 使用ADO的目的是進入數據源,使得修改、更新數據成為可能。ADO提供一系列的類象來完成各種操作。 <
66、;/p><p> 連接對象——Connection 一個連接(Connection)對象代表一個到指定數據源的成功連接。應用程序通過一個連接(包括實現數據交換的環(huán)境設置)訪問數據源,也可以直接訪問數據源(在兩層數據結構的系統(tǒng)中比較常見),或者通過類似Microsoft Internet I
67、nformation Server 的中間層間接訪問訪問數據源(這就是通常說的三層結構)。連接成功,Connection以對象的形式存在。連接對象在ADO對象模型中的地位就是在Connection里包括(Error、Command、Recordset)。因此使用連接對象的操作如下: </p><p> ·
68、;在打開連接前需要設置ConnectionString、ConnectionTimeout和Mode屬性。 </p><p> ·設置CursorLocation屬性,可以設置或者返回指針位置。</p><p> ·設置DefaultDatabase屬性可以連接指定的一個默認的數據庫。</p><p> ·設置Iso
69、lationLevel屬性可以確定事務(Transation)在連接的隔離等級。</p><p> ·設置Provider可以連接指定的一個OLE-DB寄主。</p><p> ·設置Open與Close方法來建立和中斷一個連接。</p><p> ·使用Execute方法在連接上建立執(zhí)行命令,設置CommandTimeout屬性
70、來指定或者返回命令執(zhí)行時間。 </p><p> ·使用BeginTrans、CommitTrans和RollbackTrans方法以及Attributes屬性來管理事物。</p><p> ·通過檢察Error對象可以知道數據源返回的錯誤。</p><p> ·通過Version屬性可以知道ADO的版本。</p>
71、<p> ·使用OpenSchema方法可以知道數據庫的計劃信息。</p><p> 2. 命令行對象——Command</p><p> 命令行對象是對數據庫將要執(zhí)行的一系列操作的定義。使用命令行對象來查詢數據庫并返回數據集對象(recordset)形式的查詢結果。命令行對象指定變量、參數、以及可選項來完成對數據庫的操作,如添加記錄、刪除記錄、更新記錄等。命令
72、行對象在ADO對象的模型中是Connection包含Command,Command又包含Parameters。使用命令行對象的各種屬性和方法可以如下操作:</p><p> ·設置CommandText屬性可以定義命令行的內容,如SQL語句。</p><p> ·使用Execute方法執(zhí)行命令行并返回一個數據集對象(recordset)。</p>&l
73、t;p> ·設置CommandType屬性可以優(yōu)化命令的效率。</p><p> ·設置CommandTimeout屬性可以指定服務器等待醫(yī)療命令執(zhí)行的時間。</p><p> ·設置ActiveConnection屬性可以將一個命令行對象與一個打開的連接關聯。</p><p> 3. 數據集對象——Recordset&l
74、t;/p><p> 如果命令行指定數據以表的形式組織,執(zhí)行命令行后將返回相應的數據集。同過數據集可以對記錄以及組成記錄的列進行各種操作。數據集對象在ADO對象模型中的地位是Connection包含Recordset,而Recordset包含fields。</p><p> 3.4.3、為項目添加ADO</p><p> ADO雖然集成在Visual Basic6.
75、0中,但只是可選項。因此在創(chuàng)建項目后,需要為項目添加ADO。</p><p> 選擇”project”菜單中的”References”命令,在References列表框中中選擇”Microsoft ActiveX Object 2.6 Library”選項,再確定。</p><p> 3.5 與數據庫的連接性</p><p> VISUAL BASIC提供了與
76、底層數據庫系統(tǒng)緊密的連接。 VISUAL BASIC支持不同的關系數據庫管理系統(tǒng)并充分發(fā)揮每一個數據庫的特長。開發(fā)人員和利用ODBC來確定數據源,則ADO就能通過數據源來對數據庫里的數據進行操作。</p><p> 而具體的連接哪個數據庫,ODBC沒有設置限定,從而使設計者能夠應用自己比較熟悉的數據庫。</p><p> 以下進行圖例說明:(圖3-1)</p><p
77、> 值得一提的是VISUAL BASIC擁有數據窗口對象(FORM)。它是一個智能對象是MICROSOFT公司的技術。它能操縱關系數據庫的數據并可以編寫SQL語言。利用該對象可以修改、更新、插入、刪除、滾頁、打印數據窗口直接管理數據庫的交互與控制。在本系統(tǒng)開發(fā)過程中大多數報表均使用此對象生成,使用其操縱關系數據庫的數據十分方便、快捷。它是一個支持數據操縱的封裝性很好對象。</p><p> 第四章 圖
78、書管理信息系統(tǒng)的具體實現</p><p> 4.1 系統(tǒng)客戶端程序</p><p> 以上的SQL語句在SQL Sever 2000查詢分析器中執(zhí)行后,將自動產生需要的所有表格。有關數據庫結構的所有后臺工作已經完成?,F在將通過圖書管理信息系統(tǒng)中各個功能模塊的實現,來說明如何使用Visual Basic 來編寫 系統(tǒng)的客戶端程序。</p><p> 創(chuàng)建工程項目
79、——工程1.vbp</p><p> 打開Visual Basic 后,單擊File|New Project 菜單,在工程模塊中選擇Standard EXE,Visual Basic 將自動產生一個Form窗體,屬性都是缺省設置。將這個窗體刪除,單擊File|Save Project菜單,將這個工程項目命名為 工程1.vbp</p><p> 創(chuàng)建圖書管理信息系統(tǒng)的主窗體</p&
80、gt;<p> 這個項目可以使用一個Form窗體來實現,單擊工具欄中的 工程 按鈕,選擇 添加工程 按鈕即可生成一個窗體。在這個窗體上添加所需的控件,窗體和控件的屬性設置如下:</p><p> 主窗體及其控件屬性設置</p><p> 4.1.3 創(chuàng)建主窗體的菜單</p><p> 在上圖所示的主窗體中,單擊鼠標右鍵,選擇彈出式菜單中的菜
81、單編輯器,創(chuàng)建如下所示的菜單結構。</p><p><b> 圖書管理</b></p><p><b> …圖書類別管理</b></p><p><b> ……添加圖書類別</b></p><p><b> ……修改圖書類別</b></p&g
82、t;<p><b> ……刪除圖書類別</b></p><p><b> …圖書信息管理</b></p><p><b> ……添加圖書信息</b></p><p><b> ……修改圖書信息</b></p><p><b>
83、; ……刪除圖書信息</b></p><p><b> ……查詢圖書信息</b></p><p><b> 讀者管理</b></p><p><b> …讀者種類管理</b></p><p><b> ……添加讀者種類</b><
84、/p><p><b> ……修改讀者種類</b></p><p><b> ……刪除讀者種類</b></p><p><b> …讀者信息管理</b></p><p><b> ……添加讀者信息</b></p><p><
85、b> ……修改讀者信息</b></p><p><b> ……刪除讀者信息</b></p><p><b> ……查詢讀者信息</b></p><p><b> 圖書借閱管理</b></p><p><b> …借書信息</b>
86、</p><p><b> …還書信息</b></p><p><b> …圖書罰金</b></p><p><b> …查詢借書信息</b></p><p><b> 系統(tǒng)管理</b></p><p><b>
87、 …添加管理員</b></p><p><b> …修改用戶密碼</b></p><p><b> …數據備份</b></p><p><b> …數據恢復</b></p><p><b> …退出</b></p><
88、;p> 4.1.4 創(chuàng)建公用模塊</p><p> 在Visual Basic 中可以用公用模塊來存放整個工程項目公用的函數、過程和全局變量等。這樣可以極大的提高代碼的效率。在項目資源管理器中為項目添加一個 Module,保存為Module.bas。由于系統(tǒng)中各個功能模塊都將頻繁使用數據庫中的各種數據,因此需要一個公共的數據操作函數,用以執(zhí)行各種SQL語句。</p><p>
89、 由于啟動圖書管理系統(tǒng)后,需要對用戶進行判斷。如是授權用戶,將進入系統(tǒng),否則將停止程序的執(zhí)行。這個判斷需要在系統(tǒng)運行的最初進行,因此將代碼放在公用模塊中。</p><p> 4.2 系統(tǒng)用戶管理模塊的創(chuàng)建</p><p> 用戶管理模塊主要實現:用戶登陸、添加管理員、數據備份、修改密碼四個功能。其窗體如下</p><p> 添加管理員界面(圖4-2)<
90、/p><p> 用戶點擊確認后,其數據會添加到數據庫中,添加用戶數據庫中會多一條新記錄,修改密碼即將數據庫中的數據進行更新(update),然后將新記錄保存到數據庫里,刪除用戶就是將數據庫中的數據清除。用戶的登錄界面與此界面基本相同,同樣是調用數據庫tushuguanlixitong表中的信息,再對用戶的登錄信息進行判斷,決定用戶的權限。這里需要強調的是新用戶名不能與當前的用戶名一致,數據庫中所記錄的是您本次登錄所
91、使用的用戶名和密碼,所以用戶名已定,只需對您所輸入的用戶名進行判斷,用戶名正確,則您創(chuàng)建了登錄的新用戶名。</p><p> 4.3 讀者種類管理模塊的創(chuàng)建</p><p> 圖書館需要管理不同種類的讀者,并且不同讀者享受的服務不同。讀者種類管理模塊主要實現如下功能:添加讀者種類、修改讀者種類、刪除讀者種類。</p><p> 添加讀者種類窗體的創(chuàng)建</
92、p><p> 選擇“讀者管理|讀者種類管理|添加讀者種類”菜單,出現如下窗體:</p><p><b> ?。▓D4-3)</b></p><p> 在窗體上放置多個文本框,用來輸入讀者種類信息;兩個按鈕用來確定是否添加讀者種類信息;多個標簽用來提示文本框中需要輸入的內容。添加好數據后,單點擊 確定 按鈕,系統(tǒng)通過Dim sql As Strin
93、g性質來來判定文本框不能為空,如果一文本框出錯取消,則全部文本框將清除內容,且窗體有提示信息。當判斷好了后,單擊Command1按鈕將觸發(fā)Click事件。</p><p> 實現添加類別功能的代碼如下:</p><p> Private Sub Command1_Click()</p><p> Dim sql As String</p><
94、;p> Dim conn As New ADODB.Connection</p><p> Dim rs_readerstyle As New ADODB.Recordset</p><p> If Trim(Text1.Text) = "" Then</p><p> MsgBox "讀者種類不能為空 ", v
95、bOK0nly + vbExclamation, ""</p><p> Text1.SetFocus</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p> If Trim(Text2.Text) = &qu
96、ot;" Then</p><p> MsgBox "借書數量不能為空", vbOK0nly + vbExclamation, ""</p><p> Text2.SetFocus</p><p><b> Exit Sub</b></p><p><b>
97、; End If</b></p><p> If Trim(Text3.Text) = "" Then</p><p> MsgBox "借書期限不能為空", vbOK0nly + vbExclamation, ""</p><p> Text3.SetFocus</p>
98、<p><b> Exit Sub</b></p><p><b> End If</b></p><p> If Trim(Text4.Text) = "" Then</p><p> MsgBox "有限期限不能為空", vbOK0nly + vbExclama
99、tion, ""</p><p> Text4.SetFocus</p><p><b> Exit Sub</b></p><p><b> End If </b></p><p> Dim connectionstring As String</p>&
100、lt;p> connectionstring = "FileDSN=tushuguanlixitong.dsn"</p><p> conn.Open connectionstring</p><p> sql = "select * from readerstyletable where 種類名稱='" & Text1.
101、Text & "'"</p><p> rs_readerstyle.Open sql, conn, adOpenKeyset, adLockPessimistic</p><p> If rs_readerstyle.EOF Then</p><p> rs_readerstyle.AddNew</p>&l
102、t;p> rs_readerstyle.Fields(0) = Trim(Text1.Text)</p><p> rs_readerstyle.Fields(1) = Trim(Text2.Text)</p><p> rs_readerstyle.Fields(2) = Trim(Text3.Text)</p><p> rs_readerstyl
103、e.Fields(3) = Trim(Text4.Text)</p><p> rs_readerstyle.Update</p><p> MsgBox "添加讀者類別成功!", vbOKOnly, ""</p><p> rs_readerstyle.Close</p><p> frmad
104、dreaderstyle.Hide</p><p><b> Else</b></p><p> MsgBox "讀者類別重復!", vbOKOnly + vbExclamation, ""</p><p> Text1.SetFocus</p><p> Text1.Te
105、xt = ""</p><p> rs_readerstyle.Close</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p> 4.3.2 修改讀者種類窗體的創(chuàng)建</p><p>
106、 選擇“讀者管理|讀者種類管理|修改讀者種類”菜單,出現如下窗體,窗體中放置一個表格控件:</p><p> 讀者種類記錄列表窗體(圖4-4)</p><p> 載入窗體時,觸發(fā)窗體的Load事件,顯示當前數據庫中所有的記錄。因此在Option Explicit里創(chuàng)建一個Recordset。代碼中仍創(chuàng)建Dim sql As String,顯示記錄列表。完成代碼后,選擇修改類或者刪除,然
107、后在文本框中操作,接著點擊 刷新,將觸發(fā)Recordset中的Update事件,窗體載入當前記錄的內容,在窗體加載代碼里,Dim connectionstring As String作為橋梁通過Recordset將窗體內容記錄到數據庫中。所有代碼添加完成后,所修改的數據會更新在數據庫中。通過cmdupdate更新在窗體上。</p><p> 4.3.3 刪除讀者種類</p><p>
108、 選擇“讀者管理|讀者種類管理|刪除讀者種類”菜單,將出現記錄列表。選擇相應記錄,單擊鼠標右鍵,選擇彈出式菜單,將刪除當前記錄。當讀者類別信息列表內容為空時,刪除功能將不起作用,Dim sql As String缺少對象。</p><p> 4.4 讀者信息管理模塊的創(chuàng)建</p><p> 讀者信息管理模塊主要實現如下功能:添加讀者信息、修改讀者信息、刪除讀者信息、查詢讀者信息。<
109、;/p><p> 4.4.1 添加讀者信息窗體的創(chuàng)建</p><p> 選擇“讀者管理|讀者信息管理|添加讀者信息”菜單,出現如下窗體:</p><p> 添加讀者信息窗體(圖4-5)</p><p> 窗體中各個控件屬性這里不做一一介紹。將各種文本框放在窗體的框架中,組成“讀者種類”和“讀者信息”兩項。載入窗體時,讀者種類中將自動添加讀
110、者種類信息,代碼加在窗體的Load事件中。輸入完內容后,單擊“確定”按鈕,觸發(fā)Click事件,首先檢查文本內容是否符合格式要求,然后判斷是否有重復記錄,并更新讀者表中的相關信息,最后添加內容到數據庫。這里要強調的是添加讀者時可以添加相同的用用戶。</p><p> 4.4.2 修改讀者信息</p><p> 選擇“讀者管理|讀者信息管理|修改讀者信息”菜單,出現如下窗體:</p&
111、gt;<p> 修改讀者信息窗體(圖4-6)</p><p> 窗體中放置了一個表格控件,所有讀者記錄都顯示在里面。選擇需要修改的記錄,在選擇菜單下拉框中的“修改讀者信息”命令,出現“添加讀者信息窗體”,然后進行修改。選擇“修改讀者信息”命令,將觸發(fā)Frmchangdelreaderinfo的Click事件。程序判斷為修改狀態(tài)后,首先刪除原有記錄,然后把新內容加入到數據庫中。</p>
112、<p> 4.4.3 刪除讀者信息</p><p> 在讀者記錄列表中選擇記錄,然后選擇菜單中的“刪除信息”按鈕,將刪除當前記錄,再選擇 刷新 按鈕 則窗體中的內容將改變成你刪除后的內容。數據庫中也將得到刪除后的更改數據。刪除信息時同樣要判斷讀者信息列表內容是否為空。</p><p> 4.4.4 查詢讀者信息</p><p> 選擇“讀者管
113、理|讀者信息管理|查詢讀者信息”菜單,出現下列窗體。在這里可以按照各種方式以及它們的組合進行查詢。載入窗體時,將自動加入所有讀</p><p><b> (圖4-7)</b></p><p> 者種類的信息,即將內容添加到列表框中。設置完查詢內容和方式后,單擊cmd Command1 按鈕將進行查詢,代碼如下:</p><p> Priv
114、ate Sub Command1_Click()</p><p> Dim rs_findreader As New ADODB.Recordset</p><p> Dim conn As New ADODB.Connection</p><p> Dim sql As String</p><p> If Check1.Value
115、 = vbChecked Then</p><p> sql = "讀者編號='" & Trim(Text1.Text & "") & "'"</p><p><b> End If</b></p><p> If Check2.Value
116、 = vbChecked Then</p><p> If Trim(sql) = "" Then</p><p> sql = "讀者姓名='" & Trim(Text2.Text & " ") & "'"</p><p><b>
117、 Else</b></p><p> sql = sql & "and 類別='" & Trim(Text2.Text & " ") & "'"</p><p><b> End If</b></p><p><b
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 圖書管理系統(tǒng)畢業(yè)論文7
- 畢業(yè)論文--圖書管理系統(tǒng)
- 畢業(yè)論文-圖書管理系統(tǒng)
- 圖書管理系統(tǒng)畢業(yè)論文
- 圖書管理系統(tǒng)畢業(yè)論文
- 圖書管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文-圖書管理系統(tǒng)
- 圖書管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文——圖書管理系統(tǒng)
- 圖書管理系統(tǒng) 畢業(yè)論文
- 圖書管理系統(tǒng)畢業(yè)論文
- 圖書管理系統(tǒng)畢業(yè)論文
- 圖書管理系統(tǒng)畢業(yè)論文
- 圖書管理系統(tǒng)畢業(yè)論文
- 圖書管理系統(tǒng)-畢業(yè)論文
- 畢業(yè)論文--圖書管理系統(tǒng)
- 畢業(yè)論文——圖書管理系統(tǒng)
- 圖書管理系統(tǒng)畢業(yè)論文
- 圖書管理系統(tǒng)畢業(yè)論文
- 圖書管理系統(tǒng)測試畢業(yè)論文
評論
0/150
提交評論