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

下載本文檔

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

文檔簡介

圖書管理系統(tǒng)摘 要圖書館在正常運營中總是面對大量的讀者信息、書籍信息以及兩者相互作用產(chǎn)生的借書信息、還書信息。因此需要對讀者資源、書籍資源、借書信息、還書信息進行管理,及時了解各個環(huán)節(jié)中信息的變更,有利于提高管理效率。隨著現(xiàn)代計算機科學的發(fā)展,計算機信息系統(tǒng)越來越受到重視,對學校圖書進行的管理工作已經(jīng)逐漸改為由計算機完成。本文首先介紹開發(fā)工具visual basic,接著介紹了visual basic的數(shù)據(jù)訪問技術,最后詳細講解了用visual basic開發(fā)的圖書管理系統(tǒng),這一部分主要包括數(shù)據(jù)庫的建立和系統(tǒng)功能的實現(xiàn)(登陸,主界面,借閱管理,書籍管理,讀者管理,讀者查詢,用戶管理),最后做了開發(fā)總結。關鍵詞:圖書管理系統(tǒng),數(shù)據(jù)庫,visual basicabstractnowadays the society is an information society, when developing forward in economy, culture, etc., we need constantly study and keep touch with the others, in order to adapt to the development of the society.with the development of modern computer science, computer information systems take more attention, the supervisory work carries on which to the schoolbooks already gradually changed by the computer completes. the first presentation development tool visual basic, and then introduced the visual basic data access technologies, finally in detail explained development the books management system using visual basic. this part including database creation and the system function realization (logging, the main interface, the borrows management, the books management, the reader manages, the reader inquires, user management), and finally the development summary.keywords: books management system, database, visual basic目 錄摘 要iabstractii第1章引 言11.1 軟件開發(fā)背景11.2 系統(tǒng)編寫目的21.3 系統(tǒng)最終實現(xiàn)功能21.4 系統(tǒng)采用設計方法2第2章相關設計技術簡介42.1 visual basic的歷史42.2 visual basic常用術語解釋52.3 visual basic的特點5第3章 數(shù)據(jù)訪問技術73.1 ado data控件簡介73.1.1 引入 ado data控件到vb項目73.1.2 控件的主要屬性、事件和方法83.2 ado data控件直接操縱數(shù)據(jù)庫113.2.1 連接數(shù)據(jù)源113.2.2 移動記錄133.2.3 增、刪、改記錄133.3 sql語言在vb中的應用143.3.1 sql提供的實用函數(shù)143.3.2 利用sql訪問多個記錄地方法15第4章 概要設計分析164.1 需求分析164.1.1 需求描述與分析164.1.2 需求分析的步驟164.2 可行性的分析174.3 數(shù)據(jù)庫設計17第5章 詳細設計說明195.1開發(fā)使用的過程模型195.2 系統(tǒng)結構流程圖205.3 系統(tǒng)功能的實現(xiàn)205.3.1 登陸205.3.2 主界面225.3.3 借閱管理225.3.4 書籍管理245.3.5 讀者管理275.3.6 讀者查詢295.3.7 用戶管理335.4 數(shù)據(jù)庫設計355.4.1 數(shù)據(jù)庫355.4.2 索引365.4.3 后臺數(shù)據(jù)庫的建立37總 結40致 謝41參考文獻:4249第1章 引 言1.1 軟件開發(fā)背景當今時代是飛速發(fā)展的信息時代。在各行各業(yè)中離不開信息處理,這正是計算機被廣泛應用于信息管理系統(tǒng)的環(huán)境。計算機的最大好處在于利用它能夠進行信息管理。使用計算機進行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。圖書館管理系統(tǒng)是一個教育單位不可缺少的部分,它的內(nèi)容對于學校的決策者和管理者來說都至關重要,尤其對于復雜的信息管理,計算機能夠充分發(fā)揮它的優(yōu)越性。計算機進行信息管理與信息管理系統(tǒng)的開發(fā)密切相關,系統(tǒng)的開發(fā)是系統(tǒng)管理的前提。本系統(tǒng)就是為了管理好圖書館信息而設計的。所以圖書館管理系統(tǒng)應該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管理圖書檔案,這種管理方式存在著許多缺點,圖書館作為一種信息資源的集散地,圖書和用戶借閱資料繁多,包含很多的信息數(shù)據(jù)的管理,現(xiàn)今,有很多的圖書館都是初步開始使用,甚至尚未使用計算機進行信息管理。根據(jù)調(diào)查得知,他們以前對信息管理的主要方式是基于文本、表格等紙介質(zhì)的手工處理,對于圖書借閱情況(如借書天數(shù)、超過限定借書時間的天數(shù))的統(tǒng)計和核實等往往采用對借書卡的人工檢查進行,對借閱者的借閱權限、以及借閱天數(shù)等用人工計算、手抄進行。數(shù)據(jù)信息處理工作量大,容易出錯;由于數(shù)據(jù)繁多,容易丟失,且不易查找。總的來說,缺乏系統(tǒng),規(guī)范的信息管理手段。盡管有的圖書館有計算機,但是尚未用于信息管理,沒有發(fā)揮它的效力,資源閑置比較突出,這就是管理信息系統(tǒng)的開發(fā)的基本環(huán)境。數(shù)據(jù)處理手工操作,工作量大,出錯率高,出錯后不易更改。圖書館采取手工方式對圖書借閱情況進行人工管理,由于信息比較多,圖書借閱信息的管理工作混亂而又復雜;一般借閱情況是記錄在借書證上,圖書的數(shù)目和內(nèi)容記錄在文件中,圖書館的工作人員和管理員也只是當時對它比較清楚,時間一長,如再要進行查詢,就得在眾多的資料中翻閱、查找了,造成查詢費時、費力。如要對很長時間以前的圖書進行更改就更加困難了。因此,開發(fā)這樣的一種軟件已成為非常必要的事。我們所設計的圖書館管理系統(tǒng)主要是針對各個學校在管理圖書時所面臨的大量的工作,通過詳細的調(diào)查,精心的設計之后才開發(fā)的。它主要有以下幾個功能規(guī)定借出時間,添加新類別,修改類別,解除舊類別、書名類別,出版社,價格。方便學校的圖書管理。1.2 系統(tǒng)編寫目的圖書管理是每一個學校都在進行的工作,它對于學校來說是至關重要的,它直接關系到學校提供教學環(huán)境的好壞,隨著計算機科學技術的飛速發(fā)展,計算機的應用在全球范圍內(nèi)日益普及,圖書管理由人工管轉(zhuǎn)變?yōu)樽詣踊?,機器化。著重解決圖書管理問題,使圖書管理工作規(guī)范化,系統(tǒng)化,程序化,避免圖書管理的隨意性,提高信息處理的速度和準確性,能夠及時、準確、有效的查詢和修改圖書情況。隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能以為人們深刻認識,它以進入人類社會的各個領域并發(fā)揮著越來越重要的作用。由計算機管理方式于傳統(tǒng)的方式相比較,優(yōu)勢是顯而易見的,首先,可以省去大量人工的費用,加速現(xiàn)代化管理的進程;其次,避免了人工管理出錯,使圖書管理工作可以輕松進行。第三,可以充分發(fā)揮計算機在信息處理方面的優(yōu)勢,可以讓繁瑣的工作由計算機處理。因此,開發(fā)一個圖書管理系統(tǒng)是很有必要的。1.3 系統(tǒng)最終實現(xiàn)功能圖書管理系統(tǒng)主要有5大類別的功能,分別是借閱管理,書籍管理,讀者管理,讀者查詢,用戶管理,當以讀者身份進入該系統(tǒng),只能使用圖書查詢功能。1) 借閱管理實現(xiàn)的借書和還書功能。2) 書籍管理:書庫管理和圖書類別設置功能。3) 書籍管理:對圖書進行查詢,添加,刪除,修改。4) 讀者管理:對讀者進行查詢,添加,刪除,修改。5) 讀者查詢可以對圖書進行查找并可以對借閱情況進行查詢。6) 用戶管理可以添加用戶,并且可以修改用戶密碼。1.4 系統(tǒng)采用設計方法系統(tǒng)使用visual basic編程語言,采用sql sserver 2000作為數(shù)據(jù)庫,保證了數(shù)據(jù)庫的安全性和使用性,是現(xiàn)在開發(fā)設計中比較流行的開發(fā)方式。主要使用visual basic中的ado data控件來對數(shù)據(jù)庫進行各種操作。使用ado data控件操作簡單,可以使用最少的代碼創(chuàng)建數(shù)據(jù)庫應用程序。而對數(shù)據(jù)庫的操作,既可以使用ado data控件直接進行,也可以使用ado data控件結合代碼操縱。第2章相關設計技術簡介2.1 visual basic的歷史visual basic 6.0簡單易學且功能豐富,是最為廣泛應用的編程語言之一,visual basic 6.0是microsoft公司推出的最新版本,具有許多新特性,它進一步優(yōu)化ide環(huán)境,添加了許多內(nèi)置的編程工具,對數(shù)據(jù)庫的支持增加ado,顯著增強了對internet的支持,可以直接生成dhmtl、aps頁面對企業(yè)級的客戶機/服務編程提供了更力的支持。相對于以前的版本,visual basic 6.0的功能有很大的發(fā)展。我們在這次編0程中,對visual basic 6.0的個方面應用進行深入討論,內(nèi)容涉及基本的編程技巧、控件的使用、數(shù)據(jù)庫的編程、ole、windowsapi調(diào)用、多媒體程序設計、activex等。visual basic是由basic演化而來的,basic是beginners all-purpose symbolic instruction code(初學者通用符號指令代碼)的縮寫,是國際上廣泛使用的一種計算機高級語言。basic簡單、易學,目前仍是計算機入門的主要學習語言之一。 basic語言的問世及發(fā)展到visual basic經(jīng)歷了以下四個階段:第一階段:(1964年70年代初) 1964年basic語言問世。 第二階段:(1975年80年代中) 微機上固化的basic第三階段:(80年代中90年代初) 結構化basic語言。第四階段:(1991年以來) visual basic 自從1991年,微軟推出了visual basic1.0版。這在當時引起了很大的轟動。許多專家把vb的出現(xiàn)當作是軟件開發(fā)史上的一個具有劃時代意義的事件。其實,以我們現(xiàn)在的目光來看,vb10的功能實在是太弱了。但在當時,它是第一個“可視”的編程軟件。這使得程序員欣喜之極,都嘗試在vb的平臺上進行軟件創(chuàng)作。微軟也不失時機地在四年內(nèi)接連推出vb20,vb30,40,三個版本。并且從vb3開始,微軟將access的數(shù)據(jù)庫驅(qū)動集成到了vb中,這使得vb的數(shù)據(jù)庫編程能力大大提高。從vb4開始,vb也引入了面向?qū)ο蟮某绦蛟O計思想。vb功能強大,學習簡單。而且,vb還引入了“控件:的概念,使得大量已經(jīng)編好的vb程序可以被我們直接拿來使用,如今,vb已經(jīng)有了6.0版,也就是此教師評測系統(tǒng)開發(fā)使用的版本。通過幾年的發(fā)展,它已成為一種真正的專業(yè)化的開發(fā)語言和環(huán)境。用戶認為可用visual basic快速創(chuàng)建windows程序,在現(xiàn)在還可以編寫企業(yè)水平的客戶服務器程序及強大的數(shù)據(jù)庫應用程序,visual basic新版中還有更多可用新功能。2.2 visual basic常用術語解釋在以下討論visual basic時,經(jīng)??梢月牭竭@些術語,因此首先對這些術語進行理解,以下是visual basic中最常用到的幾個術語:控件提供程序可見界面的可重用對象??丶氖纠形谋究?、標簽和命令按鈕。事件由用戶或操作系統(tǒng)引發(fā)的動作。事件的示例有擊鍵、單擊鼠標、一段時間的限制,或從端口接收數(shù)據(jù)。方法嵌入在對象定義中的程序代碼,它定義對象怎樣處理信息并響應某事件。例如,數(shù)據(jù)庫對象有打開紀錄集并從一個記錄移動到另一個記錄的方法。 對象程序的基本元素,它含有定義其特征的屬性,定義其任務和識別它可以響應的事件的方法??丶痛绑w是visual basic中所有對象的示例。 過程為完成任務而編寫的代碼段。過程通常用于響應特定的事件。 屬性對象的特征,如尺寸、位置、顏色或文本。屬性決定對象的外觀,有時也決定對象的行為。屬性也用于為對象提供數(shù)據(jù)和從對象取回信息。2.3 visual basic的特點vb的重要特點之一是可視性。系統(tǒng)引進了窗體和控件的機制,用于設計應用程序界面。用戶通過在屏幕上生成窗體,在窗體中繪制所需要的控件和按鈕,設計菜單和對話框,vb會自動生成相應的代碼。vb的另一重要特點是事件驅(qū)動。當窗體或控件上發(fā)生一個事件時,vb立即把控制權交給程序員。程序員不必擔心如何判斷事件是否已發(fā)生,只需要編寫一段代碼告訴計算機在事件發(fā)生以后應該做什么工作就可以了。這樣,設計一個windows應用程序簡化為用鼠標在屏幕上點擊、拖拽并添加少量的代碼就可以完成了,大大降低了對程序設計的要求,提高了應用程序的開發(fā)效率。利用vb的可視性特點,可方便的設計了程序的窗體界面,并在各個窗體中的合適位置繪制所需的每種控件。如要修改窗體或控件的某項屬性,只需在相應的窗體或控件的屬性窗口修改相應的參數(shù)便可達到需要的設計效果。利用vb的事件驅(qū)動性特點,只需在窗體或控件上的代碼窗口中添加少量的代碼,便可達到告訴當在相應的窗體或控件上發(fā)生某一事件時,它們在事件發(fā)生后應該做什么工作的目的。例如幾個窗體上的添加、刪除、返回按鈕的作用,就是通過在各個相應按鈕的代碼窗口中輸入相應的代碼,來達到當在幾個按鈕上出現(xiàn)單擊(click)事件后,相應按鈕實現(xiàn)添加、刪除、返回的功能的。第3章 數(shù)據(jù)訪問技術3.1 ado data控件簡介ado data控件使用microsoft activex數(shù)據(jù)對象(ado)來快速建立數(shù)據(jù)庫綁定的控件和數(shù)據(jù)提供者之間的連接。數(shù)據(jù)綁定控件是任何具有“數(shù)據(jù)源”屬性的控件。數(shù)據(jù)提供者可以是任何符合ole db規(guī)范的數(shù)據(jù)源。使用visual basic的類模塊也可以很方便地創(chuàng)建子集的數(shù)據(jù)提供者。盡管可以在應用程序中直接使用activex數(shù)據(jù)對象,但如圖2-1所示的ado data控件有作為一個圖形控件的優(yōu)勢(具有“向前”和“向后”按鈕),以及一個易于使用的界面,使可以用最少的代碼創(chuàng)建數(shù)據(jù)庫應用程序。 圖2-1 ado data控件 3.1.1 引入 ado data控件到vb項目在vb開發(fā)環(huán)境中選擇主菜單“工程”中的“部件”子菜單,彈出如圖2-2所示的部件屬性框,在控件標簽頁中選擇“microsoft ado data control 6.0(oledb)”控件。然后單擊“確定”按鈕,這樣ado data控件就引入到當前的vb項目中。在如圖2-3所示的vb開發(fā)環(huán)境中的工具箱中,就能夠看到 ado data控件的圖標。然后單擊該圖標,就可以在窗體中的任意位置添加ado data控件。圖2-3圖2-2 ado data控件 3.1.2 控件的主要屬性、事件和方法1、主要屬性(1)connectionstring屬性ado data控件的connectionstring屬性是一個字符串,可以包含進行一個連接所需的所有設置值。在該字符串中所傳遞的參數(shù)是與驅(qū)動程序相關的。例如,odbc驅(qū)動程序允許該字符串包含驅(qū)動程序、提供者 、缺省的數(shù)據(jù)庫、服務器、用戶蜜柑年成以及密碼等。(2)username屬性當數(shù)據(jù)庫受密碼保護時,需要指定該屬性。這個屬性可以在connectionstring中指定。如果同時提供了一個connectionstring屬性以及一個username屬性,則connectionstring中的值將覆蓋username屬性的值。(3)password屬性在訪問一個受保護的數(shù)據(jù)庫時該屬性也是必需的。和username屬性類似,如果在connectionstring屬性中指定了密碼,則將覆蓋在這個屬性中指定的值。(4)recordsource屬性ado data控件的recordsource屬性通常包含一條語句,用于決定從數(shù)據(jù)庫檢索什么信息。(5)commandtype屬性ado data控件的commandtype屬性告訴數(shù)據(jù)庫提供者source屬性是一條sql語句、一個表的名稱、一個存儲過程還是一個未知的類型。使用commandtype屬性可優(yōu)化commandtext屬性的計算。如果commandtype屬性的值等于adcmdunknown(默認值),系統(tǒng)的性能將會降低,因為ado必須調(diào)用提供者以確定commandtext屬性是sql語句、還是存儲過程或表格名稱。如果知道正在使用的命令的類型,可通過設置commandtype屬性指令ado直接轉(zhuǎn)到相關代碼。 如果commandtype屬性與commandtext屬性中的命令類型不匹配,調(diào)用execute方法時將產(chǎn)生錯誤。(6)locktype屬性locktype屬性決定當其他人試圖更改正在編輯的數(shù)據(jù)時,如何鎖定該數(shù)據(jù)。如何設置這個locktype屬性是一個復雜的決策,取決欲多個因素。(7)mode屬性 mode屬性決定想用記錄集進行什么操作。使用mode屬性可設置或返回當前連接上提供者正在使用的訪問權限。mode屬性只能在關閉connection對象時方可設置。例如,如果只是想要創(chuàng)建一個報告,可以將該屬性設為只讀來獲得性能的改善。(8)connectiontimeout屬性connectiontimeout屬性設置等待建立一個連接的時間,以秒為單位。如果連接超時,則返回一個錯誤。 如果由于網(wǎng)絡擁塞或服務器負載過重導致的延遲使得必須放棄連接嘗試時,請使用connection對象的connectiontimeout屬性。如果打開連接前所經(jīng)過的時間超過connectiontimeout屬性上設置的時間,將產(chǎn)生在錯誤,并且ado將取消該連接嘗試。如果將該屬性設置為零,ado將無限等待直到連接打開。請確認正在對其編寫代碼的提供者會支持connectiontimeout功能。(9)recordset屬性 返回或設置對下一級ado recordset對象的引用。利用recordset屬性,可以使用ado的adodb.recordset對象的方法、屬性和事件。必須在set語句中使用recordset屬性,如下例所示: dim rsnwind as new adodb.recordset set adodc1.recordset=rsnwind(10)bofaction、eofaction 這兩個屬性決定當該控件位于光標的開始和末尾時的行為。提供的選擇包括停留在開始或末尾、移動到第一個或最后一個記錄或添加一個新記錄(只能在末尾)。 bofaction屬性有以下兩個值:addomovefirst和adstaybof,分別代表如果當前記錄到達了數(shù)據(jù)的第一條記錄的前面時,采取移動到第一條記錄的動作或者繼續(xù)停留在原來位置兩種操作。 eofaction屬性值有以下3個值:addoaddnew、addomovelast和adstayeof,它們分別代表如果當前記錄到達了最后一條數(shù)據(jù)記錄的后面,采取增加一條新記錄、移動到最后一條記錄或者繼續(xù)停留在原位置的3種操作。2、主要事件error事件一般地,在開發(fā)應用程序時通常要在代碼中為代碼運行錯誤時提供錯誤處理的功能,但有時在沒有代碼運行時也會發(fā)生數(shù)據(jù)存取的錯誤,此時才會發(fā)生這個事件。該事件的語法為:object_error(index as integer, errornumber as long, description as string, scode as long, source as string, helpfile as string, helpcontext as long, fcanceldisplay as boolean)其中object為控件對象名:index為可選參數(shù),如果控件在一個控件數(shù)組中,此值可以標識該控件; errornumber為本地錯誤號碼; description為對錯誤的描述;scode為服務器返回的錯誤代碼; source為錯誤的來源;;helpfile為包含該錯誤詳細信息的幫助文件的路徑; helpcontext為幫助主題的上下文號碼;fcanceldisplay為一個布爾值,可以設置這個值來取消對錯誤消息的顯示。endofrecordset事件移動行時如果超過記錄集結尾,則調(diào)用endofrecordset方法。該事件的語法為:adodc1_endofrecordset(fmoredata as boolean, adstatus as adodb.eventstatusenum, byval precordset as adodb.recordset)當用戶可能因調(diào)用movenext而移過recordset結尾時,將調(diào)用該事件的處理程序。使用該方法用戶可以從數(shù)據(jù)庫中檢索到更多記錄并將其追加到precordset的結尾。在這種情況下,用戶要將pfmoredata設置為variant_true,并從endofrecordset返回。在此之后用戶可以再次調(diào)用movenext以訪問新檢索到的記錄。3、主要方法(1)updatecontrols方法使用updatecontrols方法將綁定控件的內(nèi)容恢復為其初始值,如同用戶更改了數(shù)據(jù),然后又決定取消了這些更改。除了不會導致任何事件的發(fā)生之外,這個方法產(chǎn)生的效果與使當前行再次成為當前行一樣。由于此方法不會調(diào)用任何事件,可以使用這個方法來簡化一個更新操作,因為它不會觸發(fā)任何多余的驗證和更改世間過程。(2)refresh方法refresh方法用來重新建立或顯示與ado data控件相連的數(shù)據(jù)庫記錄集。如果在程序代碼中改變了connectionstring、recordsource、commandtype的屬性值,就必須用refresh方法來刷新記錄集。refresh方法的語法為:adodc1.refresh3.2 ado data控件直接操縱數(shù)據(jù)庫使用ado data控件訪問數(shù)據(jù)庫,可以完全不用編寫代碼,只需通過簡單設置和操縱其屬性就可以實現(xiàn)與數(shù)據(jù)庫的連接,通過綁定數(shù)據(jù)感知控件就能提供一個訪問數(shù)據(jù)庫的界面,用來對數(shù)據(jù)庫數(shù)據(jù)的瀏覽、添加、刪除、修改等操作。3.2.1 連接數(shù)據(jù)源使用ado data控件連接到數(shù)據(jù)源要相對簡單得多,基本上可以用鼠標的操作來完成。具體的操作步驟如下: 創(chuàng)建一個標準的visual basic 工程,按前面介紹的方法將ado data 控件添加到窗體中。 在ado data控件上單擊鼠標右鍵,在快捷菜單上選擇“屬性”命令,打開ado data控件的屬性對話框,如圖2-4所示。ado data控件的屬性對話框共有5個選項卡,常用的是“通用”選項卡、“身份驗證”選項卡和“記錄源”選項卡。在“通用”選項卡中設置ado data控件的數(shù)據(jù)源屬性,在“身份驗證”選項卡中,設置訪問數(shù)據(jù)源時有關的安全信息,在“記錄”選項卡中,設置ado data控件返回記錄的記錄源。 在“通用”選項卡中,選擇“使用連接字符串”單選按鈕,并單擊“生成”按鈕,打開“數(shù)據(jù)鏈接屬性”對話框,如圖2-5所示。使用該對話框可以方便地建立和數(shù)據(jù)源的連接,而在應用程序的開發(fā)過程中,使用連接字符串有許多優(yōu)點(例如客戶端不用配置odbc數(shù)據(jù)源名稱等)。圖2-5 “數(shù)據(jù)鏈接屬性”對話框圖2-4 ado data控件的屬性對話框在“數(shù)據(jù)鏈接屬性”對話框中,第一步要做的工作是選擇數(shù)據(jù)源提供者程序。使用哪一種數(shù)據(jù)源,就選擇哪一種提供者程序。例如,使用本例的數(shù)據(jù)庫。就選擇microsoft jet4.0 ole db provider,然后單擊“下一步”按鈕。設計器切換到“連接”選項卡,如圖2-6所示,讓用戶設置使用的數(shù)據(jù)源。 選擇或輸入數(shù)據(jù)庫的名稱。數(shù)據(jù)庫可以在本機硬盤上,也可以在網(wǎng)絡上。單擊數(shù)據(jù)庫名稱文本框旁邊的命令按鈕,然后在windows標準對話框中選擇作為數(shù)據(jù)源的microsoft jet數(shù)據(jù)庫。 單擊“測試連接”命令按鈕,測試剛才的設置是否正確及數(shù)據(jù)庫是否可用。如果當前設置的數(shù)據(jù)源可用,則visual basic給出一個連接成功的對話框。否則,警告連接失敗并給出失敗的原因。 在“屬性”對話框中,切換到“身份驗證”選項卡,如圖2-7所示。因為在設置連接字符串時,已經(jīng)向ado data控件提供了身份驗證信息,所以當前不用再進行設置。如果連接不是用“數(shù)據(jù)連接屬性”對話框創(chuàng)建的,或者輸入的字符串中沒有包含身份驗證信息,則必須設置本選項卡,以便讓數(shù)據(jù)源的數(shù)據(jù)庫管理系統(tǒng)確定用戶權限。圖2-6 “數(shù)據(jù)鏈接屬性”對話框圖2-7 ado data控件的屬性對話框 屬性對話框中,切換到“記錄源”選項卡。在“記錄源”選項卡中,可以在“命令類型”下拉列表框中選擇用于記錄源的命令類型??捎玫倪x擇,如下表所示: 屬性值含義8-adcmdunknow未知類型,用戶在“命令文本”框中輸入創(chuàng)建命令對象所使用的sql語句1-adcmdtext文本類型,用戶在“命令文本”框中輸入創(chuàng)建命令對所使用的sql語句2-adcmdtable表類型,在“表或存儲過程名稱”下拉列表框中選擇一個表的名稱,visual basic用該表創(chuàng)建一個命令對象,相當于輸入了“select * from table”語句4-adcmdstoreproc存儲過程,在“表或存儲過程名稱”下拉列表框中選擇一個查詢的名稱表2-1 記錄源命令列表把該屬性設定為2-adcmdtable,把“表或存儲過程名稱”屬性設置為需要用的表。單擊“確定”按鈕,關閉屬性對話框,完成所有的設置。3.2.2 移動記錄 根據(jù)前面的介紹可以知道,ado data控件必須通過綁定數(shù)據(jù)感知控件才能提供一個訪問數(shù)據(jù)庫的界面,用來對數(shù)據(jù)庫數(shù)據(jù)的瀏覽、添加、刪除、修改等操作。為了體現(xiàn)用ado data控件直接進行記錄的移動,這里就要引入datagrid控件來進行數(shù)據(jù)的顯示。具體的操作步驟如下:在前面創(chuàng)建的項目中,按照2.1.1節(jié)介紹的引入ado data控件的方法,在部件屬性框的控件標簽頁中選擇“microsoft data grid control 6.0(oledb)”控件,然后引入該控件。在工具箱中單擊datagrid控件的圖標,在前面創(chuàng)建的窗體中添加該控件。如圖2-8所示。設置datagrid控件的datasource屬性為adodc1。這樣就完成了datagrid控件同adodc1控件的綁定。然后保存該項目,接著運行便會看到如圖2-9所示的運行結果。圖2-9 運行窗口圖2-8 添加完datagrid控件在該運行窗口中直接單擊adodc1控件中的箭頭圖標即可實現(xiàn)datagrid控件中選定數(shù)據(jù)的上下移動。3.2.3 增、刪、改記錄增、刪、改記錄的操作同樣借助datagrid控件來實現(xiàn)。具體的步驟如下:在上節(jié)完成的基礎上,只要設置datagrid控件的屬性即可實現(xiàn)對記錄的增、刪、改操作。右鍵單擊datagrid控件,在彈出的快捷菜單中選擇“屬性”,便會彈出如圖2-10所示的對話框。圖2-10 datagrid控件屬性對話框選中“允許添加”、“允許刪除”、“允許更新”復選框,代表datagrid控件可以進行記錄的添加、刪除、更新。保存設置,運行程序,如圖2-9所示,最后一行是空白行,用來添加新的數(shù)據(jù),選中整行之后,單擊鍵盤上的delete鍵就可以刪除該行信息,隨便選中某個單元格,就可以進行數(shù)據(jù)的更改。3.3 sql語言在vb中的應用3.3.1 sql提供的實用函數(shù)為實現(xiàn)使用vb程序調(diào)用sql語言訪問access數(shù)據(jù)庫多個記錄的目的,我們利用sql提供的函數(shù)。davg function(求平均值)dcount function(計算滿足條件的記錄數(shù))dfirst function(返回記錄集的第一個記錄的某個域值)dlast function(返回記錄集的最后一個記錄的某個域值)dlookup function(返回記錄集中滿足待定條件的記錄的域值)dsum function(求和計算)dmax function(求最大值)dmin function(求最小值)利用以上的sql函數(shù)能夠方便地進行數(shù)據(jù)庫文件記錄地查詢和統(tǒng)計工作,以dsum為例,語法如下:dsum(expr,clomain,criteria)例:計算目的港為英國地所有訂單地運費總和。假定“orders”是數(shù)據(jù)庫文件中地一張表格,則x=dsum(“feight”,”order”.”ship country=uk”)3.3.2 利用sql訪問多個記錄地方法在進信息查詢和統(tǒng)計地過程中,我們往往需要從記錄集中根據(jù)待定的條件提取其中的一部分記錄信息。這種改變基于數(shù)據(jù)庫關系視圖的記錄集,這里我們介紹提取記錄信息的有效方法。(1)建立一個新的查詢set mydb=open database(“c:dir1manage.mdf”)(打開數(shù)據(jù)庫文件c:dir1manage.mdf)set myquery=mydb.creat querydef(“monthquery”)(創(chuàng)建查詢名為monthquery的查詢)myquery.sql=”select*from opnrpt where mid $(year,7,2)=”&yeartext.text&”(利用查詢的sql屬性,建立查詢依據(jù),即查詢的條件。這里用到了setect statement)以后如果需要這樣的查詢,只需要引用查詢名”monthquery”即可。需要說明的兩點是:使用前先定義dim mydb as database及myquery as querydef.查詢”monthquery”沒有使用data控件,也就不直接顯示信息。(2)如何設置data控件的recordsource屬性設置datasource屬性的命令為:data.recordsource=”setect vss_code,voyage,sum(weight)as weight20 from monthquery where ctn_size=20group by vss_code,voyage”在這個命令中字段名vss_code為船名代碼,voyage為航次,ctn_size為集裝箱號,weight為集裝箱重量。計算機通過增加了條件的monthquery查詢組成了新的記錄集。as為關鍵字表示,并定義了別名。通過這一個方法定義的記錄集可以使用move和find方法逐條記錄的進行操作。第4章 概要設計分析4.1 需求分析4.1.1 需求描述與分析設計一個性能良好的數(shù)據(jù)庫系統(tǒng),明確應用環(huán)境對系統(tǒng)的要求是首要的和最基本的。特別是數(shù)據(jù)應用非常廣泛,非常復雜,要是事先沒有對信息進行充分和細致的分析,這種設計就很難取得成功。 通過需求分析階段對圖書管理系統(tǒng)的整個應用情況作全面的、詳細的調(diào)查,確定圖書管理的目標,收集支持系統(tǒng)總的設計目標的基礎數(shù)據(jù)和對這些數(shù)據(jù)的要求,確定用戶的需求,并把這些寫成用戶和數(shù)據(jù)庫設計者都能夠接受的文檔。 事實上,需求分析是數(shù)據(jù)庫開發(fā)中最難的任務之一。因為,第一,系統(tǒng)本身是可變的,用戶的需求必須不斷調(diào)整,使之與這種變化相適應。第二,用戶很難說清某部分工作的功能處理過程。所以,設計人員必須認識到:在整個需求分析以及系統(tǒng)設計過程中,用戶參與的重要性,通過各種方法展開調(diào)查分析。4.1.2 需求分析的步驟需求分析大致可分為三步來完成,即需求信息的收集、分析整理和評審通過。1)需求信息的收集 需求信息的收集又稱為系統(tǒng)調(diào)查。為了充分地了解用戶可能提出的要求,在調(diào)查研究之前,要做好充分的準備工作,要了解調(diào)查的目的、調(diào)查的內(nèi)容和調(diào)查的方式。2)調(diào)查的目的 首先,要了解組織的機構設置,主要管理活動和職能。其次,要確定組織的目標,大致管理流程和任務范圍劃分。因此,圖書管理系統(tǒng)主要是通過對現(xiàn)有的圖書管理系統(tǒng)進行考察、研究。并且通過和圖書管理人員、學生交流來完善管理功能。3)調(diào)查的內(nèi)容 外部要求:信息的性質(zhì),響應的時間、頻度和如何發(fā)生的規(guī)則,以及圖書管理的要求,安全性及完整性要求。 管理的現(xiàn)狀:即圖書管理信息的種類,信息流程,信息的處理方式,各種圖書服務工作過程。 組織機構:了解圖書管理機構的作用、現(xiàn)狀、存在的問題,及是否適應計算機管理。4)調(diào)查方式通過對圖書管理人員的訪問、交談可獲得圖書管理高層的、內(nèi)部的管理需求,以及圖書管理的管理目標、未來圖書管理發(fā)展變化趨勢和長遠規(guī)劃的有關信息。并且,還可通過具體借閱活動,了解借閱的流程、借閱的控制方式、日常管理信息,對圖書管理系統(tǒng)有一個深刻得了解。5)需求信息的分析整理 要想把收集到的信息轉(zhuǎn)化為下一階段設計工作可用的形式信息,必須對需求信息做分析整理的工作。4.2 可行性的分析圖書借閱系統(tǒng)的建立,需要進行用戶需求調(diào)查與分析,以確定系統(tǒng)目標,提出解決問題的詳細方案,這是系統(tǒng)建設的重要環(huán)節(jié)。要想使學生能夠有效的借閱,功能上對系統(tǒng)的要求是全面的。因此對用戶的需求可分為四個方面:一方面是圖書管理人員對需要進行圖書借閱的同學進行信息注冊,獲得借書證;二方面是學生通過計算機進行圖書瀏覽;三方面是學生通過計算機進行圖書借閱;四方面是打印輸出學生信息。這四個方面形成了圖書借閱的一個工作整體,利用計算機的自動化處理,可方便快捷地共享信息、交流信息,高效地協(xié)同工作。在軟硬件方面對系統(tǒng)的需求,軟件要求易學,界面友好,容易掌握,可以很簡單方便的進行圖書借閱信息管理。硬件的配置要求不能太高,這樣可以很好的適應當前的學校圖書館的借閱4.3 數(shù)據(jù)庫設計計算機信息系統(tǒng)以數(shù)據(jù)庫為核心,在數(shù)據(jù)庫管理系統(tǒng)的支持下,進行信息的收集、整理、存儲、檢索、更新、加工、統(tǒng)計和傳播等操作。對于數(shù)據(jù)庫應用開發(fā)人員來說,為使現(xiàn)實世界的信息流計算機話,并對計算機話的信息進行各種操作,就是如何利用數(shù)據(jù)庫管理系統(tǒng)、系統(tǒng)軟件和相關硬件系統(tǒng),將用戶的要求轉(zhuǎn)化成有效的數(shù)據(jù)結構,并使數(shù)據(jù)庫結構易于實現(xiàn)用戶新的要求的過程。確切的說,數(shù)據(jù)庫設計是指對于一個給定的應用環(huán)境,提供一個確定最優(yōu)數(shù)據(jù)模型與處理模式的邏輯設計,以及一個確定數(shù)據(jù)庫存儲結構與存取方法的物理設計,建立起既能反映現(xiàn)實世界信息和信息聯(lián)系,滿足用戶數(shù)據(jù)要求和加工要求,有能被某個數(shù)據(jù)庫管理系統(tǒng)所接受,同時能實現(xiàn)系統(tǒng)目標,并有效存取數(shù)據(jù)的數(shù)據(jù)庫。 第5章 詳細設計說明5.1開發(fā)使用的過程模型在開發(fā)此套系統(tǒng)之前,首先要按照軟件工程的方法確定所使用的開發(fā)模型,利用軟件工程的相關知識,確定采用的過程模型是快速原型。快速原型是利用原型輔助軟件開發(fā)的一種新思想。經(jīng)過簡單快速分析,快速實現(xiàn)一個原型,用戶與開發(fā)者在試用原型過程中加強通信與反饋,通過反復評價和改進原型,減少誤解,彌補漏洞,適應變化,最終提高軟件質(zhì)量。由于種種原因,在需求分析階段得到完全、一致、準確、合理的需求說明是很困難的,在獲得一組基本需求說明后,就快速地使其“實現(xiàn)”,通過原型反饋,加深對系統(tǒng)的理解,并滿足用戶基本要求,使用戶在試用過程中受到啟發(fā),對需求說明進行補充和精確化,消除不協(xié)調(diào)的系統(tǒng)需求,逐步確定各種需求,從而獲得合理、協(xié)調(diào)一致、無歧義的、完整的、現(xiàn)實可行的需求說明。又把快速原型思想用到軟件開發(fā)的其他階段,向軟件開發(fā)的全過程擴展。即先用相對少的成本,較短的周期開發(fā)一個簡單的、但可以運行的系統(tǒng)原型向用戶演示或讓用戶試用,以便及早澄清并檢驗一些主要設計策略,在此基礎上再開發(fā)實際的軟件系統(tǒng)??焖僭偷谋硎緢D如下: 圖5-1 原型表示圖5.2 系統(tǒng)結構流程圖圖書管理系統(tǒng)借閱管理書籍管理讀者管理讀者查詢系統(tǒng)設置借書管理還書管理備份數(shù)據(jù)刪除數(shù)據(jù)書庫管理圖類別設置打印報表讀者維護設置借書限制打印報表查找圖書查看借閱情況添加用戶修改密碼圖5-1 系統(tǒng)結構流程圖5.3 系統(tǒng)功能的實現(xiàn)圖書管理系統(tǒng)主要有5大類別的功能,分別是借閱管理,書籍管理,讀者管理,讀者查詢,用戶管理,當以讀者身份進入該系統(tǒng),只能使用圖書查詢功能。下面來分別介紹這些功能并對登陸和主界面進行介紹。5.3.1 登陸運行圖書管理系統(tǒng),首先進入登陸界面,登陸先要選擇登陸的類別,讀者和管理員要分別進行登陸。讀者和管理員使用該系統(tǒng)的權限是不同的。(如下圖)圖5-2 用戶登陸界面圖登陸判斷用戶名以及密碼的正確性的代碼如下:if option1 then adodc2.recordset.movefirst adodc2.recordset.find 用戶名稱= & combo1.text & if adodc2.recordset.eof = true then msgbox 密碼不正確,請重新輸入 text2.setfocus sendkeys home+end else if text2.text = adodc2.recordset.fields(用戶密碼).value then unload form12 mdiform1.show unload form1 else msgbox 密碼不正確,請重新輸入 text2.setfocus sendkeys home+end end if end if else unload form12mdiform1.show5.3.2 主界面登陸成功后進入主窗體界面,在主界面上有圖書管理系統(tǒng)的所有功能(如下圖)圖5-3 系統(tǒng)主窗口圖在主窗體上,有菜單及工具欄,選擇相應的菜單或者工具欄后,會調(diào)用相應的窗體。5.3.3 借閱管理借閱管理實現(xiàn)的借書和還書功能。借書需要輸入讀者編號和圖書編號。輸入正確后,讀者和圖書相關的信息會顯示出來,若點擊借出圖書則完成借書功能。(如下圖)圖5-4 借書管理窗口圖從借閱信息表中取出讀者信息,并判斷是否可以結束:if adodc3.recordset.state = 1 then 選擇讀者所借書 adodc3.recordset.close end if adodc3.recordset.open select * from 借閱信息表 where 讀者編號= & i & , provider=microsoft.jet.oledb.4.0;data source=tushu.mdf;persist security info=false set datagrid1.datasource = adodc3.recordset text7.text = adodc3.recordset.recordcoun

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論