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

下載本文檔

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

文檔簡(jiǎn)介

車輛管理系統(tǒng)摘 要隨著經(jīng)濟(jì)的日益增長(zhǎng),信息化時(shí)代已經(jīng)到來,生活中各種信息趨向數(shù)字化、清晰化。單位車輛管理系統(tǒng)就是在這樣的一個(gè)環(huán)境中誕生的,交通的日益發(fā)達(dá),使得一個(gè)商業(yè)單位不再是簡(jiǎn)單的一輛商務(wù)車,而是有很多輛車組成,而且車型也不再單一,這使得單位車輛信息復(fù)雜化。因此我們將發(fā)揮計(jì)算機(jī)的龐大的存儲(chǔ)空間,高性能的處理能力,高度可靠的數(shù)據(jù)安全,清晰的可視化數(shù)據(jù)等這些優(yōu)勢(shì)來輔助單位對(duì)車輛進(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ì)說明。關(guān)鍵詞: 車輛管理,信息系統(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開發(fā)的背景和意義41.3系統(tǒng)設(shè)計(jì)的目標(biāo)和主要內(nèi)容4第二章系統(tǒng)開發(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用戶管理模塊1152 車輛管理模塊115.2.1 車輛信息的添加115.2.2 車輛信息的修改125.2.3 車輛信息的查詢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)用到人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。計(jì)算機(jī)軟件技術(shù)應(yīng)用于信息管理是發(fā)展的必然。作為計(jì)算機(jī)應(yīng)用的一部分,充分發(fā)揮計(jì)算機(jī)的優(yōu)勢(shì),將大量復(fù)雜的數(shù)據(jù)交給計(jì)算機(jī)來處理,有著手工管理所無法比擬的優(yōu)點(diǎn)。如:查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高信息管理的效率,是真正意義上的合理利用資源,也是企事業(yè)管理科學(xué)化、正規(guī)化,與世界接軌的重要條件。1.1 信息管理系統(tǒng)簡(jiǎn)介管理信息系統(tǒng),即我們常說的mis(management information system),在強(qiáng)調(diào)管理,強(qiáng)調(diào)信息的現(xiàn)代化社會(huì)中變的越來越普及。mis是一門新學(xué)科,它跨越了若干領(lǐng)域,比如管理科學(xué)、系統(tǒng)科學(xué)、運(yùn)籌學(xué)、統(tǒng)計(jì)學(xué)和計(jì)算機(jī)科學(xué)等。在這些學(xué)科的基礎(chǔ)上,形成信息收集和加工的方法,從而形成了一個(gè)復(fù)雜的有條理的系統(tǒng)。目前,由于開發(fā)高質(zhì)量管理信息系統(tǒng)mis 的能力大大落后計(jì)算機(jī)硬件日新月異的進(jìn)展,加上社會(huì)對(duì)管理信息系統(tǒng)mis 發(fā)展和完善需求的增加以及對(duì)管理信息系統(tǒng)mis開發(fā)過程中出現(xiàn)的錯(cuò)誤認(rèn)識(shí)和行為而導(dǎo)致mis開發(fā)的失敗,這些情況已嚴(yán)重妨礙了計(jì)算機(jī)技術(shù)的進(jìn)步。因此對(duì)mis有關(guān)的內(nèi)容進(jìn)行深入研究,提高工作效率,提高管理信息系統(tǒng)mis開發(fā)成功率已變得十分重要。1.2開發(fā)的背景和意義隨著經(jīng)濟(jì)的日益增長(zhǎng),車輛作為最重要的交通工具,在企事業(yè)單位中得以普及,單位的車輛數(shù)目已經(jīng)遠(yuǎn)遠(yuǎn)不止簡(jiǎn)單的幾輛,與此同時(shí)就產(chǎn)生了車輛資源的合理分配使用問題。該問題涉及到車輛的檔案管理;駕駛員檔案管理;車輛(維修費(fèi)用、洗車費(fèi)用、養(yǎng)路費(fèi)、燃料費(fèi)用等)管理;車輛使用管理和交通事故管理等。如何對(duì)一個(gè)企事業(yè)單位的車輛進(jìn)行合理分配使用,使其發(fā)揮最大的使用價(jià)值,所以該系統(tǒng)對(duì)于一個(gè)用車單位來說,不但可以對(duì)車輛的使用進(jìn)行合理的管理,而且對(duì)車輛的使用情況進(jìn)行跟蹤記錄,這對(duì)于單位車輛責(zé)任到人,費(fèi)用清晰,避免責(zé)任混亂、費(fèi)用虛假等一系列相應(yīng)問題的解決。1.3系統(tǒng)設(shè)計(jì)的目標(biāo)和主要內(nèi)容車輛管理系統(tǒng)是一個(gè)協(xié)助各單位進(jìn)行全面的車輛管理的系統(tǒng)。包括車輛檔案管理;駕駛員檔案管理;車輛運(yùn)營(yíng)信息管理;車輛事故信息管理;車輛維修信息管理;車輛費(fèi)用管理等幾個(gè)功能模塊。各模塊之間的部分?jǐn)?shù)據(jù)必須統(tǒng)一,如車輛事故信息管理模塊中的駕駛員,事故車輛必然來自司機(jī)模塊和車輛信息模塊,為了可以靈活的處理數(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ù),可以方便用戶靈活的處理數(shù)據(jù)。同時(shí)也提供強(qiáng)大數(shù)據(jù)報(bào)表功能。和普通系統(tǒng)一樣,該系統(tǒng)也具有一個(gè)對(duì)系統(tǒng)用戶進(jìn)行管理的,用戶管理模塊,包括用戶添加,用戶密碼的修改,用戶的刪除(只限administrator)。第二章系統(tǒng)開發(fā)的相關(guān)技術(shù)單位車輛管理系統(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 能夠快速的開發(fā)友好的用戶界面,而且有良好的數(shù)據(jù)庫(kù)接口,因此,系統(tǒng)開發(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)用程序開發(fā)工具,具有直觀的開發(fā)界面、先進(jìn)的程序設(shè)計(jì)思想,是目前最為廣泛的、易學(xué)易用的面向?qū)ο蟮拈_發(fā)工具。visual basic提供了大量的控件,這些控件可用于設(shè)計(jì)界面和實(shí)現(xiàn)各種功能,減少了編程人員的工作量,也簡(jiǎn)化了界面設(shè)計(jì)過程,從而有效的提高了應(yīng)用程序的運(yùn)行效率和可靠性。vb同時(shí)提供的一套完善的編譯和調(diào)試系統(tǒng),使得在開發(fā)過程中可以很好的解決開發(fā)過程中出現(xiàn)的一系列問題。vb還提供了軟件發(fā)布功能,使得開發(fā)、調(diào)試到發(fā)布可以一步完成。故而,實(shí)現(xiàn)本系統(tǒng)vb是一個(gè)相對(duì)較好的選擇。visual basic6.0是一門面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,在開發(fā)過程中以對(duì)象為開發(fā)元素,每一個(gè)對(duì)象都具有一些特性和行為(屬性、事件和 方法)。開發(fā)人員可以最有效利用所創(chuàng)建的每一個(gè)對(duì)象。同時(shí),用戶還可以自己開發(fā)控件,從而滿足用戶的不同的需求,這樣變使得應(yīng)用程序具有可通用性可說擴(kuò)展性和強(qiáng)有力的功能。211開發(fā)工具的選擇現(xiàn)在,市場(chǎng)上可以選購(gòu)的應(yīng)用開發(fā)產(chǎn)品很多,流行的也有數(shù)十種。目前在我國(guó)市場(chǎng)上最為流行、使用最多、最為先進(jìn)的可用作企業(yè)級(jí)開發(fā)工具的產(chǎn)品有:microsoft公司的visual basic.microsoft公司的visual c.borland公司的delphi. powersoft公司的powerbulider在目前市場(chǎng)上這些眾多的程序開發(fā)工具中,有些強(qiáng)調(diào)程語(yǔ)言的彈性與執(zhí)行效率;有些則偏重于可視化程序開發(fā)工具所帶來的便利性與效率的得高,各有各的優(yōu)點(diǎn)和特色,也滿足了不同用戶的需求。然而,語(yǔ)言的彈性和工具的便利性是密不可分的,只有便利的工具,卻沒有彈性的語(yǔ)言作支持,許多特殊化的處理動(dòng)作必需要耗費(fèi)數(shù)倍的工夫來處理,使得原來所標(biāo)榜的效率提高的優(yōu)點(diǎn)失去了作用;相反,如果只強(qiáng)調(diào)程語(yǔ)言的彈性,卻沒有便利的工具作配合,會(huì)使一些即使非常簡(jiǎn)單的界面處理動(dòng)作,也會(huì)嚴(yán)重地浪費(fèi)程序設(shè)計(jì)師的寶貴時(shí)間。作為數(shù)據(jù)庫(kù)系統(tǒng)的開發(fā),visual basic是一個(gè)非常理想選擇。數(shù)據(jù)庫(kù)是mis中的重要支持技術(shù),在mis開發(fā)過程中,如何選擇數(shù)據(jù)庫(kù)管理是一個(gè)重要的問題,目前,數(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ǔ)言,該開發(fā)工具具有很多長(zhǎng)處:visual basic是一種可視化的、面對(duì)對(duì)象和條用事件驅(qū)動(dòng)方式的結(jié)構(gòu)化高級(jí)程序設(shè)計(jì),可用于開發(fā)windows環(huán)境下的種類應(yīng)用程序。它簡(jiǎn)單易學(xué)、效率高,且功能強(qiáng)大,可以與windows的專業(yè)開發(fā)工具sdk相媲美,而且程序開發(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)、開放式數(shù)據(jù)訪問(odbc)等技術(shù),可以高效、快速地開發(fā)出windows環(huán)境下功能強(qiáng)大、圖形界面豐富的應(yīng)用軟件系統(tǒng)。總的來說,visual basic具有以下特點(diǎn):可視化編程:用傳統(tǒng)程序設(shè)計(jì)語(yǔ)言設(shè)計(jì)程序時(shí),都是通過編寫程序代碼來設(shè)計(jì)用戶界面,在設(shè)計(jì)過程中看不到界面的實(shí)際顯示效果,必須編譯后運(yùn)行程序才能觀察。如果對(duì)界面的效果不滿意,還要回到程序中修改。有時(shí)候,這種編程-編譯-修改的操作可能要反復(fù)多次,大大影響了軟件開發(fā)效率。visual basic提供了可視化設(shè)計(jì)工具,把windows界面設(shè)計(jì)的復(fù)雜性“封裝”起來,開發(fā)人員不必為界面設(shè)計(jì)而編寫大量程序代碼。只需要按設(shè)計(jì)要求的屏幕布局,用系統(tǒng)提供的工具,在屏幕上畫出各種“部件”,即圖形對(duì)象,并設(shè)置這些圖形對(duì)象的屬性。visual basic自動(dòng)產(chǎn)生界面設(shè)計(jì)代碼,程序設(shè)計(jì)人員只需要編寫實(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ù)封裝起來作為一個(gè)對(duì)象,并為每個(gè)對(duì)象賦予應(yīng)有的屬性,使對(duì)象成為實(shí)在的東西。在設(shè)計(jì)對(duì)象時(shí),不必編寫建立和描述每個(gè)對(duì)象的程序代碼,而是用工具畫在界面上,visual basic自動(dòng)生成對(duì)象的程序代碼并封裝起來。每個(gè)對(duì)象以圖形方式顯示在界面上,都是可視的。結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言visual basic是在basic語(yǔ)言的基礎(chǔ)上發(fā)展起來的,具有高級(jí)程序設(shè)計(jì)語(yǔ)言的語(yǔ)句結(jié)構(gòu),接近于自然語(yǔ)言和人類的邏輯思維方式。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程序的過程中,隨時(shí)可以運(yùn)行程序,而在整個(gè)程序設(shè)計(jì)好之后,可以編譯生成可執(zhí)行文件(.exe),脫離visual basic環(huán)境,直接在windows環(huán)境下運(yùn)行。事件驅(qū)動(dòng)編程機(jī)制visual basic通過事件來執(zhí)行對(duì)象的操作。一個(gè)對(duì)象可能會(huì)產(chǎn)生多個(gè)事件,每個(gè)事件都可以通過一段程序來響應(yīng)。例如,命令按鈕是一個(gè)對(duì)象,當(dāng)用戶單擊該按鈕時(shí),將產(chǎn)生一個(gè)“單擊“(click)事件,而在產(chǎn)生該事件時(shí)將執(zhí)行一段程序,用來實(shí)現(xiàn)指定的操作。在用visual basic設(shè)計(jì)大型應(yīng)用軟件時(shí),不必建立具有明顯開始和結(jié)束的程序,而是編寫若干個(gè)微小的子程序,即過程。這些過程分別面向不同的對(duì)象,由用戶操作引發(fā)某個(gè)事件來驅(qū)動(dòng)完成某種特定的功能,或者由事件驅(qū)動(dòng)程序調(diào)用通用過程來執(zhí)行指定的操作,這樣可以方便編程人員,提高效率。訪問數(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還能直接編輯和訪問其他外部數(shù)據(jù)庫(kù),如dbase,foxpro,paradox等,這些數(shù)據(jù)庫(kù)格式都可以用visual basic編輯和處理。visual basic提供開放式數(shù)據(jù)連接,即odbc功能,可通過直接訪問或建立連接的方式使用并操作后臺(tái)大型網(wǎng)絡(luò)數(shù)據(jù)庫(kù),如sql server,oracle等。在應(yīng)用程序中,可以使用結(jié)構(gòu)化查詢語(yǔ)言sql數(shù)據(jù)標(biāo)準(zhǔn),直接訪問服務(wù)器上的數(shù)據(jù)庫(kù),并提供了簡(jiǎn)單的面向?qū)ο蟮膸?kù)操作指令和多用戶數(shù)據(jù)庫(kù)訪問的加鎖機(jī)制和網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的sql的編程技術(shù),為單機(jī)上運(yùn)行的數(shù)據(jù)庫(kù)提供了sql網(wǎng)絡(luò)接口,以便在分布式環(huán)境中快速而有效地實(shí)現(xiàn)客戶/服務(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)起來,再嵌入(embed)某個(gè)應(yīng)用程序中,從而可以得到具有聲音、影像、圖像、動(dòng)畫、文字等各種信息的集合式的文件。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),這種文檔由來自多個(gè)不同應(yīng)用程序的對(duì)象組成,文檔中的每個(gè)對(duì)象都與原來的應(yīng)用程序相聯(lián)系,并可執(zhí)行與原來應(yīng)用程序完全相同的操作。動(dòng)態(tài)鏈接庫(kù)(dll)visual basic是一種高級(jí)程序設(shè)計(jì)語(yǔ)言,不具備低級(jí)語(yǔ)言的功能,對(duì)訪問機(jī)器硬件的操作不太容易實(shí)現(xiàn)。但它可以通過動(dòng)態(tài)鏈接庫(kù)技術(shù)將c/c+或匯編語(yǔ)言編寫的程序加入到visual basic應(yīng)用程序中,可以像調(diào)用內(nèi)部函數(shù)一樣調(diào)用其他語(yǔ)言編寫的函數(shù)。此外,通過動(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ù)開發(fā)工具,數(shù)據(jù)庫(kù)能匯集各種信息以供查詢、存儲(chǔ)和檢索。access 的優(yōu)點(diǎn)在于它能使用數(shù)據(jù)表示圖或自定義窗體收集信息。數(shù)據(jù)表示圖提供了一種類似于 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ò)用戶共享數(shù)據(jù)庫(kù)。access 是一種關(guān)系數(shù)據(jù)庫(kù)工具,關(guān)系數(shù)據(jù)庫(kù)是已開發(fā)的最通用的數(shù)據(jù)庫(kù)之一。如上所述,access 作為關(guān)系數(shù)據(jù)庫(kù)開發(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ù)打交道的途徑,我們是通過它以及visual basic 來訪問數(shù)據(jù)庫(kù)并對(duì)其進(jìn)行各種操作。visual basic、access以及其他微軟的軟件產(chǎn)品都是通過共用jet數(shù)據(jù)庫(kù)引擎,從而給用戶提供了豐富的數(shù)據(jù)類型。data 控件在數(shù)據(jù)庫(kù)中的信息與將信息顯示給用戶看的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)集合)類型的記錄集合。一個(gè)記錄集合是動(dòng)態(tài)的也就意味著,當(dāng)原來的數(shù)據(jù)表中的容改變了以后,該記錄集合中的記錄也會(huì)隨之改變。data控件還提供了用來瀏覽不同記錄的各種跳轉(zhuǎn)按鈕。將data控件放置在窗體中之后,我們還必須在該控件與要處理的數(shù)據(jù)庫(kù)之間建立聯(lián)系。22 關(guān)系型數(shù)據(jù)庫(kù)的選擇sql server是一種功能強(qiáng)大的數(shù)據(jù)庫(kù)開發(fā)工具,數(shù)據(jù)庫(kù)匯集了信息以供查詢、存儲(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è)管理器,其中的視圖可以直觀的進(jìn)行數(shù)據(jù)處理,同時(shí)支持直觀的數(shù)據(jù)庫(kù)設(shè)計(jì),也可以通過詞法分析器,使用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ò)大,車輛作為最主要的交通工具在企業(yè)中已經(jīng)大量存在,為了合理控制這些信息,最佳的調(diào)配各部門的車輛使用,采用網(wǎng)絡(luò)數(shù)據(jù)庫(kù)是最理想的選擇。sql server服務(wù)器提供了可靠的數(shù)據(jù)保障,可以自動(dòng)數(shù)據(jù)備份和訪問日志的記錄,可以進(jìn)行詳細(xì)的數(shù)據(jù)分析等操作。采用c/s模式的設(shè)計(jì),可以更加合理的利用企業(yè)資源,使得數(shù)據(jù)集中在一臺(tái)服務(wù)器上,從來節(jié)省了數(shù)據(jù)庫(kù)管理的人力資源,也使得由于非專業(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ù)訪問范例 ole db 而設(shè)計(jì)的,是一個(gè)便于使用的應(yīng)用程序?qū)咏涌凇le db 為任何數(shù)據(jù)源提供了高性能的訪問,這些數(shù)據(jù)源包括關(guān)系和非關(guān)系數(shù)據(jù)庫(kù)、電子郵件和文件系統(tǒng)、文本和圖形、自定義業(yè)務(wù)對(duì)象等等。ado 在關(guān)鍵的 internet 方案中使用最少的網(wǎng)絡(luò)流量,并且在前端和數(shù)據(jù)源之間使用最少的層數(shù),所有這些都是為了提供輕量、高性能的接口。通過系統(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ò)大以及車輛作為最為普遍的交通工具,在企業(yè)中已經(jīng)不是單一的存在,由于單位車輛數(shù)目的急劇增加,與之相對(duì)應(yīng)的問題隨之而生,比如車輛的使用權(quán)問題,車輛的費(fèi)用問題等,不再是簡(jiǎn)單的少量的數(shù)據(jù)。為了解決這一系列的問題,我們必須借助于電腦的強(qiáng)大的數(shù)據(jù)處理能力和存儲(chǔ)能力,如此可以減少人力財(cái)力來維護(hù)這些數(shù)據(jù),可以用更少的投入來?yè)Q取更佳的數(shù)據(jù)管理。因此,在這樣的情況下,開發(fā)單位車輛管理系統(tǒng)是可行的,是必要的。如今,mis開發(fā)已經(jīng)慢慢的驅(qū)向成熟,車輛管理系統(tǒng)也有部分開發(fā),但是都還不是十分完善?,F(xiàn)今已經(jīng)開發(fā)的車輛管理系統(tǒng)都是針對(duì)以運(yùn)營(yíng)為主的具有盈利目的的單位。比如,公交管理、出租車管理、運(yùn)輸公司管理、汽車站點(diǎn)的管理,而這些管理最主要是針對(duì)盈利的管理,很少有針對(duì)各種汽車使用權(quán)、車輛調(diào)配等各種普通單位,不是以車輛運(yùn)營(yíng)為盈利手段的車輛管理,針對(duì)這點(diǎn),此系統(tǒng)就是適合如今大多數(shù)企業(yè)管理的信息管理系統(tǒng)。32 系統(tǒng)功能分析根據(jù)第3.1節(jié)分析,單位車輛管理系統(tǒng),應(yīng)該具備以下功能:1)車輛擋案管理(1) 車輛檔案輸入(2) 車輛檔案查詢(3) 車輛異動(dòng)列表(4) 車輛異動(dòng)查詢(5) 車輛報(bào)廢(6) 車輛報(bào)廢查詢2)車輛運(yùn)營(yíng)管理(1) 車輛運(yùn)營(yíng)列表(2) 車輛運(yùn)營(yíng)查詢(3) 清空運(yùn)營(yíng)表3)車輛管理(1) 維修管理(2) 違章管理(3) 事故管理4)駕駛員管理(1) 駕駛員檔案管理(2) 駕駛員檔案查詢(3) 駕駛員獎(jiǎng)罰5)系統(tǒng)維護(hù)(1) 系統(tǒng)初始化(2) 管理員設(shè)置(3) 數(shù)據(jù)備份(4) 數(shù)據(jù)恢復(fù)(5) 退出系統(tǒng)功能模塊圖,如圖3.1車輛管理系統(tǒng)維護(hù)駕駛員管理車輛管理車輛運(yùn)營(yíng)管理車輛擋案管理 數(shù)據(jù)表:1.車輛報(bào)廢表本表的主要作用是裝載車輛的基本信息情況。2. 車輛檔案本表主要用于車輛檔案信息。3. 車輛事故表本表主要用于車輛事故表的信息。4. 車輛違章表本表主要用于車輛違章表憑證。5. 車輛維修表本表主要用于車輛維修表數(shù)據(jù)字典數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是對(duì)數(shù)據(jù)流圖中包含的所有元素的定義的集合。任何字典最主要的用途都是供人查閱對(duì)不了解的條目的解釋。數(shù)據(jù)字典的作用是在軟件分析和設(shè)計(jì)的過程中給人提供關(guān)于數(shù)據(jù)的描述信息。數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型,沒有數(shù)據(jù)字典,數(shù)據(jù)流圖就不嚴(yán)格,然而沒有數(shù)據(jù)流圖數(shù)據(jù)字典也難于發(fā)揮作用。只有數(shù)據(jù)流圖和對(duì)數(shù)據(jù)流圖的精確定義放在一起,才能共同構(gòu)成系統(tǒng)的規(guī)格說明。系統(tǒng)開發(fā)時(shí),常用卡片的形式書寫保存描述一個(gè)數(shù)據(jù)元素。下面給出本系統(tǒng)的主要數(shù)據(jù)元素的數(shù)據(jù)字典索引卡片:名字:報(bào)廢列名:報(bào)廢描述:唯一地標(biāo)識(shí)專業(yè)基本狀況表的一個(gè)特定關(guān)鍵域定義:報(bào)廢20字符20位置:報(bào)廢表 名字:事故列名:事故描述:唯一地標(biāo)識(shí)事故基本狀況表的一個(gè)特定關(guān)鍵域定義:事故10字符10位置:事故信息表 名字:違章名稱描述:唯一地標(biāo)識(shí)員工基本狀況表的一個(gè)特定關(guān)鍵域定義:違章名稱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)開發(fā)的工作量,提高工作效率。數(shù)據(jù)庫(kù)設(shè)計(jì)應(yīng)該充分考慮系統(tǒng)的需求,包括現(xiàn)在的需求,也要考慮將來的需求。(1)數(shù)據(jù)庫(kù)的概念數(shù)據(jù)庫(kù)處理在信息系統(tǒng)的研究中一直是非常重要的主題,然而,近年來,隨著world wide web(www)的猛增及internet技術(shù)的迅速發(fā)展,使得數(shù)據(jù)庫(kù)技術(shù)之時(shí)成為最熱門技術(shù)之一。數(shù)據(jù)庫(kù)技術(shù)能使internet應(yīng)用超越具有早期應(yīng)用特點(diǎn)的簡(jiǎn)單的發(fā)布。同時(shí),internet技術(shù)提供了一種向用戶發(fā)布數(shù)據(jù)庫(kù)內(nèi)容的標(biāo)準(zhǔn)化的訪問方法。這些技術(shù)沒有脫離經(jīng)典數(shù)據(jù)庫(kù)技術(shù)的要求。它們只是加重了數(shù)據(jù)庫(kù)技術(shù)的重要性。數(shù)據(jù)庫(kù)的設(shè)計(jì)和開發(fā)及包括藝術(shù)有包括工程。理解用戶的需求,然后,把它們轉(zhuǎn)變?yōu)橛行У臄?shù)據(jù)庫(kù)設(shè)計(jì)是一個(gè)藝術(shù)過程。把設(shè)計(jì)轉(zhuǎn)變?yōu)閷?shí)際的數(shù)據(jù)庫(kù),并且這些數(shù)據(jù)庫(kù)帶有功能完備、高效能的應(yīng)用,是一個(gè)工程過程。數(shù)據(jù)庫(kù)的目的是幫助人們跟蹤事務(wù)。經(jīng)典的數(shù)據(jù)庫(kù)應(yīng)用涉及諸如訂單、顧客、工作、員工、學(xué)生、電話之類的項(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ù)也被越來越多地應(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ī)模,無論是相對(duì)于手工方式,還是機(jī)械方式,都有無可比擬的優(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)該首先了解用戶的各個(gè)方面的需求,包括現(xiàn)有的以及將來可能增加的。(2)創(chuàng)建數(shù)據(jù)庫(kù)文件如果操作系統(tǒng)中安裝了access2000的話,可以在開始菜單的程序菜單中可以找到。如下所示:打開access2000之后,會(huì)開啟一個(gè)窗口,可選擇是打開以前的數(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ì)話框中選”使用設(shè)計(jì)器創(chuàng)建表”,上面還有三個(gè)按鈕,一個(gè)是打開,一個(gè)是設(shè)計(jì),一個(gè)是新建,點(diǎn)擊設(shè)計(jì),就可以開始設(shè)計(jì)數(shù)據(jù)表了。 出現(xiàn)設(shè)計(jì)的界面后,就可以開始設(shè)計(jì)數(shù)據(jù)表了!(4) vb連接access2000數(shù)據(jù)庫(kù)用vb編寫一個(gè)管理軟件,如果不能連接數(shù)據(jù)庫(kù),那也沒有什么用處。先看看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 打開數(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)功能的分析可以得知,用戶的具體需求主要體現(xiàn)在各種信息的輸入、保存、查詢和更新,這就要求數(shù)據(jù)庫(kù)能充分滿足各種信息的輸入和輸出。經(jīng)過對(duì)企業(yè)車輛管理的過程得如下流程圖。如圖4.1圖4.1駕駛員登記車輛登記駕駛員基本信息管理車輛基本信息管理基本信息錄入基本信息錄入業(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í)體、車輛實(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)駕車型圖4.2各實(shí)體之間關(guān)系的e-r圖,如圖4.3駕駛員車輛業(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)過以上需求分析和概念設(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)用戶表:該表主要包括該系統(tǒng)用戶的信息和管理員的信息。2)駕駛員:該表存放的是司機(jī)的基本信息,主要包括駕照、姓名、性別、出生年月、家庭住址、準(zhǔn)駕車型、考取駕照的時(shí)間等等。3)車輛檔案:表主要存放車輛的基本信息,主要包括車牌、車型、車主、發(fā)動(dòng)機(jī)號(hào)、車架號(hào)、廠家型號(hào)、車重、核定載客等信息。4)車輛運(yùn)營(yíng)信息表:該表主要包括了運(yùn)營(yíng)的車輛、運(yùn)營(yíng)的司機(jī)、運(yùn)營(yíng)開始和結(jié)束的時(shí)間、運(yùn)營(yíng)的距離以及運(yùn)營(yíng)的耗費(fèi)等。5)車輛維修信息表(repair):該表主要存放維修的車輛牌照、維修的日期、維修部門、維修項(xiàng)目、維修價(jià)格、維修配件等。6)車輛事故信息表(accident):該表存放的是車輛事故的信息,主要包括事故車輛、事故時(shí)間、事故地點(diǎn)、事故原因、事故對(duì)方的一些信息等,還有處、處理方式等信息第五章 系統(tǒng)實(shí)施(模塊功能和詳細(xì)思路)51用戶管理模塊用戶管理模塊主要功能是用戶的添加、修改密碼和刪除。添加用戶是所有用戶都具有的功能,要求提供用戶名和密碼,以及密碼的確認(rèn)這里不做詳細(xì)展開。密碼的修改,考慮到用戶的安全性,在修改密碼的同時(shí),要求對(duì)原密碼的確認(rèn),對(duì)于確認(rèn)密碼是用戶在登錄時(shí)候,在與數(shù)據(jù)庫(kù)用戶密碼審核的時(shí)候?qū)⒚艽a讀入到全局變量password,在用戶進(jìn)行密碼修改的時(shí)候?qū)⑤斎氲脑艽a框與password進(jìn)行比較,通過在核定兩次密碼輸入是否一致,這樣就實(shí)現(xiàn)了用戶密碼的安全修改。對(duì)于用戶的刪除,充分考慮了系統(tǒng)安全問題,在數(shù)據(jù)庫(kù)建立的時(shí)候,初始化了一個(gè)超級(jí)管理員administrator,同時(shí)也有一個(gè)全局變量username與之對(duì)應(yīng),用于用戶名的校對(duì)。只有用戶名為administrator的時(shí)候才允許對(duì)用戶進(jìn)行刪除。用戶的刪除對(duì)于超級(jí)管理員是完全透明的,當(dāng)用超級(jí)管理員登錄后,使用刪除用戶操作時(shí),系統(tǒng)將從數(shù)據(jù)庫(kù)用戶表中讀取所有的用戶名,管理員之需選定即可刪除,所以說對(duì)于超級(jí)管理員是完全透明的,其中超級(jí)管理員不允許被刪除。如圖5.1所示,其中有兩個(gè)用戶admin和yjyzd是允許被刪除的。52 車輛管理模塊5.2.1 車輛信息的添加車輛基本信息主要包括車輛牌照、車型、發(fā)動(dòng)機(jī)號(hào)等一系列信息,在信息輸入完畢后,對(duì)各項(xiàng)信息進(jìn)行確認(rèn)。首先車輛牌照是唯一的,所以在寫入數(shù)據(jù)庫(kù)之前,先對(duì)數(shù)據(jù)庫(kù)進(jìn)行一次查詢,查詢是否存在這個(gè)即將被錄入的車輛牌照,如此即避免了車輛的重復(fù)登記。車型、車主、牌照和發(fā)動(dòng)機(jī)號(hào)則不允許被省略,目的是為了別的模塊的連接和本身的查詢。對(duì)車重和核定載客則可以為空,但當(dāng)判斷不為空是,就用isnumeric()進(jìn)行判斷,是否是數(shù)據(jù)類型,如果不是則提出警告。這就是對(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 車輛信息的修改車輛信息的修改操作是在兩個(gè)窗體上面實(shí)現(xiàn)的。首先,當(dāng)調(diào)用修改功能的時(shí)候,系統(tǒng)將自動(dòng)調(diào)用一個(gè)frmvehiclelist窗體,此窗體專門用于數(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控件,為了控制界面的美觀,用一專門的初始化函數(shù)form_resize(),數(shù)據(jù)的顯示實(shí)現(xiàn)的主要思想是,先根據(jù)條件進(jìn)行數(shù)據(jù)庫(kù)查詢,默認(rèn)沒有條件時(shí)全體讀入,將數(shù)據(jù)查詢結(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)各字段名稱的顯示和控制其寬度。在這個(gè)窗體里面有一個(gè)公共變量txtsql,用于傳遞查詢操作的sql語(yǔ)句,如果不是查詢操作,即sql語(yǔ)句傳入,則自動(dòng)賦以查詢所有數(shù)據(jù)命令。如果是查詢操作,則將查詢sql語(yǔ)句賦值給txtsql,然后以這條查詢語(yǔ)句進(jì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ù)查詢 call osht.onrun(運(yùn)營(yíng)情況報(bào)表, alab, atxt, aper, 0)數(shù)據(jù)送到報(bào)表顯示該報(bào)表提供了強(qiáng)大的手工修改工具,用戶可以根據(jù)自己需求對(duì)表頭、紙張、字體、顏色等做一系列的手工修改,如圖5.2所示。通過上面frmvehiclelist從數(shù)據(jù)庫(kù)中讀出了數(shù)據(jù),我們就可以選定需要修改的記錄,然后用右鍵或者菜單中的修改信息,來修改選定的信息,當(dāng)你選定了一條記錄并選擇修改后,gintvmode將被標(biāo)志成2,系統(tǒng)把這條記錄讀出,當(dāng)發(fā)現(xiàn)標(biāo)志為gintvmode為2的時(shí)候,系統(tǒng)就把這條記錄分別賦值給添加信息的那個(gè)窗體,并將窗體名稱改成修改,修改完畢后,首先在數(shù)據(jù)庫(kù)中以車牌為關(guān)鍵字刪除這條記錄,然后重新插入新記錄,如此就實(shí)現(xiàn)了數(shù)據(jù)的修改。5.2.3 車輛信息的查詢此模塊的查詢操作允許對(duì)任何字段進(jìn)行查詢,具體查詢界面如圖5.3所示查詢結(jié)果的實(shí)現(xiàn)也是通過5.2.2中介紹的frmvehiclelist來實(shí)現(xiàn)的,在查詢模塊中,通過用戶對(duì)查詢關(guān)鍵字的選擇,系統(tǒng)生成一個(gè)sql命令,傳遞給frmvehiclelist窗體的公共變量txtsql,進(jìn)行查詢,然后就在frmvehiclelist的msflexgrid控件中顯示出來,這樣便實(shí)現(xiàn)了數(shù)據(jù)的查詢。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ī)信息的添加和修改窗體,它類似于以上詳細(xì)介紹的車輛信息窗體,它也是有一個(gè)全局變量gintdmode來控制是處于添加狀態(tài)還是修改狀態(tài),用另外一個(gè)全局變量flagdedit來標(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ù)顯示窗體與車輛信息管理模塊基本一致,不再做詳細(xì)的介紹。查詢窗體,是允許對(duì)三個(gè)關(guān)鍵字進(jìn)行查詢,如圖5.4所示,只允許對(duì)其中一個(gè)關(guān)鍵字進(jìn)行查詢,實(shí)現(xiàn)思想是,根據(jù)用戶對(duì)關(guān)鍵字的選擇和填寫,自動(dòng)生成一個(gè)sql語(yǔ)句,賦值給顯示窗體frmdriverlist的公共變量txtsql,然后進(jìn)行查詢最后將用戶的查詢結(jié)果在在窗體中顯示出來,這樣便實(shí)現(xiàn)了數(shù)據(jù)的查詢。5.3.2 事故、維修息管理模塊這三個(gè)模塊基本的輸入輸出功能與前面介紹的模塊大體相似,在信息錄入的時(shí)候,司機(jī)和車輛牌照信息,考慮到數(shù)據(jù)庫(kù)各表之間的統(tǒng)一,在這三個(gè)模塊中的司機(jī)名稱和車輛牌照兩個(gè)數(shù)據(jù)項(xiàng)是從前面的數(shù)據(jù)庫(kù)中讀取的,自動(dòng)添加到這邊窗體中的combobox中,用戶只需直接選取即可。與前面幾個(gè)模塊不同的地方還在于數(shù)據(jù)庫(kù)中數(shù)據(jù)讀取不能像前面的車輛模塊一樣只用車輛牌照就可以唯一的確定一條記錄。比如維修信息表,一輛車可能存在很多維修記錄,這樣在數(shù)據(jù)查詢的時(shí)候,就出現(xiàn)了不確定性,在這個(gè)問題是我們采用了聯(lián)合查詢,一輛車可以有很多維

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論