畢業(yè)設(shè)計(jì)-車(chē)輛管理系統(tǒng)論文.doc_第1頁(yè)
畢業(yè)設(shè)計(jì)-車(chē)輛管理系統(tǒng)論文.doc_第2頁(yè)
畢業(yè)設(shè)計(jì)-車(chē)輛管理系統(tǒng)論文.doc_第3頁(yè)
畢業(yè)設(shè)計(jì)-車(chē)輛管理系統(tǒng)論文.doc_第4頁(yè)
畢業(yè)設(shè)計(jì)-車(chē)輛管理系統(tǒng)論文.doc_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

車(chē)輛管理系統(tǒng)摘 要隨著經(jīng)濟(jì)的日益增長(zhǎng),信息化時(shí)代已經(jīng)到來(lái),生活中各種信息趨向數(shù)字化、清晰化。單位車(chē)輛管理系統(tǒng)就是在這樣的一個(gè)環(huán)境中誕生的,交通的日益發(fā)達(dá),使得一個(gè)商業(yè)單位不再是簡(jiǎn)單的一輛商務(wù)車(chē),而是有很多輛車(chē)組成,而且車(chē)型也不再單一,這使得單位車(chē)輛信息復(fù)雜化。因此我們將發(fā)揮計(jì)算機(jī)的龐大的存儲(chǔ)空間,高性能的處理能力,高度可靠的數(shù)據(jù)安全,清晰的可視化數(shù)據(jù)等這些優(yōu)勢(shì)來(lái)輔助單位對(duì)車(chē)輛進(jìn)行管理,實(shí)現(xiàn)了計(jì)算機(jī)資源的合理利用,真正實(shí)現(xiàn)了減少勞動(dòng)力提高勞動(dòng)質(zhì)量的目的。本文主要分析了系統(tǒng)的主要組成情況,包括需求情況,系統(tǒng)的設(shè)計(jì)目標(biāo),數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)流程和系統(tǒng)的主要特點(diǎn)等,重點(diǎn)介紹了系統(tǒng)功能模塊的詳細(xì)思路和實(shí)現(xiàn)方法,以及對(duì)系統(tǒng)關(guān)鍵技術(shù)和部分源代碼的詳細(xì)說(shuō)明。關(guān)鍵詞: 車(chē)輛管理,信息系統(tǒng),網(wǎng)絡(luò)數(shù)據(jù)庫(kù),控件,窗體abstractalong with economic increase increasingly, the information ages has come, every kind of information in the life incline to the arithmetic figure turns, clear turn. the unit vehicle management system is to bear in such an environment, the transportation prospers increasingly, making a business unit not at is simple a business car, but have a lot of a cars constitute, and car type become various variety, this make the unit vehicle information complicates. therefore we will develop the huge and saving space of the calculator, the high performance handles ability, high dependable data safety, clear see to turn the data wait these advantages to lend support to the unit to proceed the management to the vehicle, realizes the reasonable exploitation of the calculator resources, real realizes the decrease labor force increases the purpose of the labor quantity.this text analyzes the system primarily to constitute primarily, including need analysis, the design target of the system, data construction, data flow chart with main characteristics etc. of the system, the point introduces the detailed way of thinking of the system function mold and realizes method, and elaborate on with parts of sources code to the system and key technique.keywords: vehicle manages, mis, network database, activex, form目錄摘 要1abstract2第一章 引言41.1 信息管理系統(tǒng)簡(jiǎn)介41.2開(kāi)發(fā)的背景和意義41.3系統(tǒng)設(shè)計(jì)的目標(biāo)和主要內(nèi)容4第二章系統(tǒng)開(kāi)發(fā)的相關(guān)技術(shù)521 編程環(huán)境的選擇522 關(guān)系型數(shù)據(jù)庫(kù)的選擇523 系統(tǒng)與數(shù)據(jù)庫(kù)的連接實(shí)現(xiàn)6第三章 系統(tǒng)分析731 基本情況分析732 系統(tǒng)功能分析7第四章 數(shù)據(jù)庫(kù)設(shè)計(jì)841 數(shù)據(jù)庫(kù)需求分析842 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)943 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)實(shí)現(xiàn)10第五章 系統(tǒng)實(shí)施(模塊功能和詳細(xì)思路)1151用戶(hù)管理模塊1152 車(chē)輛管理模塊115.2.1 車(chē)輛信息的添加115.2.2 車(chē)輛信息的修改125.2.3 車(chē)輛信息的查詢(xún)145.3 系統(tǒng)其他模塊實(shí)現(xiàn)和相關(guān)技術(shù)155.3.1 司機(jī)、運(yùn)營(yíng)信息管理模塊155.4 系統(tǒng)界面設(shè)計(jì)16第六章 系統(tǒng)特點(diǎn)16第七章 結(jié)束語(yǔ)17參考文獻(xiàn)18第一章 引言隨著信息技術(shù)廣泛、深入地應(yīng)用到人類(lèi)社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。計(jì)算機(jī)軟件技術(shù)應(yīng)用于信息管理是發(fā)展的必然。作為計(jì)算機(jī)應(yīng)用的一部分,充分發(fā)揮計(jì)算機(jī)的優(yōu)勢(shì),將大量復(fù)雜的數(shù)據(jù)交給計(jì)算機(jī)來(lái)處理,有著手工管理所無(wú)法比擬的優(yōu)點(diǎn)。如:查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高信息管理的效率,是真正意義上的合理利用資源,也是企事業(yè)管理科學(xué)化、正規(guī)化,與世界接軌的重要條件。1.1 信息管理系統(tǒng)簡(jiǎn)介管理信息系統(tǒng),即我們常說(shuō)的mis(management information system),在強(qiáng)調(diào)管理,強(qiáng)調(diào)信息的現(xiàn)代化社會(huì)中變的越來(lái)越普及。mis是一門(mén)新學(xué)科,它跨越了若干領(lǐng)域,比如管理科學(xué)、系統(tǒng)科學(xué)、運(yùn)籌學(xué)、統(tǒng)計(jì)學(xué)和計(jì)算機(jī)科學(xué)等。在這些學(xué)科的基礎(chǔ)上,形成信息收集和加工的方法,從而形成了一個(gè)復(fù)雜的有條理的系統(tǒng)。目前,由于開(kāi)發(fā)高質(zhì)量管理信息系統(tǒng)mis 的能力大大落后計(jì)算機(jī)硬件日新月異的進(jìn)展,加上社會(huì)對(duì)管理信息系統(tǒng)mis 發(fā)展和完善需求的增加以及對(duì)管理信息系統(tǒng)mis開(kāi)發(fā)過(guò)程中出現(xiàn)的錯(cuò)誤認(rèn)識(shí)和行為而導(dǎo)致mis開(kāi)發(fā)的失敗,這些情況已嚴(yán)重妨礙了計(jì)算機(jī)技術(shù)的進(jìn)步。因此對(duì)mis有關(guān)的內(nèi)容進(jìn)行深入研究,提高工作效率,提高管理信息系統(tǒng)mis開(kāi)發(fā)成功率已變得十分重要。1.2開(kāi)發(fā)的背景和意義隨著經(jīng)濟(jì)的日益增長(zhǎng),車(chē)輛作為最重要的交通工具,在企事業(yè)單位中得以普及,單位的車(chē)輛數(shù)目已經(jīng)遠(yuǎn)遠(yuǎn)不止簡(jiǎn)單的幾輛,與此同時(shí)就產(chǎn)生了車(chē)輛資源的合理分配使用問(wèn)題。該問(wèn)題涉及到車(chē)輛的檔案管理;駕駛員檔案管理;車(chē)輛(維修費(fèi)用、洗車(chē)費(fèi)用、養(yǎng)路費(fèi)、燃料費(fèi)用等)管理;車(chē)輛使用管理和交通事故管理等。如何對(duì)一個(gè)企事業(yè)單位的車(chē)輛進(jìn)行合理分配使用,使其發(fā)揮最大的使用價(jià)值,所以該系統(tǒng)對(duì)于一個(gè)用車(chē)單位來(lái)說(shuō),不但可以對(duì)車(chē)輛的使用進(jìn)行合理的管理,而且對(duì)車(chē)輛的使用情況進(jìn)行跟蹤記錄,這對(duì)于單位車(chē)輛責(zé)任到人,費(fèi)用清晰,避免責(zé)任混亂、費(fèi)用虛假等一系列相應(yīng)問(wèn)題的解決。1.3系統(tǒng)設(shè)計(jì)的目標(biāo)和主要內(nèi)容車(chē)輛管理系統(tǒng)是一個(gè)協(xié)助各單位進(jìn)行全面的車(chē)輛管理的系統(tǒng)。包括車(chē)輛檔案管理;駕駛員檔案管理;車(chē)輛運(yùn)營(yíng)信息管理;車(chē)輛事故信息管理;車(chē)輛維修信息管理;車(chē)輛費(fèi)用管理等幾個(gè)功能模塊。各模塊之間的部分?jǐn)?shù)據(jù)必須統(tǒng)一,如車(chē)輛事故信息管理模塊中的駕駛員,事故車(chē)輛必然來(lái)自司機(jī)模塊和車(chē)輛信息模塊,為了可以靈活的處理數(shù)據(jù),系統(tǒng)應(yīng)該提供一個(gè)數(shù)據(jù)接口,允許對(duì)數(shù)據(jù)進(jìn)行導(dǎo)出處理,系統(tǒng)目標(biāo)設(shè)計(jì)是用excel數(shù)據(jù)表導(dǎo)出數(shù)據(jù),可以方便用戶(hù)靈活的處理數(shù)據(jù)。同時(shí)也提供強(qiáng)大數(shù)據(jù)報(bào)表功能。和普通系統(tǒng)一樣,該系統(tǒng)也具有一個(gè)對(duì)系統(tǒng)用戶(hù)進(jìn)行管理的,用戶(hù)管理模塊,包括用戶(hù)添加,用戶(hù)密碼的修改,用戶(hù)的刪除(只限administrator)。第二章系統(tǒng)開(kāi)發(fā)的相關(guān)技術(shù)單位車(chē)輛管理系統(tǒng)主要包括前臺(tái)管理程序以及后臺(tái)數(shù)據(jù)庫(kù)兩個(gè)方面。對(duì)于前者要求應(yīng)用程序功能強(qiáng)大、界面友好、易于使用。而對(duì)于后者則要求建立起數(shù)據(jù)一致性、完整性和安全性的功能。當(dāng)前較為流行且功能強(qiáng)大的ado成為了數(shù)據(jù)庫(kù)連接的理想選擇,而且實(shí)現(xiàn)又簡(jiǎn)單,同時(shí)支持本地和遠(yuǎn)程數(shù)據(jù)庫(kù)。visual basic 6.0 能夠快速的開(kāi)發(fā)友好的用戶(hù)界面,而且有良好的數(shù)據(jù)庫(kù)接口,因此,系統(tǒng)開(kāi)發(fā)選擇了visual basic 6.0。由于現(xiàn)在企業(yè)規(guī)模的擴(kuò)大,甚至是連鎖分布,為保持?jǐn)?shù)據(jù)的實(shí)時(shí)和同步,故采用網(wǎng)絡(luò)數(shù)據(jù)庫(kù)sql server。21 編程環(huán)境的選擇微軟公司的visual basic 6.0是windows應(yīng)用程序開(kāi)發(fā)工具,具有直觀(guān)的開(kāi)發(fā)界面、先進(jìn)的程序設(shè)計(jì)思想,是目前最為廣泛的、易學(xué)易用的面向?qū)ο蟮拈_(kāi)發(fā)工具。visual basic提供了大量的控件,這些控件可用于設(shè)計(jì)界面和實(shí)現(xiàn)各種功能,減少了編程人員的工作量,也簡(jiǎn)化了界面設(shè)計(jì)過(guò)程,從而有效的提高了應(yīng)用程序的運(yùn)行效率和可靠性。vb同時(shí)提供的一套完善的編譯和調(diào)試系統(tǒng),使得在開(kāi)發(fā)過(guò)程中可以很好的解決開(kāi)發(fā)過(guò)程中出現(xiàn)的一系列問(wèn)題。vb還提供了軟件發(fā)布功能,使得開(kāi)發(fā)、調(diào)試到發(fā)布可以一步完成。故而,實(shí)現(xiàn)本系統(tǒng)vb是一個(gè)相對(duì)較好的選擇。visual basic6.0是一門(mén)面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,在開(kāi)發(fā)過(guò)程中以對(duì)象為開(kāi)發(fā)元素,每一個(gè)對(duì)象都具有一些特性和行為(屬性、事件和 方法)。開(kāi)發(fā)人員可以最有效利用所創(chuàng)建的每一個(gè)對(duì)象。同時(shí),用戶(hù)還可以自己開(kāi)發(fā)控件,從而滿(mǎn)足用戶(hù)的不同的需求,這樣變使得應(yīng)用程序具有可通用性可說(shuō)擴(kuò)展性和強(qiáng)有力的功能。211開(kāi)發(fā)工具的選擇現(xiàn)在,市場(chǎng)上可以選購(gòu)的應(yīng)用開(kāi)發(fā)產(chǎn)品很多,流行的也有數(shù)十種。目前在我國(guó)市場(chǎng)上最為流行、使用最多、最為先進(jìn)的可用作企業(yè)級(jí)開(kāi)發(fā)工具的產(chǎn)品有:microsoft公司的visual basic.microsoft公司的visual c.borland公司的delphi. powersoft公司的powerbulider在目前市場(chǎng)上這些眾多的程序開(kāi)發(fā)工具中,有些強(qiáng)調(diào)程語(yǔ)言的彈性與執(zhí)行效率;有些則偏重于可視化程序開(kāi)發(fā)工具所帶來(lái)的便利性與效率的得高,各有各的優(yōu)點(diǎn)和特色,也滿(mǎn)足了不同用戶(hù)的需求。然而,語(yǔ)言的彈性和工具的便利性是密不可分的,只有便利的工具,卻沒(méi)有彈性的語(yǔ)言作支持,許多特殊化的處理動(dòng)作必需要耗費(fèi)數(shù)倍的工夫來(lái)處理,使得原來(lái)所標(biāo)榜的效率提高的優(yōu)點(diǎn)失去了作用;相反,如果只強(qiáng)調(diào)程語(yǔ)言的彈性,卻沒(méi)有便利的工具作配合,會(huì)使一些即使非常簡(jiǎn)單的界面處理動(dòng)作,也會(huì)嚴(yán)重地浪費(fèi)程序設(shè)計(jì)師的寶貴時(shí)間。作為數(shù)據(jù)庫(kù)系統(tǒng)的開(kāi)發(fā),visual basic是一個(gè)非常理想選擇。數(shù)據(jù)庫(kù)是mis中的重要支持技術(shù),在mis開(kāi)發(fā)過(guò)程中,如何選擇數(shù)據(jù)庫(kù)管理是一個(gè)重要的問(wèn)題,目前,數(shù)據(jù)庫(kù)產(chǎn)品較多,每種產(chǎn)品都具有各自的特點(diǎn)和適用范圍,因此,在選擇數(shù)據(jù)庫(kù)時(shí),應(yīng)考慮數(shù)據(jù)庫(kù)應(yīng)用的特點(diǎn)及適用范圍,本系統(tǒng)選用的數(shù)據(jù)庫(kù)語(yǔ)言visual basic語(yǔ)言,該開(kāi)發(fā)工具具有很多長(zhǎng)處:visual basic是一種可視化的、面對(duì)對(duì)象和條用事件驅(qū)動(dòng)方式的結(jié)構(gòu)化高級(jí)程序設(shè)計(jì),可用于開(kāi)發(fā)windows環(huán)境下的種類(lèi)應(yīng)用程序。它簡(jiǎn)單易學(xué)、效率高,且功能強(qiáng)大,可以與windows的專(zhuān)業(yè)開(kāi)發(fā)工具sdk相媲美,而且程序開(kāi)發(fā)人員不必具有c/c+編程基礎(chǔ)。在visual basic環(huán)境下,利用事件驅(qū)動(dòng)的編程機(jī)制、新穎易用的可視化設(shè)計(jì)工具,使用windows內(nèi)部的應(yīng)用程序接口(api)函數(shù),以及動(dòng)態(tài)鏈接庫(kù)(dll)、動(dòng)態(tài)數(shù)據(jù)交換(dde)、對(duì)象的鏈接與嵌入(ole)、開(kāi)放式數(shù)據(jù)訪(fǎng)問(wèn)(odbc)等技術(shù),可以高效、快速地開(kāi)發(fā)出windows環(huán)境下功能強(qiáng)大、圖形界面豐富的應(yīng)用軟件系統(tǒng)。總的來(lái)說(shuō),visual basic具有以下特點(diǎn):可視化編程:用傳統(tǒng)程序設(shè)計(jì)語(yǔ)言設(shè)計(jì)程序時(shí),都是通過(guò)編寫(xiě)程序代碼來(lái)設(shè)計(jì)用戶(hù)界面,在設(shè)計(jì)過(guò)程中看不到界面的實(shí)際顯示效果,必須編譯后運(yùn)行程序才能觀(guān)察。如果對(duì)界面的效果不滿(mǎn)意,還要回到程序中修改。有時(shí)候,這種編程-編譯-修改的操作可能要反復(fù)多次,大大影響了軟件開(kāi)發(fā)效率。visual basic提供了可視化設(shè)計(jì)工具,把windows界面設(shè)計(jì)的復(fù)雜性“封裝”起來(lái),開(kāi)發(fā)人員不必為界面設(shè)計(jì)而編寫(xiě)大量程序代碼。只需要按設(shè)計(jì)要求的屏幕布局,用系統(tǒng)提供的工具,在屏幕上畫(huà)出各種“部件”,即圖形對(duì)象,并設(shè)置這些圖形對(duì)象的屬性。visual basic自動(dòng)產(chǎn)生界面設(shè)計(jì)代碼,程序設(shè)計(jì)人員只需要編寫(xiě)實(shí)現(xiàn)程序功能的那部分代碼,從而可以大大提高程序設(shè)計(jì)的效率。面向?qū)ο蟮某绦蛟O(shè)計(jì)4.0版以后的visual basic支持面向?qū)ο蟮某绦蛟O(shè)計(jì),但它與一般的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言(c+)不完全相同。在一般的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言中,對(duì)象由程序代碼和數(shù)據(jù)組成,是抽象的概念;而visual basic則是應(yīng)用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法(oop),把程序和數(shù)據(jù)封裝起來(lái)作為一個(gè)對(duì)象,并為每個(gè)對(duì)象賦予應(yīng)有的屬性,使對(duì)象成為實(shí)在的東西。在設(shè)計(jì)對(duì)象時(shí),不必編寫(xiě)建立和描述每個(gè)對(duì)象的程序代碼,而是用工具畫(huà)在界面上,visual basic自動(dòng)生成對(duì)象的程序代碼并封裝起來(lái)。每個(gè)對(duì)象以圖形方式顯示在界面上,都是可視的。結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言visual basic是在basic語(yǔ)言的基礎(chǔ)上發(fā)展起來(lái)的,具有高級(jí)程序設(shè)計(jì)語(yǔ)言的語(yǔ)句結(jié)構(gòu),接近于自然語(yǔ)言和人類(lèi)的邏輯思維方式。visual basic語(yǔ)句簡(jiǎn)單易懂,其編輯器支持彩色代碼,可自動(dòng)進(jìn)行語(yǔ)法錯(cuò)誤檢查,同時(shí)具有功能強(qiáng)大且使用靈活的調(diào)試器和編譯器。visual basic是解釋型語(yǔ)言,在輸入代碼的同時(shí),解釋系統(tǒng)將高級(jí)語(yǔ)言分解翻譯成計(jì)算機(jī)可以識(shí)別的機(jī)器指令,并判斷每個(gè)語(yǔ)句的語(yǔ)法錯(cuò)誤。在設(shè)計(jì)visual basic程序的過(guò)程中,隨時(shí)可以運(yùn)行程序,而在整個(gè)程序設(shè)計(jì)好之后,可以編譯生成可執(zhí)行文件(.exe),脫離visual basic環(huán)境,直接在windows環(huán)境下運(yùn)行。事件驅(qū)動(dòng)編程機(jī)制visual basic通過(guò)事件來(lái)執(zhí)行對(duì)象的操作。一個(gè)對(duì)象可能會(huì)產(chǎn)生多個(gè)事件,每個(gè)事件都可以通過(guò)一段程序來(lái)響應(yīng)。例如,命令按鈕是一個(gè)對(duì)象,當(dāng)用戶(hù)單擊該按鈕時(shí),將產(chǎn)生一個(gè)“單擊“(click)事件,而在產(chǎn)生該事件時(shí)將執(zhí)行一段程序,用來(lái)實(shí)現(xiàn)指定的操作。在用visual basic設(shè)計(jì)大型應(yīng)用軟件時(shí),不必建立具有明顯開(kāi)始和結(jié)束的程序,而是編寫(xiě)若干個(gè)微小的子程序,即過(guò)程。這些過(guò)程分別面向不同的對(duì)象,由用戶(hù)操作引發(fā)某個(gè)事件來(lái)驅(qū)動(dòng)完成某種特定的功能,或者由事件驅(qū)動(dòng)程序調(diào)用通用過(guò)程來(lái)執(zhí)行指定的操作,這樣可以方便編程人員,提高效率。訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)visual basic具有強(qiáng)大的數(shù)據(jù)庫(kù)管理功能,利用數(shù)據(jù)控件和數(shù)據(jù)庫(kù)管理窗口,可以直接建立或處理microsoft access格式的數(shù)據(jù)庫(kù),并提供了強(qiáng)大的數(shù)據(jù)存儲(chǔ)和檢索功能。同時(shí),visual basic還能直接編輯和訪(fǎng)問(wèn)其他外部數(shù)據(jù)庫(kù),如dbase,foxpro,paradox等,這些數(shù)據(jù)庫(kù)格式都可以用visual basic編輯和處理。visual basic提供開(kāi)放式數(shù)據(jù)連接,即odbc功能,可通過(guò)直接訪(fǎng)問(wèn)或建立連接的方式使用并操作后臺(tái)大型網(wǎng)絡(luò)數(shù)據(jù)庫(kù),如sql server,oracle等。在應(yīng)用程序中,可以使用結(jié)構(gòu)化查詢(xún)語(yǔ)言sql數(shù)據(jù)標(biāo)準(zhǔn),直接訪(fǎng)問(wèn)服務(wù)器上的數(shù)據(jù)庫(kù),并提供了簡(jiǎn)單的面向?qū)ο蟮膸?kù)操作指令和多用戶(hù)數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)的加鎖機(jī)制和網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的sql的編程技術(shù),為單機(jī)上運(yùn)行的數(shù)據(jù)庫(kù)提供了sql網(wǎng)絡(luò)接口,以便在分布式環(huán)境中快速而有效地實(shí)現(xiàn)客戶(hù)/服務(wù)器(client/server)方案。動(dòng)態(tài)數(shù)據(jù)交換(dde)利用動(dòng)態(tài)數(shù)據(jù)交換(dynamic data exchange)技術(shù),可以把一種應(yīng)用程序中的數(shù)據(jù)動(dòng)態(tài)地鏈接到另一種應(yīng)用程序中,使兩種完全不同的應(yīng)用程序建立起一條動(dòng)態(tài)數(shù)據(jù)鏈路。當(dāng)原始數(shù)據(jù)變化時(shí),可以自動(dòng)更新鏈接的數(shù)據(jù)。visual basic提供了動(dòng)態(tài)數(shù)據(jù)交換的編程技術(shù),可以在應(yīng)用程序中與其他windows應(yīng)用程序建立動(dòng)態(tài)數(shù)據(jù)交換,在不同的應(yīng)用程序之間進(jìn)行通信。對(duì)象的鏈接與嵌入(ole)對(duì)象的鏈接與嵌入(ole)將每個(gè)應(yīng)用程序都看做是一個(gè)對(duì)象(object),將不同的對(duì)象鏈接(link)起來(lái),再嵌入(embed)某個(gè)應(yīng)用程序中,從而可以得到具有聲音、影像、圖像、動(dòng)畫(huà)、文字等各種信息的集合式的文件。ole技術(shù)是microsoft公司對(duì)象技術(shù)的戰(zhàn)略,它把多個(gè)應(yīng)用程序合為一體,將每個(gè)應(yīng)用程序看做是一個(gè)對(duì)象進(jìn)行鏈接和嵌入,是一種應(yīng)用程序一體化的技術(shù)。利用ole技術(shù),可以方便地建立復(fù)合式文檔(compound document),這種文檔由來(lái)自多個(gè)不同應(yīng)用程序的對(duì)象組成,文檔中的每個(gè)對(duì)象都與原來(lái)的應(yīng)用程序相聯(lián)系,并可執(zhí)行與原來(lái)應(yīng)用程序完全相同的操作。動(dòng)態(tài)鏈接庫(kù)(dll)visual basic是一種高級(jí)程序設(shè)計(jì)語(yǔ)言,不具備低級(jí)語(yǔ)言的功能,對(duì)訪(fǎng)問(wèn)機(jī)器硬件的操作不太容易實(shí)現(xiàn)。但它可以通過(guò)動(dòng)態(tài)鏈接庫(kù)技術(shù)將c/c+或匯編語(yǔ)言編寫(xiě)的程序加入到visual basic應(yīng)用程序中,可以像調(diào)用內(nèi)部函數(shù)一樣調(diào)用其他語(yǔ)言編寫(xiě)的函數(shù)。此外,通過(guò)動(dòng)態(tài)鏈接庫(kù),還可以調(diào)用windows應(yīng)用程序接口(api)函數(shù),實(shí)現(xiàn)sdk所具有的功能。100212關(guān)系型數(shù)據(jù)庫(kù)的實(shí)現(xiàn)access2000 就是關(guān)系數(shù)據(jù)庫(kù)開(kāi)發(fā)工具,數(shù)據(jù)庫(kù)能匯集各種信息以供查詢(xún)、存儲(chǔ)和檢索。access 的優(yōu)點(diǎn)在于它能使用數(shù)據(jù)表示圖或自定義窗體收集信息。數(shù)據(jù)表示圖提供了一種類(lèi)似于 excel 的電子表格,可以使數(shù)據(jù)庫(kù)一目了然。另外,access 允許創(chuàng)建自定義報(bào)表用于打印或輸出數(shù)據(jù)庫(kù)中的信息。access也提供了數(shù)據(jù)存儲(chǔ)庫(kù),可以使用桌面數(shù)據(jù)庫(kù)文件把數(shù)據(jù)庫(kù)文件置于網(wǎng)絡(luò)文件服務(wù)器,與其他網(wǎng)絡(luò)用戶(hù)共享數(shù)據(jù)庫(kù)。access 是一種關(guān)系數(shù)據(jù)庫(kù)工具,關(guān)系數(shù)據(jù)庫(kù)是已開(kāi)發(fā)的最通用的數(shù)據(jù)庫(kù)之一。如上所述,access 作為關(guān)系數(shù)據(jù)庫(kù)開(kāi)發(fā)具備了許多優(yōu)點(diǎn),可以在一個(gè)數(shù)據(jù)包中同時(shí)擁有桌面數(shù)據(jù)庫(kù)的便利和關(guān)系數(shù)據(jù)庫(kù)的強(qiáng)大功能。213二者的結(jié)合(dba)微軟的jet數(shù)據(jù)庫(kù)引擎提供了與數(shù)據(jù)庫(kù)打交道的途徑,我們是通過(guò)它以及visual basic 來(lái)訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)并對(duì)其進(jìn)行各種操作。visual basic、access以及其他微軟的軟件產(chǎn)品都是通過(guò)共用jet數(shù)據(jù)庫(kù)引擎,從而給用戶(hù)提供了豐富的數(shù)據(jù)類(lèi)型。data 控件在數(shù)據(jù)庫(kù)中的信息與將信息顯示給用戶(hù)看的visual basic程序之間架起了一座橋梁。我們可以設(shè)置data控件的各個(gè)屬性,告訴它要調(diào)用那個(gè)數(shù)據(jù)庫(kù)的哪個(gè)部分。缺省情況下,data控件根據(jù)數(shù)據(jù)庫(kù)中的一個(gè)或多個(gè)數(shù)據(jù)表建立一個(gè)dynaset-type(動(dòng)態(tài)集合)類(lèi)型的記錄集合。一個(gè)記錄集合是動(dòng)態(tài)的也就意味著,當(dāng)原來(lái)的數(shù)據(jù)表中的容改變了以后,該記錄集合中的記錄也會(huì)隨之改變。data控件還提供了用來(lái)瀏覽不同記錄的各種跳轉(zhuǎn)按鈕。將data控件放置在窗體中之后,我們還必須在該控件與要處理的數(shù)據(jù)庫(kù)之間建立聯(lián)系。22 關(guān)系型數(shù)據(jù)庫(kù)的選擇sql server是一種功能強(qiáng)大的數(shù)據(jù)庫(kù)開(kāi)發(fā)工具,數(shù)據(jù)庫(kù)匯集了信息以供查詢(xún)、存儲(chǔ)和檢索。它的優(yōu)點(diǎn)在于強(qiáng)大的數(shù)據(jù)庫(kù)引擎,它可以承受10000條以上的記錄測(cè)試,而且數(shù)據(jù)庫(kù)運(yùn)行于服務(wù)器上,相對(duì)于本地?cái)?shù)據(jù)庫(kù),可以明顯的減少內(nèi)存占用,提高運(yùn)行速度和本機(jī)的利用效率。sql數(shù)據(jù)庫(kù)相對(duì)access數(shù)據(jù)庫(kù),具有更加可靠的安全性,同時(shí)具有比access更為友好的管理界面企業(yè)管理器,其中的視圖可以直觀(guān)的進(jìn)行數(shù)據(jù)處理,同時(shí)支持直觀(guān)的數(shù)據(jù)庫(kù)設(shè)計(jì),也可以通過(guò)詞法分析器,使用sql語(yǔ)句進(jìn)行數(shù)據(jù)庫(kù)的各種操作,包括數(shù)據(jù)庫(kù)的建立,表的建立和修改等一系列access下可以進(jìn)行的操作。選擇sql數(shù)據(jù)庫(kù)的最主要原因是,它支持網(wǎng)絡(luò)數(shù)據(jù)庫(kù),現(xiàn)在企業(yè)規(guī)模的迅速擴(kuò)大,車(chē)輛作為最主要的交通工具在企業(yè)中已經(jīng)大量存在,為了合理控制這些信息,最佳的調(diào)配各部門(mén)的車(chē)輛使用,采用網(wǎng)絡(luò)數(shù)據(jù)庫(kù)是最理想的選擇。sql server服務(wù)器提供了可靠的數(shù)據(jù)保障,可以自動(dòng)數(shù)據(jù)備份和訪(fǎng)問(wèn)日志的記錄,可以進(jìn)行詳細(xì)的數(shù)據(jù)分析等操作。采用c/s模式的設(shè)計(jì),可以更加合理的利用企業(yè)資源,使得數(shù)據(jù)集中在一臺(tái)服務(wù)器上,從來(lái)節(jié)省了數(shù)據(jù)庫(kù)管理的人力資源,也使得由于非專(zhuān)業(yè)人士的誤操作,或者別的各種電腦意外而導(dǎo)致數(shù)據(jù)丟失,或者別的不必要損失,所以在數(shù)據(jù)庫(kù)選擇上采用了sql server。23 系統(tǒng)與數(shù)據(jù)庫(kù)的連接實(shí)現(xiàn)采用ado控件連接數(shù)據(jù)庫(kù)和系統(tǒng),ado 是為 microsoft最新和最強(qiáng)大的數(shù)據(jù)訪(fǎng)問(wèn)范例 ole db 而設(shè)計(jì)的,是一個(gè)便于使用的應(yīng)用程序?qū)咏涌?。ole db 為任何數(shù)據(jù)源提供了高性能的訪(fǎng)問(wèn),這些數(shù)據(jù)源包括關(guān)系和非關(guān)系數(shù)據(jù)庫(kù)、電子郵件和文件系統(tǒng)、文本和圖形、自定義業(yè)務(wù)對(duì)象等等。ado 在關(guān)鍵的 internet 方案中使用最少的網(wǎng)絡(luò)流量,并且在前端和數(shù)據(jù)源之間使用最少的層數(shù),所有這些都是為了提供輕量、高性能的接口。通過(guò)系統(tǒng)自帶odbc的文件dsn,進(jìn)行連接數(shù)據(jù)庫(kù),其中定義的時(shí)候dsn文件名為myconnection.dsn(自定義),具體數(shù)據(jù)庫(kù)連接的代碼如下:public function connectstring() as string connectstring = filedsn=myconnection.dsn;uid=sa;pwd= end function其中的connectstring的調(diào)用如下,這樣就成功的連接了數(shù)據(jù)庫(kù) set cnn = new adodb.connectioncnn.open connectstring第三章 系統(tǒng)分析31 基本情況分析現(xiàn)在隨著企業(yè)規(guī)模的擴(kuò)大以及車(chē)輛作為最為普遍的交通工具,在企業(yè)中已經(jīng)不是單一的存在,由于單位車(chē)輛數(shù)目的急劇增加,與之相對(duì)應(yīng)的問(wèn)題隨之而生,比如車(chē)輛的使用權(quán)問(wèn)題,車(chē)輛的費(fèi)用問(wèn)題等,不再是簡(jiǎn)單的少量的數(shù)據(jù)。為了解決這一系列的問(wèn)題,我們必須借助于電腦的強(qiáng)大的數(shù)據(jù)處理能力和存儲(chǔ)能力,如此可以減少人力財(cái)力來(lái)維護(hù)這些數(shù)據(jù),可以用更少的投入來(lái)?yè)Q取更佳的數(shù)據(jù)管理。因此,在這樣的情況下,開(kāi)發(fā)單位車(chē)輛管理系統(tǒng)是可行的,是必要的。如今,mis開(kāi)發(fā)已經(jīng)慢慢的驅(qū)向成熟,車(chē)輛管理系統(tǒng)也有部分開(kāi)發(fā),但是都還不是十分完善。現(xiàn)今已經(jīng)開(kāi)發(fā)的車(chē)輛管理系統(tǒng)都是針對(duì)以運(yùn)營(yíng)為主的具有盈利目的的單位。比如,公交管理、出租車(chē)管理、運(yùn)輸公司管理、汽車(chē)站點(diǎn)的管理,而這些管理最主要是針對(duì)盈利的管理,很少有針對(duì)各種汽車(chē)使用權(quán)、車(chē)輛調(diào)配等各種普通單位,不是以車(chē)輛運(yùn)營(yíng)為盈利手段的車(chē)輛管理,針對(duì)這點(diǎn),此系統(tǒng)就是適合如今大多數(shù)企業(yè)管理的信息管理系統(tǒng)。32 系統(tǒng)功能分析根據(jù)第3.1節(jié)分析,單位車(chē)輛管理系統(tǒng),應(yīng)該具備以下功能:1)車(chē)輛擋案管理(1) 車(chē)輛檔案輸入(2) 車(chē)輛檔案查詢(xún)(3) 車(chē)輛異動(dòng)列表(4) 車(chē)輛異動(dòng)查詢(xún)(5) 車(chē)輛報(bào)廢(6) 車(chē)輛報(bào)廢查詢(xún)2)車(chē)輛運(yùn)營(yíng)管理(1) 車(chē)輛運(yùn)營(yíng)列表(2) 車(chē)輛運(yùn)營(yíng)查詢(xún)(3) 清空運(yùn)營(yíng)表3)車(chē)輛管理(1) 維修管理(2) 違章管理(3) 事故管理4)駕駛員管理(1) 駕駛員檔案管理(2) 駕駛員檔案查詢(xún)(3) 駕駛員獎(jiǎng)罰5)系統(tǒng)維護(hù)(1) 系統(tǒng)初始化(2) 管理員設(shè)置(3) 數(shù)據(jù)備份(4) 數(shù)據(jù)恢復(fù)(5) 退出系統(tǒng)功能模塊圖,如圖3.1車(chē)輛管理系統(tǒng)維護(hù)駕駛員管理車(chē)輛管理車(chē)輛運(yùn)營(yíng)管理車(chē)輛擋案管理 數(shù)據(jù)表:1.車(chē)輛報(bào)廢表本表的主要作用是裝載車(chē)輛的基本信息情況。2. 車(chē)輛檔案本表主要用于車(chē)輛檔案信息。3. 車(chē)輛事故表本表主要用于車(chē)輛事故表的信息。4. 車(chē)輛違章表本表主要用于車(chē)輛違章表憑證。5. 車(chē)輛維修表本表主要用于車(chē)輛維修表數(shù)據(jù)字典數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是對(duì)數(shù)據(jù)流圖中包含的所有元素的定義的集合。任何字典最主要的用途都是供人查閱對(duì)不了解的條目的解釋。數(shù)據(jù)字典的作用是在軟件分析和設(shè)計(jì)的過(guò)程中給人提供關(guān)于數(shù)據(jù)的描述信息。數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型,沒(méi)有數(shù)據(jù)字典,數(shù)據(jù)流圖就不嚴(yán)格,然而沒(méi)有數(shù)據(jù)流圖數(shù)據(jù)字典也難于發(fā)揮作用。只有數(shù)據(jù)流圖和對(duì)數(shù)據(jù)流圖的精確定義放在一起,才能共同構(gòu)成系統(tǒng)的規(guī)格說(shuō)明。系統(tǒng)開(kāi)發(fā)時(shí),常用卡片的形式書(shū)寫(xiě)保存描述一個(gè)數(shù)據(jù)元素。下面給出本系統(tǒng)的主要數(shù)據(jù)元素的數(shù)據(jù)字典索引卡片:名字:報(bào)廢列名:報(bào)廢描述:唯一地標(biāo)識(shí)專(zhuān)業(yè)基本狀況表的一個(gè)特定關(guān)鍵域定義:報(bào)廢20字符20位置:報(bào)廢表 名字:事故列名:事故描述:唯一地標(biāo)識(shí)事故基本狀況表的一個(gè)特定關(guān)鍵域定義:事故10字符10位置:事故信息表 名字:違章名稱(chēng)描述:唯一地標(biāo)識(shí)員工基本狀況表的一個(gè)特定關(guān)鍵域定義:違章名稱(chēng)20字符20位置:違章成績(jī)表 名字:維修描述:唯一地標(biāo)識(shí)維修基本狀況表的一個(gè)特定關(guān)鍵域定義:pid8字符8位置: 維修信息表 和學(xué)生成績(jī)表 第四章 數(shù)據(jù)庫(kù)設(shè)計(jì) 數(shù)據(jù)庫(kù)設(shè)計(jì)在一個(gè)信息管理系統(tǒng)中占有十分重要的地位,數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的好壞直接對(duì)應(yīng)用系統(tǒng)的效率以及實(shí)現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫(kù)設(shè)計(jì)可以提高數(shù)據(jù)庫(kù)存儲(chǔ)的效率,保證數(shù)據(jù)的完整好一致性,保障系統(tǒng)不會(huì)因?yàn)閿?shù)據(jù)混亂而引起運(yùn)行出錯(cuò),同時(shí),合理的數(shù)據(jù)庫(kù)可以減輕系統(tǒng)開(kāi)發(fā)的工作量,提高工作效率。數(shù)據(jù)庫(kù)設(shè)計(jì)應(yīng)該充分考慮系統(tǒng)的需求,包括現(xiàn)在的需求,也要考慮將來(lái)的需求。(1)數(shù)據(jù)庫(kù)的概念數(shù)據(jù)庫(kù)處理在信息系統(tǒng)的研究中一直是非常重要的主題,然而,近年來(lái),隨著world wide web(www)的猛增及internet技術(shù)的迅速發(fā)展,使得數(shù)據(jù)庫(kù)技術(shù)之時(shí)成為最熱門(mén)技術(shù)之一。數(shù)據(jù)庫(kù)技術(shù)能使internet應(yīng)用超越具有早期應(yīng)用特點(diǎn)的簡(jiǎn)單的發(fā)布。同時(shí),internet技術(shù)提供了一種向用戶(hù)發(fā)布數(shù)據(jù)庫(kù)內(nèi)容的標(biāo)準(zhǔn)化的訪(fǎng)問(wèn)方法。這些技術(shù)沒(méi)有脫離經(jīng)典數(shù)據(jù)庫(kù)技術(shù)的要求。它們只是加重了數(shù)據(jù)庫(kù)技術(shù)的重要性。數(shù)據(jù)庫(kù)的設(shè)計(jì)和開(kāi)發(fā)及包括藝術(shù)有包括工程。理解用戶(hù)的需求,然后,把它們轉(zhuǎn)變?yōu)橛行У臄?shù)據(jù)庫(kù)設(shè)計(jì)是一個(gè)藝術(shù)過(guò)程。把設(shè)計(jì)轉(zhuǎn)變?yōu)閷?shí)際的數(shù)據(jù)庫(kù),并且這些數(shù)據(jù)庫(kù)帶有功能完備、高效能的應(yīng)用,是一個(gè)工程過(guò)程。數(shù)據(jù)庫(kù)的目的是幫助人們跟蹤事務(wù)。經(jīng)典的數(shù)據(jù)庫(kù)應(yīng)用涉及諸如訂單、顧客、工作、員工、學(xué)生、電話(huà)之類(lèi)的項(xiàng),或其它數(shù)據(jù)量較大、需要密切關(guān)注的事務(wù)。最近,由于數(shù)據(jù)庫(kù)的普及,數(shù)據(jù)庫(kù)技術(shù)已經(jīng)被應(yīng)用到了新的領(lǐng)域,諸如用于internet的數(shù)據(jù)庫(kù)或用于公司內(nèi)聯(lián)網(wǎng)的數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)也被越來(lái)越多地應(yīng)用于生成和維護(hù)多媒體應(yīng)用程序上。計(jì)算機(jī)的數(shù)據(jù)處理應(yīng)用,首先要把大量的信息以數(shù)據(jù)形式存放在存儲(chǔ)器中。存儲(chǔ)器的容量、存儲(chǔ)速率直接影響到數(shù)據(jù)管理技術(shù)的發(fā)展。從1956年生產(chǎn)出第一臺(tái)計(jì)算機(jī)到現(xiàn)在,存儲(chǔ)器的發(fā)展,為數(shù)據(jù)庫(kù)技術(shù)提供了良好的物質(zhì)基礎(chǔ)。使用計(jì)算機(jī)以后,數(shù)據(jù)處理的速度和規(guī)模,無(wú)論是相對(duì)于手工方式,還是機(jī)械方式,都有無(wú)可比擬的優(yōu)勢(shì)。通常在數(shù)據(jù)處理中,計(jì)算是比較簡(jiǎn)單的而數(shù)據(jù)的管理卻比較復(fù)雜。數(shù)據(jù)管理是指數(shù)據(jù)的收集、整理、組織、存儲(chǔ)、維護(hù)、檢索、傳送等操作,這部分操作是數(shù)據(jù)處理業(yè)務(wù)的基本環(huán)節(jié),而且是任何數(shù)據(jù)處理業(yè)務(wù)中必不可少的共有部分。數(shù)據(jù)管理技術(shù)的優(yōu)劣,將直接影響數(shù)據(jù)處理的效率。數(shù)據(jù)庫(kù)在一個(gè)信息管理系統(tǒng)中占有非常重要的位置,數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的好壞將直接對(duì)應(yīng)用系統(tǒng)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫(kù)設(shè)計(jì)可以提高數(shù)據(jù)庫(kù)存儲(chǔ)效率,保證數(shù)據(jù)的完整和一致。同時(shí)合理的數(shù)據(jù)結(jié)構(gòu)也將有利于程序的實(shí)現(xiàn)。設(shè)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)時(shí),應(yīng)該首先了解用戶(hù)的各個(gè)方面的需求,包括現(xiàn)有的以及將來(lái)可能增加的。(2)創(chuàng)建數(shù)據(jù)庫(kù)文件如果操作系統(tǒng)中安裝了access2000的話(huà),可以在開(kāi)始菜單的程序菜單中可以找到。如下所示:打開(kāi)access2000之后,會(huì)開(kāi)啟一個(gè)窗口,可選擇是打開(kāi)以前的數(shù)據(jù)庫(kù)文件還是新建一個(gè)新的空數(shù)據(jù)庫(kù)文件,如果選擇空access數(shù)據(jù)庫(kù),然后點(diǎn)擊確定按鈕。這些就新建了一個(gè)數(shù)據(jù)庫(kù)文件。最后一步就是要選擇一個(gè)要保存數(shù)據(jù)庫(kù)文件的名字和位置。點(diǎn)擊創(chuàng)建就完成。(3) 怎樣創(chuàng)建一個(gè)數(shù)據(jù)表 上面已經(jīng)講了如何創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)文件,按照上面的步驟建立一個(gè)數(shù)據(jù)庫(kù)文件后,需要在數(shù)據(jù)庫(kù)文件中建立一個(gè)數(shù)據(jù)表。在下面的對(duì)話(huà)框中選”使用設(shè)計(jì)器創(chuàng)建表”,上面還有三個(gè)按鈕,一個(gè)是打開(kāi),一個(gè)是設(shè)計(jì),一個(gè)是新建,點(diǎn)擊設(shè)計(jì),就可以開(kāi)始設(shè)計(jì)數(shù)據(jù)表了。 出現(xiàn)設(shè)計(jì)的界面后,就可以開(kāi)始設(shè)計(jì)數(shù)據(jù)表了?。?) vb連接access2000數(shù)據(jù)庫(kù)用vb編寫(xiě)一個(gè)管理軟件,如果不能連接數(shù)據(jù)庫(kù),那也沒(méi)有什么用處。先看看vb是如何與access2000數(shù)據(jù)庫(kù)相連接的。sub connstr()連接數(shù)據(jù)庫(kù)set conn = createobject(adodb.connection) 建立數(shù)據(jù)庫(kù)連接對(duì)像dbpath = app.path & & data.mdb 設(shè)置數(shù)據(jù)的路徑conn.open provider=microsoft.jet.oledb.4.0;data source= & dbpath 打開(kāi)數(shù)據(jù)庫(kù)連接set rs = createobject(adodb.recordset) 設(shè)置數(shù)據(jù)庫(kù)對(duì)像end sub上面的一段代碼就是連接數(shù)據(jù)庫(kù)的。上用到了三個(gè)變量conn,dbpath,rs。其中有兩個(gè)變量要定義為公用的變量,因?yàn)檫@段代碼是放在一個(gè)模塊中的,為了在每一個(gè)窗體中能夠使用這個(gè)變量,所以必須要聲明為公用變量。聲明公用變量的方法如下:public connpublic rs上面就是聲明為公用變量,上面的聲明一定要放在模塊的最上面。如果聲明在下面,那就成了局部變量,那么作用范圍就會(huì)不同了,作用就更不同,而且在其它窗體中使用到了這個(gè)變量,程序會(huì)出錯(cuò)。41 數(shù)據(jù)庫(kù)需求分析根據(jù)前面章節(jié)對(duì)系統(tǒng)功能的分析可以得知,用戶(hù)的具體需求主要體現(xiàn)在各種信息的輸入、保存、查詢(xún)和更新,這就要求數(shù)據(jù)庫(kù)能充分滿(mǎn)足各種信息的輸入和輸出。經(jīng)過(guò)對(duì)企業(yè)車(chē)輛管理的過(guò)程得如下流程圖。如圖4.1圖4.1駕駛員登記車(chē)輛登記駕駛員基本信息管理車(chē)輛基本信息管理基本信息錄入基本信息錄入業(yè)務(wù)信息管理業(yè)務(wù)方向運(yùn)營(yíng)信息管理維修信息管理事故信息管理費(fèi)用信息管理業(yè)務(wù)信息錄入業(yè)務(wù)信息錄入42 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)分析得上面的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)以后,就可以設(shè)計(jì)數(shù)據(jù)庫(kù)實(shí)體,以及他們之間的關(guān)系。根據(jù)上面的設(shè)計(jì)規(guī)劃出實(shí)體有:司機(jī)實(shí)體、車(chē)輛實(shí)體、運(yùn)營(yíng)信息實(shí)體、維修信息實(shí)體、事故信息實(shí)體、費(fèi)用信息實(shí)體。各實(shí)體間的e-r關(guān)系以司機(jī)實(shí)體為例,不一一介紹。如圖4.2駕駛員實(shí)體姓名性別執(zhí)照號(hào)碼準(zhǔn)駕車(chē)型圖4.2各實(shí)體之間關(guān)系的e-r圖,如圖4.3駕駛員車(chē)輛業(yè)務(wù)管理業(yè)務(wù)信息業(yè)務(wù)方向運(yùn)營(yíng)信息維修信息事故信息費(fèi)用信息圖4.343 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)實(shí)現(xiàn)經(jīng)過(guò)以上需求分析和概念設(shè)計(jì),現(xiàn)在將數(shù)據(jù)庫(kù)結(jié)構(gòu)模型轉(zhuǎn)化為sql server 2000的數(shù)據(jù)庫(kù)系統(tǒng)支持的實(shí)際數(shù)據(jù)模型,即數(shù)據(jù)字典。本系統(tǒng)的數(shù)據(jù)庫(kù)(clgl.mdb)主要有以下表構(gòu)成:1)用戶(hù)表:該表主要包括該系統(tǒng)用戶(hù)的信息和管理員的信息。2)駕駛員:該表存放的是司機(jī)的基本信息,主要包括駕照、姓名、性別、出生年月、家庭住址、準(zhǔn)駕車(chē)型、考取駕照的時(shí)間等等。3)車(chē)輛檔案:表主要存放車(chē)輛的基本信息,主要包括車(chē)牌、車(chē)型、車(chē)主、發(fā)動(dòng)機(jī)號(hào)、車(chē)架號(hào)、廠(chǎng)家型號(hào)、車(chē)重、核定載客等信息。4)車(chē)輛運(yùn)營(yíng)信息表:該表主要包括了運(yùn)營(yíng)的車(chē)輛、運(yùn)營(yíng)的司機(jī)、運(yùn)營(yíng)開(kāi)始和結(jié)束的時(shí)間、運(yùn)營(yíng)的距離以及運(yùn)營(yíng)的耗費(fèi)等。5)車(chē)輛維修信息表(repair):該表主要存放維修的車(chē)輛牌照、維修的日期、維修部門(mén)、維修項(xiàng)目、維修價(jià)格、維修配件等。6)車(chē)輛事故信息表(accident):該表存放的是車(chē)輛事故的信息,主要包括事故車(chē)輛、事故時(shí)間、事故地點(diǎn)、事故原因、事故對(duì)方的一些信息等,還有處、處理方式等信息第五章 系統(tǒng)實(shí)施(模塊功能和詳細(xì)思路)51用戶(hù)管理模塊用戶(hù)管理模塊主要功能是用戶(hù)的添加、修改密碼和刪除。添加用戶(hù)是所有用戶(hù)都具有的功能,要求提供用戶(hù)名和密碼,以及密碼的確認(rèn)這里不做詳細(xì)展開(kāi)。密碼的修改,考慮到用戶(hù)的安全性,在修改密碼的同時(shí),要求對(duì)原密碼的確認(rèn),對(duì)于確認(rèn)密碼是用戶(hù)在登錄時(shí)候,在與數(shù)據(jù)庫(kù)用戶(hù)密碼審核的時(shí)候?qū)⒚艽a讀入到全局變量password,在用戶(hù)進(jìn)行密碼修改的時(shí)候?qū)⑤斎氲脑艽a框與password進(jìn)行比較,通過(guò)在核定兩次密碼輸入是否一致,這樣就實(shí)現(xiàn)了用戶(hù)密碼的安全修改。對(duì)于用戶(hù)的刪除,充分考慮了系統(tǒng)安全問(wèn)題,在數(shù)據(jù)庫(kù)建立的時(shí)候,初始化了一個(gè)超級(jí)管理員administrator,同時(shí)也有一個(gè)全局變量username與之對(duì)應(yīng),用于用戶(hù)名的校對(duì)。只有用戶(hù)名為administrator的時(shí)候才允許對(duì)用戶(hù)進(jìn)行刪除。用戶(hù)的刪除對(duì)于超級(jí)管理員是完全透明的,當(dāng)用超級(jí)管理員登錄后,使用刪除用戶(hù)操作時(shí),系統(tǒng)將從數(shù)據(jù)庫(kù)用戶(hù)表中讀取所有的用戶(hù)名,管理員之需選定即可刪除,所以說(shuō)對(duì)于超級(jí)管理員是完全透明的,其中超級(jí)管理員不允許被刪除。如圖5.1所示,其中有兩個(gè)用戶(hù)admin和yjyzd是允許被刪除的。52 車(chē)輛管理模塊5.2.1 車(chē)輛信息的添加車(chē)輛基本信息主要包括車(chē)輛牌照、車(chē)型、發(fā)動(dòng)機(jī)號(hào)等一系列信息,在信息輸入完畢后,對(duì)各項(xiàng)信息進(jìn)行確認(rèn)。首先車(chē)輛牌照是唯一的,所以在寫(xiě)入數(shù)據(jù)庫(kù)之前,先對(duì)數(shù)據(jù)庫(kù)進(jìn)行一次查詢(xún),查詢(xún)是否存在這個(gè)即將被錄入的車(chē)輛牌照,如此即避免了車(chē)輛的重復(fù)登記。車(chē)型、車(chē)主、牌照和發(fā)動(dòng)機(jī)號(hào)則不允許被省略,目的是為了別的模塊的連接和本身的查詢(xún)。對(duì)車(chē)重和核定載客則可以為空,但當(dāng)判斷不為空是,就用isnumeric()進(jìn)行判斷,是否是數(shù)據(jù)類(lèi)型,如果不是則提出警告。這就是對(duì)輸入數(shù)據(jù)合理性進(jìn)行了審核。提交數(shù)據(jù)的時(shí)候,判斷全局變量gintvmode即當(dāng)前模式,如果是添加模式,則在調(diào)用這個(gè)功能的時(shí)候自動(dòng)將gintvmode賦1,則調(diào)用.addnew,添加新記錄。gintvmode此變量主要用于標(biāo)志當(dāng)前處于添加狀態(tài)還是修改狀態(tài),當(dāng)然在form_load的時(shí)候,如果是添加則初始化控件數(shù)組txtitem(i)為空。5.2.2 車(chē)輛信息的修改車(chē)輛信息的修改操作是在兩個(gè)窗體上面實(shí)現(xiàn)的。首先,當(dāng)調(diào)用修改功能的時(shí)候,系統(tǒng)將自動(dòng)調(diào)用一個(gè)frmvehiclelist窗體,此窗體專(zhuān)門(mén)用于數(shù)據(jù)的整體顯示,所以在介紹修改功能之前,有必要先談此窗體的具體功能和實(shí)現(xiàn)。frmvehiclelist窗體最主要的功能是顯示數(shù)據(jù)、數(shù)據(jù)導(dǎo)出和產(chǎn)生報(bào)表三項(xiàng)功能。1)顯示數(shù)據(jù)功能在數(shù)據(jù)顯示方面,系統(tǒng)使用了一個(gè)msflexgrid控件,為了控制界面的美觀(guān),用一專(zhuān)門(mén)的初始化函數(shù)form_resize(),數(shù)據(jù)的顯示實(shí)現(xiàn)的主要思想是,先根據(jù)條件進(jìn)行數(shù)據(jù)庫(kù)查詢(xún),默認(rèn)沒(méi)有條件時(shí)全體讀入,將數(shù)據(jù)查詢(xún)結(jié)果讀入到記錄集對(duì)象mrc中,然后將mrc中的數(shù)據(jù),逐一賦值給msflexgrid控件,當(dāng)然在賦值之前我們已經(jīng)清楚了該數(shù)據(jù)結(jié)構(gòu),所以在初始化msflexgrid控件的時(shí)候,調(diào)用了一個(gè)顯示表頭的函數(shù)showtitle()函數(shù),這個(gè)函數(shù)具體功能是根據(jù)表的數(shù)據(jù)結(jié)構(gòu),在msflexgrid控件中實(shí)現(xiàn)各字段名稱(chēng)的顯示和控制其寬度。在這個(gè)窗體里面有一個(gè)公共變量txtsql,用于傳遞查詢(xún)操作的sql語(yǔ)句,如果不是查詢(xún)操作,即sql語(yǔ)句傳入,則自動(dòng)賦以查詢(xún)所有數(shù)據(jù)命令。如果是查詢(xún)操作,則將查詢(xún)sql語(yǔ)句賦值給txtsql,然后以這條查詢(xún)語(yǔ)句進(jìn)行查詢(xún)。2)數(shù)據(jù)導(dǎo)出備份功能在窗體中還有一個(gè)導(dǎo)出數(shù)據(jù)按鈕,作用是將已經(jīng)在msflexgrid控件顯示中的數(shù)據(jù)導(dǎo)入到excel數(shù)據(jù)表中,目的是為了實(shí)現(xiàn)數(shù)據(jù)的導(dǎo)出備份,其具體代碼如下:im xlapp as excel.applicationdim xlbook as excel.workbook dim xlsheet as excel.worksheet dim i as long, j as long on error goto errorhandle set xlapp = createobject(excel.application) set xlbook = xlapp.workbooks.add set xlsheet = xlbook.worksheets(1) for i = 0 to msglist.rows - 1 for j = 0 to msglist.cols - 1 xlsheet.cells(i + 1, j + 1).value = msglist.textmatrix(i, j) next j next i xlsheet.application.visible = true set xlsheet = nothing set xlbook = nothing set xlapp = nothing exit suberrorhandle: msgbox 錯(cuò)誤: & err.number & vbcrlf & err.description, vbokonly, 運(yùn)行錯(cuò)誤!3)數(shù)據(jù)報(bào)表功能主要是提供了,對(duì)數(shù)據(jù)庫(kù)內(nèi)部數(shù)據(jù)產(chǎn)生到一個(gè)報(bào)表工具中,報(bào)表工具是封裝在一個(gè)名為llanv.dll的動(dòng)態(tài)連接庫(kù)中,此庫(kù)提供了一些接口,包括與數(shù)據(jù)庫(kù)連接的接口,與控件連接的接口等,在此設(shè)計(jì)中主要用到了數(shù)據(jù)庫(kù)接口,具體實(shí)現(xiàn)代碼如下:dim osht as llanv.llan_view /定義了報(bào)表對(duì)象 dim alab() as string dim atxt() as string dim aper() as double dim nlen as long dim i as long redim alab(3) redim atxt(3) redim aper(3) nlen = 4 for i = 0 to 2 alab(i) = atxt(i) = aper(i) = 0.33 各項(xiàng)的寬度權(quán)數(shù) nextdim scondesc as string數(shù)據(jù)庫(kù)連接串scondesc = filedsn=myconnection.dsn;uid=sa;pwd= set osht = new llanv.llan_view call osht.onsetcn_str(scondesc)連接數(shù)據(jù)庫(kù) call osht.onsetsql(select * from statistic)數(shù)據(jù)庫(kù)查詢(xún) call osht.onrun(運(yùn)營(yíng)情況報(bào)表, alab, atxt, aper, 0)數(shù)據(jù)送到報(bào)表顯示該報(bào)表提供了強(qiáng)大的手工修改工具,用戶(hù)可以根據(jù)自己需求對(duì)表頭、紙張、字體、顏色等做一系列的手工修改,如圖5.2所示。通過(guò)上面frmvehiclelist從數(shù)據(jù)庫(kù)中讀出了數(shù)據(jù),我們就可以選定需要修改的記錄,然后用右鍵或者菜單中的修改信息,來(lái)修改選定的信息,當(dāng)你選定了一條記錄并選擇修改后,gintvmode將被標(biāo)志成2,系統(tǒng)把這條記錄讀出,當(dāng)發(fā)現(xiàn)標(biāo)志為gintvmode為2的時(shí)候,系統(tǒng)就把這條記錄分別賦值給添加信息的那個(gè)窗體,并將窗體名稱(chēng)改成修改,修改完畢后,首先在數(shù)據(jù)庫(kù)中以車(chē)牌為關(guān)鍵字刪除這條記錄,然后重新插入新記錄,如此就實(shí)現(xiàn)了數(shù)據(jù)的修改。5.2.3 車(chē)輛信息的查詢(xún)此模塊的查詢(xún)操作允許對(duì)任何字段進(jìn)行查詢(xún),具體查詢(xún)界面如圖5.3所示查詢(xún)結(jié)果的實(shí)現(xiàn)也是通過(guò)5.2.2中介紹的frmvehiclelist來(lái)實(shí)現(xiàn)的,在查詢(xún)模塊中,通過(guò)用戶(hù)對(duì)查詢(xún)關(guān)鍵字的選擇,系統(tǒng)生成一個(gè)sql命令,傳遞給frmvehiclelist窗體的公共變量txtsql,進(jìn)行查詢(xún),然后就在frmvehiclelist的msflexgrid控件中顯示出來(lái),這樣便實(shí)現(xiàn)了數(shù)據(jù)的查詢(xún)。5.3 系統(tǒng)其他模塊實(shí)現(xiàn)和相關(guān)技術(shù)5.3.1 司機(jī)、運(yùn)營(yíng)信息管理模塊司機(jī)信息管理模塊主要由三個(gè)窗體組成,分別是frmdriver、frmdriverlist、frmdriverfind。其中frmdriver窗體為司機(jī)信息的添加和修改窗體,它類(lèi)似于以上詳細(xì)介紹的車(chē)輛信息窗體,它也是有一個(gè)全局變量gintdmode來(lái)控制是處于添加狀態(tài)還是修改狀態(tài),用另外一個(gè)全局變量flagdedit來(lái)標(biāo)志當(dāng)前是否已經(jīng)進(jìn)行了數(shù)據(jù)修改,如果已經(jīng)修改將值置1,在顯示數(shù)據(jù)的時(shí)候,如果已經(jīng)修改則重新顯示數(shù)據(jù),保證顯示數(shù)據(jù)與數(shù)據(jù)庫(kù)的統(tǒng)一。數(shù)據(jù)顯示窗體與車(chē)輛信息管理模塊基本一致,不再做詳細(xì)的介紹。查詢(xún)窗體,是允許對(duì)三個(gè)關(guān)鍵字進(jìn)行查詢(xún),如圖5.4所示,只允許對(duì)其中一個(gè)關(guān)鍵字進(jìn)行查詢(xún),實(shí)現(xiàn)思想是,根據(jù)用戶(hù)對(duì)關(guān)鍵字的選擇和填寫(xiě),自動(dòng)生成一個(gè)sql語(yǔ)句,賦值給顯示窗體frmdriverlist的公共變量txtsql,然后進(jìn)行查詢(xún)最后將用戶(hù)的查詢(xún)結(jié)果在在窗體中顯示出來(lái),這樣便實(shí)現(xiàn)了數(shù)據(jù)的查詢(xún)。5.3.2 事故、維修息管理模塊這三個(gè)模塊基本的輸入輸出功能與前面介紹的模塊大體相似,在信息錄入的時(shí)候,司機(jī)和車(chē)輛牌照信息,考慮到數(shù)據(jù)庫(kù)各表之間的統(tǒng)一,在這三個(gè)模塊中的司機(jī)名稱(chēng)和車(chē)輛牌照兩個(gè)數(shù)據(jù)項(xiàng)是從前面的數(shù)據(jù)庫(kù)中讀取的,自動(dòng)添加到這邊窗體中的combobox中,用戶(hù)只需直接選取即可。與前面幾個(gè)模塊不同的地方還在于數(shù)據(jù)庫(kù)中數(shù)據(jù)讀取不能像前面的車(chē)輛模塊一樣只用車(chē)輛牌照就可以唯一的確定一條記錄。比如維修信息表,一輛車(chē)可能存在很多維修記錄,這樣在數(shù)據(jù)查詢(xún)的時(shí)候,就出現(xiàn)了不確定性,在這個(gè)問(wèn)題是我們采用了聯(lián)合查詢(xún),一輛車(chē)可以有很多維

溫馨提示

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

評(píng)論

0/150

提交評(píng)論