版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 摘 要</b></p><p> 本課題的研究應(yīng)用于地鐵或與地鐵相類似的企業(yè)進(jìn)行車輛和人員的信息化管理,使管理者的管理工作更為方便、快捷。</p><p> 地鐵車輛管理信息系統(tǒng)是典型的管理信息系統(tǒng)(MIS),本系統(tǒng)以軟件工程思想為指導(dǎo),其系統(tǒng)開發(fā)主要包括數(shù)據(jù)庫(kù)的規(guī)劃設(shè)計(jì)與維護(hù)、客戶端應(yīng)用程序的兩個(gè)方面。對(duì)于前者要求建立起的數(shù)據(jù)庫(kù)具
2、有完整性和一致性,且具有一定的數(shù)據(jù)安全性。而對(duì)于后者則要求程序界面友好、功能完備、容易使用,具有流行軟件的操作習(xí)慣等特點(diǎn)。經(jīng)過詳細(xì)的調(diào)查分析,我使用SQL Server 2000作為后臺(tái)數(shù)據(jù)庫(kù)的開發(fā),使用Visual Basic 6.0作為前端開發(fā)工具,利用其提供的集成開發(fā)環(huán)境及支持面向?qū)ο蟮母鞣N標(biāo)準(zhǔn)化的控件,尤其是對(duì)ADO的支持完成對(duì)數(shù)據(jù)庫(kù)的各種操作。達(dá)到對(duì)地鐵車輛及人員信息管理的目的。設(shè)計(jì)時(shí)首先在短時(shí)間內(nèi)先建立系統(tǒng)應(yīng)用原型,然后對(duì)初
3、始化原型系統(tǒng)進(jìn)行需求迭代,不斷修正和改進(jìn),直到形成用戶滿意的實(shí)際可行系統(tǒng)。</p><p> 該軟件大大降低了地鐵車輛和人員管理的難度,提高了管理工作的工作效率,對(duì)推進(jìn)地鐵公司的信息化建設(shè)起到了非常重要的作用。</p><p> 關(guān)鍵詞:地鐵車輛,管理,信息系統(tǒng),車輛管理,乘務(wù)員管理</p><p><b> Abstract</b>&l
4、t;/p><p> This subject is about the metro car and person management of subway and the similar corporation so as to the manage work easier and faster.</p><p> The Metro Car MIS is a typical MIS, g
5、uiding of the software engineering. The system development including the database design and maintain, the application of client. The former needs a complete, uniform and safe database, the latter has the popular softwar
6、e character and needs the friendly interface, perfect function and easy to use. So I take the SQL Server 2000 to develop the background database and Visual Basic 6.0 to develop the system environment and the control espe
7、cially the operation of</p><p> This system greatly reduced the difficulty of metro car and person management of subway, advance the efficiency and play important roles to the Subway Company MIS constructio
8、n.</p><p> Key Words: Metro car, Management, MIS, Vehicle management, trainman management</p><p><b> 目 錄</b></p><p><b> 摘 要I</b></p><p>
9、AbstractII</p><p><b> 目 錄III</b></p><p> 第 1 章 需求分析與技術(shù)選用1</p><p> 1.1 項(xiàng)目的背景1</p><p> 1.2 需求分析1</p><p> 1.3 相關(guān)技術(shù)分析2</p><p
10、> 1.3.1 前臺(tái)開發(fā)工具的對(duì)比2</p><p> 1.3.2 后臺(tái)數(shù)據(jù)庫(kù)的對(duì)比2</p><p> 1.4 課題的軟件選用3</p><p> 1.4.1 前臺(tái)開發(fā)工具的選用3</p><p> 1.4.2 后臺(tái)數(shù)據(jù)庫(kù)的選用4</p><p> 第 2 章 系統(tǒng)設(shè)計(jì)5</p&g
11、t;<p> 2.1總體功能設(shè)計(jì)5</p><p> 2.2 數(shù)據(jù)庫(kù)存儲(chǔ)設(shè)計(jì)6</p><p> 2.2.1 數(shù)據(jù)庫(kù)建模6</p><p> 2.2.2 關(guān)系描述的設(shè)計(jì)8</p><p> 2.3 模塊設(shè)計(jì)8</p><p> 2.3.1 公用模塊設(shè)計(jì)8</p>&l
12、t;p> 2.3.2 系統(tǒng)模塊設(shè)計(jì)9</p><p> 2.4 設(shè)計(jì)中遇到的問題及解決9</p><p> 2.4.1如何將Adodc控件與SQL Server 2000數(shù)據(jù)庫(kù)連接9</p><p> 2.4.2如何使用Connection對(duì)象的Execute方法返回記錄集10</p><p> 2.4.3 如何使用C
13、onnection對(duì)象連接SQL Server數(shù)據(jù)庫(kù)10</p><p> 第 3 章 系統(tǒng)的實(shí)現(xiàn)11</p><p> 3.1 數(shù)據(jù)存儲(chǔ)的實(shí)現(xiàn)11</p><p> 3.1.1 創(chuàng)建數(shù)據(jù)庫(kù)11</p><p> 3.1.2 表的創(chuàng)建12</p><p> 3.1.3 數(shù)據(jù)表結(jié)構(gòu)12</p&
14、gt;<p> 3.2 MDI主窗體設(shè)計(jì)16</p><p> 3.2.1 界面介紹16</p><p> 3.3主要功能模塊詳細(xì)設(shè)計(jì)18</p><p> 3.3.1車輛檔案管理18</p><p> 3.3.2人員檔案管理23</p><p> 3.3.3數(shù)據(jù)訪問技術(shù)的實(shí)現(xiàn)28
15、</p><p> 3.4 生成EXE文件和打包29</p><p> 3.4.1 生成EXE文件29</p><p> 3.4.2工程的打包操作30</p><p> 3.5 實(shí)現(xiàn)中遇到的問題及解決方法30</p><p> 3.5.1 問題一30</p><p> 3
16、.5.2 問題二31</p><p> 第 4 章 程序優(yōu)化及待開發(fā)的項(xiàng)目32</p><p> 4.1程序優(yōu)化32</p><p> 4.2 待開發(fā)的項(xiàng)目32</p><p><b> 結(jié) 束 語(yǔ)33</b></p><p><b> 致 謝34</b&g
17、t;</p><p> 參 考 文 獻(xiàn)35</p><p><b> 附 錄36</b></p><p> 附錄1.主界面工具欄的設(shè)計(jì)代碼:36</p><p> 附錄2.車輛檔案錄入窗體設(shè)計(jì)代碼:36</p><p> 附錄3.車輛檔案查詢窗體設(shè)計(jì)代碼:40</p&g
18、t;<p> 附錄4.人員檔案錄入窗體設(shè)計(jì)代碼:43</p><p> 附錄5.人員檔案查詢窗體設(shè)計(jì)代碼:47</p><p> 附錄6.管理員窗體的設(shè)計(jì)代碼:49</p><p> 附錄7.數(shù)據(jù)恢復(fù)設(shè)計(jì)代碼:53</p><p> 附錄8.數(shù)據(jù)備份設(shè)計(jì)代碼:54</p><p>
19、第 1 章 需求分析與技術(shù)選用</p><p><b> 1.1 項(xiàng)目的背景</b></p><p> 隨著我國(guó)經(jīng)濟(jì)的快速發(fā)展,地鐵已經(jīng)成為人們出行不可缺少的一種交通工具。但是,對(duì)于擁有大量車輛的地鐵公司來說,車輛的管理成為日常事務(wù)中的一項(xiàng)重要工作。如何讓管理人員及時(shí)了解每一組車、每一個(gè)乘務(wù)員的情況,提高車輛的使用效率,掌握人員動(dòng)態(tài),減少費(fèi)用支出,就成為管理層需要
20、解決的一個(gè)難題。為規(guī)范企業(yè)的內(nèi)部管理,提高企業(yè)管理質(zhì)量,更好的服務(wù)與廣大乘客,有效跟蹤管理每組列車的使用狀況,帶動(dòng)企業(yè)進(jìn)入車輛管理信息化、科學(xué)化,使企業(yè)的車輛管理更加科學(xué)、更加規(guī)范。</p><p><b> 1.2 需求分析</b></p><p> 車輛信息管理是地鐵公司每個(gè)車輛段都必須面對(duì)的工作,特別是近兩年,隨著地鐵線路的擴(kuò)展,車輛不斷的增多,人員不斷的添
21、加,從而給每個(gè)車輛段的車輛管理方面和人員管理方面都帶來不少的沖擊,特別是對(duì)于車輛段來說,地鐵車輛管理工作是至關(guān)重要的,但是一直以來我們都在使用傳統(tǒng)的人工方式管理車輛檔案和人員檔案,這種方式存在著許多缺點(diǎn),如:效率低、保密性差。另外隨著車輛數(shù)量的增加,其工作量也將大大增加,這必然增加了管理者的工作量和勞動(dòng)強(qiáng)度,同時(shí)產(chǎn)生大量的信息和數(shù)據(jù),這給車輛信息的查找、更新和維護(hù)都帶來了不少的困難。據(jù)調(diào)查,目前地鐵公司下屬的各車輛段中還有相當(dāng)一部分車輛
22、管理還停留在紙介質(zhì)的基礎(chǔ)上。這樣的管理機(jī)制已經(jīng)不能適應(yīng)時(shí)代發(fā)展的需要,其管理方法將浪費(fèi)許多人力和物力。</p><p> 隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)與技術(shù)日漸成熟和計(jì)算機(jī)應(yīng)用的普及,計(jì)算機(jī)已經(jīng)進(jìn)入人類社會(huì)生活的各個(gè)領(lǐng)域,并發(fā)揮著越來越重要的作用。目前地鐵公司下屬的各車輛段中還有相當(dāng)一部分車輛管理還停留在紙介質(zhì)的基礎(chǔ)上。這樣的管理機(jī)制已經(jīng)不能適應(yīng)時(shí)代發(fā)展的需要,其管理方法將浪費(fèi)許多人力和物力。然而使用計(jì)算
23、機(jī)對(duì)車輛檔案信息進(jìn)行管理,有著手工管理所無(wú)法比擬的優(yōu)點(diǎn),如:檢索迅速、查找方便、可靠性高、儲(chǔ)存量大、保密性好、壽命長(zhǎng)、成本低等,這些優(yōu)點(diǎn)能夠極大地提高車輛檔案管理的效率,也是地鐵行業(yè)或鐵路行業(yè)向科學(xué)化、正規(guī)化管理發(fā)展的必要條件,更是中國(guó)地鐵與世界接軌的重要條件。</p><p> 因此,開發(fā)一個(gè)能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄蔚能囕v管理信息系統(tǒng),將是非常必要的,也是十分及時(shí)地。借此機(jī)會(huì)利用已經(jīng)掌握的各種
24、專業(yè)知識(shí),結(jié)合實(shí)際應(yīng)用,開發(fā)一個(gè)車輛管理信息系統(tǒng)來幫助各車輛段進(jìn)行有效的管理,并可將其作為畢業(yè)設(shè)計(jì)課題。</p><p> 1.3 相關(guān)技術(shù)分析</p><p> 1.3.1 前臺(tái)開發(fā)工具的對(duì)比</p><p> Visual Basic 6.0具有強(qiáng)大的可視化程序設(shè)計(jì)和面向?qū)ο蟪绦蛟O(shè)計(jì)的功能,近年來得到了廣泛的應(yīng)用。對(duì)于開發(fā)工具而言,能夠編制Windows應(yīng)
25、用程序的可視化編程工具還有很多,所針對(duì)的編程領(lǐng)域也各有側(cè)重,就微軟系列的可視化開發(fā)工具而言,就有VB,Visual C++, Visual J++, Visual Foxpro等,</p><p> 1. Visual Basic與Visual C++的對(duì)比</p><p> VB與其家族中的老大VC相比,總體差距確實(shí)很明顯。但具體到數(shù)據(jù)庫(kù)開發(fā)方面,VB有其獨(dú)到的優(yōu)勢(shì)。VB在這方面所具
26、備的優(yōu)勢(shì)就是快速、簡(jiǎn)單、和功能完備。一個(gè)有經(jīng)驗(yàn)的程序員,在需求和設(shè)計(jì)都已完成的情況下,如果只是編碼和調(diào)試,使用VB大約不到一周就可以開發(fā)出一個(gè)功能比較完備的管理信息系統(tǒng),而如果使用VC,則時(shí)間很難確定,而且這樣做的人并不是佷多,除非是出于某些特殊需要。其中:</p><p> 2. Visual Basic與Visual FoxPro的對(duì)比</p><p> Visual FoxPro
27、主要面向中小型的開發(fā),它憑借著自帶數(shù)據(jù)庫(kù)的優(yōu)勢(shì),應(yīng)用也比較廣泛,但從程序執(zhí)行效率和通用性角度考慮,更多的人傾向于使用VB,因?yàn)橐粋€(gè)系統(tǒng)不僅僅就操縱數(shù)據(jù)庫(kù)這么簡(jiǎn)單,它還包括界面設(shè)計(jì)及其他必要信息的獲取與輸出,在這方面,VB相對(duì)占有更多的優(yōu)勢(shì)。</p><p> 3. Visual Basic與Delphi的對(duì)比</p><p> Delphi在系統(tǒng)開發(fā)方面同樣具有快速、簡(jiǎn)單的優(yōu)勢(shì)。而且D
28、elphi的編輯器是公認(rèn)最強(qiáng)的,至少?gòu)?qiáng)于VB,在做界面與其它控制方面,也似乎要超過VB。但不可否認(rèn),VB的簡(jiǎn)單性與開發(fā)環(huán)境的方便性,又為VB贏得了不少用戶??傊甐B更大眾化一些,更易于學(xué)習(xí),而Delphi更為嚴(yán)謹(jǐn),適合開發(fā)更大或要求更高的管理信息系統(tǒng)。</p><p> 除了微軟之外,其他公司也在為Windows操作平臺(tái)制作應(yīng)用程序開發(fā)工具,例如前Borland的公司出品的Delphi、C++ Bulider、
29、J++ Bulider等,其他一些公司出品的針對(duì)數(shù)據(jù)庫(kù)編程的PowerBulider,PowerDesigner等,不可否認(rèn),這些產(chǎn)品相當(dāng)出色,如果能夠熟練掌握將是編程者能力的體現(xiàn),但是必須承認(rèn),對(duì)Windows操作系統(tǒng)最熟悉的還是微軟,而且微軟本身Windows操作系統(tǒng)的源代碼采取不公開的策略,使得其他公司出產(chǎn)的產(chǎn)品在實(shí)現(xiàn)相同功能時(shí)多少都要走些彎路,最終,用戶在使用這些產(chǎn)品設(shè)計(jì)應(yīng)用程序時(shí),程序的效率將會(huì)受到影響。</p>
30、<p> 1.3.2 后臺(tái)數(shù)據(jù)庫(kù)的對(duì)比</p><p> 后臺(tái)數(shù)據(jù)庫(kù)平臺(tái)的選用,主要從管理者的角度來綜合權(quán)衡,包括安全性、數(shù)據(jù)訪問機(jī)制、管理的靈活性等,目前主要的數(shù)據(jù)庫(kù)有:FoxPro、Access、Excel、Oracle、Sybase、Informix、SQL Server等,其中網(wǎng)絡(luò)型的Oracl、Sybase 、SQL Server產(chǎn)品安全性遠(yuǎn)遠(yuǎn)高于桌面型的:FoxPro、Access、E
31、xcel等數(shù)據(jù)庫(kù)。</p><p> 1.桌面型的FoxPro、Access、Excel等數(shù)據(jù)庫(kù)主要應(yīng)用于單機(jī)環(huán)境,雖然一些后續(xù)產(chǎn)品(如Visual FoxPro 6.0等)也提供了一些諸如WEB發(fā)布的功能,但究其設(shè)計(jì)的目的還是基于小型的工作組級(jí)的應(yīng)用環(huán)境,表現(xiàn)在不提供并行分布的能力、沒有或不完備的安全性方案。</p><p> 例如Access數(shù)據(jù)庫(kù)。Access是一種關(guān)系型數(shù)據(jù)庫(kù),
32、利用Access系統(tǒng)開發(fā)數(shù)據(jù)管理軟件,一般不需要寫程序,只要根據(jù)任務(wù)提出的要求,通過鍵盤和鼠標(biāo)器,選擇必需的命令,就能夠開發(fā)出簡(jiǎn)單、實(shí)用、美觀大方的應(yīng)用軟件,有效地處理日常數(shù)據(jù)。Access有存儲(chǔ)文件單一(所有形式的相關(guān)數(shù)據(jù)都包含在一個(gè)以 .mdb為后綴名的數(shù)據(jù)庫(kù)文件中),支持長(zhǎng)文件名,便于標(biāo)識(shí)與查找,面向?qū)ο蟮拈_發(fā)方式(開發(fā)應(yīng)用程序簡(jiǎn)便),處理多種數(shù)據(jù)信息,界面友好、工作方式靈活(直接操作與應(yīng)用程序操作),強(qiáng)大的網(wǎng)絡(luò)功能(Assess
33、數(shù)據(jù)可通過Internet傳送)。但Access數(shù)據(jù)庫(kù)很多缺點(diǎn)。如:不能轉(zhuǎn)換為EXE文件,不能脫離Access運(yùn)行,與其他解釋性開發(fā)語(yǔ)言一樣,運(yùn)行效率較慢,作為后臺(tái)數(shù)據(jù)庫(kù)使用時(shí)數(shù)據(jù)安全性能差,多人同時(shí)訪問時(shí)就能導(dǎo)致MDB文件損壞或者并死。</p><p> 2.網(wǎng)絡(luò)型的Oracl、Sybase 、SQL Server數(shù)據(jù)庫(kù)提供并行分布的能力、完備的安全性管理、大容量的數(shù)據(jù)庫(kù)存取等,微軟公司推出的SQL Serv
34、er系列網(wǎng)絡(luò)數(shù)據(jù)庫(kù)已經(jīng)廣泛應(yīng)用于各行各業(yè),其中的SQL Server 2000作為微軟公司的“.NET”戰(zhàn)略中為企業(yè)開發(fā)的數(shù)據(jù)庫(kù)產(chǎn)品,主要用于構(gòu)建電子商務(wù)和數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)庫(kù)服務(wù)器。</p><p> 例如Oracl數(shù)據(jù)庫(kù)。該數(shù)據(jù)庫(kù)無(wú)范式要求,可根據(jù)實(shí)際系統(tǒng)需求構(gòu)造數(shù)據(jù)庫(kù),采用標(biāo)準(zhǔn)的SQL結(jié)構(gòu)化查詢語(yǔ)言,具有豐富的開發(fā)工具,覆蓋開發(fā)周期的各階段,支持大型數(shù)據(jù)庫(kù),數(shù)據(jù)類型支持?jǐn)?shù)字、字符、大至2GB的二進(jìn)制數(shù)據(jù),為數(shù)
35、據(jù)庫(kù)的面向?qū)ο蟠鎯?chǔ)提供數(shù)據(jù)支持,具有第四代語(yǔ)言的開發(fā)工具(SQL*FORMS、SQL*REPORTS、SQL*MENU等),具有字符界面和圖形界面,易于開發(fā)。但Oracle數(shù)據(jù)庫(kù)不常見,通常是很大型的系統(tǒng)或者平臺(tái)才會(huì)采用。因?yàn)槠鋵?duì)硬件要求比較高,所以不是很常見,不是很實(shí)用。另外在Oracle數(shù)據(jù)倉(cāng)庫(kù)解決方案實(shí)施過程中,通常把匯總數(shù)據(jù)存儲(chǔ)在Express多維數(shù)據(jù)庫(kù)中,而將詳細(xì)數(shù)據(jù)存儲(chǔ)在Oracle關(guān)系數(shù)據(jù)庫(kù)中,當(dāng)需要詳細(xì)數(shù)據(jù)時(shí),Expre
36、ss Server通過構(gòu)造SQL語(yǔ)句訪問關(guān)系數(shù)據(jù)庫(kù)。但目前的Express還不夠靈活,數(shù)據(jù)倉(cāng)庫(kù)設(shè)計(jì)的一個(gè)變化往往導(dǎo)致數(shù)據(jù)庫(kù)的重構(gòu)。</p><p> 1.4 課題的軟件選用</p><p> 1.4.1 前臺(tái)開發(fā)工具的選用</p><p> Visual Basic 屬于第四代編程語(yǔ)言,是發(fā)展最快、學(xué)習(xí)最容易、功能最強(qiáng)大的語(yǔ)言之一,以其開發(fā)速度快、使
37、用簡(jiǎn)單而被廣泛使用。</p><p> Visual Basic 6.0主要具有以下特點(diǎn):</p><p> 面向?qū)ο蟮目梢暬O(shè)計(jì)工具</p><p><b> 事件驅(qū)動(dòng)的編程機(jī)制</b></p><p> 易學(xué)易懂的集成開發(fā)環(huán)境</p><p> 結(jié)構(gòu)化的程序設(shè)計(jì)語(yǔ)言</p>
38、;<p><b> 強(qiáng)大的數(shù)據(jù)庫(kù)功能</b></p><p> 支持用戶開發(fā)的ActiveX控件</p><p><b> 應(yīng)用程序向?qū)?lt;/b></p><p> 完備的Help聯(lián)機(jī)幫助功能</p><p> 由于Visual Basic 6.0的優(yōu)點(diǎn)顯著,所以把Visual
39、 Basic 6.0作為此系統(tǒng)的前臺(tái)開發(fā)工具。</p><p> 1.4.2 后臺(tái)數(shù)據(jù)庫(kù)的選用</p><p> SQL Server是微軟公司出品的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS)軟件,它的主要特點(diǎn)是:</p><p> 全面啟動(dòng)WEB特性。</p><p> 集成的和可擴(kuò)展的分析服務(wù)</p><p>&l
40、t;b> 簡(jiǎn)單的管理和調(diào)整</b></p><p> 簡(jiǎn)化的T-SQL(事物處理-SQL)開發(fā)和調(diào)用</p><p> 靈活的和可擴(kuò)展的數(shù)據(jù)轉(zhuǎn)換</p><p> 自動(dòng)實(shí)現(xiàn)數(shù)據(jù)庫(kù)的并發(fā)控制</p><p> 強(qiáng)大的編程接口和開發(fā)工具</p><p> 與Windows操作系統(tǒng)的高度集成特性
41、</p><p> 支持XML(擴(kuò)展標(biāo)記語(yǔ)言)、支持用戶自定義函數(shù)、支持OLE DB、分</p><p> 布式的分區(qū)視圖等特性</p><p> 由于SQL Server 2000具有上述特點(diǎn),因此在做本系統(tǒng)應(yīng)用時(shí)可以選擇其作為后臺(tái)的數(shù)據(jù)庫(kù)。</p><p> 第 2 章 系統(tǒng)設(shè)計(jì)</p><p><b
42、> 2.1總體功能設(shè)計(jì)</b></p><p><b> 功能結(jié)構(gòu)圖如下:</b></p><p> 圖2-1 地鐵車輛管理信息系統(tǒng)功能結(jié)構(gòu)圖</p><p> 車輛檔案 錄入:用于添加、修改、刪除車輛檔案信息。</p><p> 查詢:查詢與車輛檔案條件相符的信息。</p>
43、<p> 清空:用于清空車輛檔案表中的所有信息。</p><p> 乘務(wù)員檔案 錄入:用于添加、修改、刪除乘務(wù)員檔案信息。</p><p> 查詢:查詢符合乘務(wù)員查詢條件的乘務(wù)員檔案信息。</p><p> 清空:用于清空乘務(wù)員表中的所有信息。</p><p> 車輛管理中包括異動(dòng)、臨修和車輛掉線的信息。其中:</p
44、><p> 車輛臨修 添加:用于添加、修改、刪除車輛臨修信息。</p><p> 查詢:查詢符合條件的車輛臨修信息。</p><p> 清空:用于清空車輛臨修表中的所有信息。</p><p> 車輛異動(dòng)和車輛掉線的內(nèi)容均與車輛臨修相符,就不再一一介紹了。</p><p> 駕駛員管理中包括違章、事故和乘務(wù)員獎(jiǎng)懲的
45、信息。其中:</p><p> 乘務(wù)員違章 添加:用于添加、修改、刪除乘務(wù)員違章信息。</p><p> 查詢:用于查詢符合查詢條件的乘務(wù)員違章信息。</p><p> 清空:清空乘務(wù)員違章表中的所有信息。</p><p> 乘務(wù)員事故和乘務(wù)員獎(jiǎng)懲的內(nèi)容均與乘務(wù)員違章內(nèi)容相符。</p><p> 系統(tǒng)維護(hù)中包
46、括系統(tǒng)初始化、管理員設(shè)置、數(shù)據(jù)恢復(fù)、數(shù)據(jù)備份。其中:</p><p> 系統(tǒng)的初始化:將數(shù)據(jù)庫(kù)中各表信息清空恢復(fù)成系統(tǒng)的初始狀態(tài)。</p><p> 管理員設(shè)置:只有管理員才有權(quán)限做任何清空處理。</p><p> 數(shù)據(jù)恢復(fù)和數(shù)據(jù)備份:是怕數(shù)據(jù)感染病毒或是誤操作而造成數(shù)據(jù)丟失,而做</p><p> 的一個(gè)系統(tǒng)不可缺少的一部分。<
47、;/p><p> 2.2 數(shù)據(jù)庫(kù)存儲(chǔ)設(shè)計(jì)</p><p> 根據(jù)用戶的需求和車輛管理及人員管理數(shù)據(jù)流量的大小,同時(shí)結(jié)合SQL Server 2000數(shù)據(jù)庫(kù)的靈活性和可擴(kuò)展的數(shù)據(jù)轉(zhuǎn)換和與Windows操作系統(tǒng)的高度集成特性等優(yōu)點(diǎn),在地鐵車輛管理信息系統(tǒng)中使用了SQL Server 2000數(shù)據(jù)庫(kù)為后臺(tái)數(shù)據(jù)庫(kù)。</p><p> 地鐵車輛管理信息系統(tǒng)數(shù)據(jù)庫(kù)名為“car
48、”,其中有11張數(shù)據(jù)表,它們是:用戶表、車輛檔案表、車輛臨修表、車輛類型表、車輛異動(dòng)表、車輛掉線表、是否表、乘務(wù)員事故表、乘務(wù)員檔案表、乘務(wù)員獎(jiǎng)勵(lì)表、乘務(wù)員違章表。</p><p> 為了把用戶的數(shù)據(jù)清晰明確的表達(dá)出來,通常建立一個(gè)概念型的數(shù)學(xué)模型。最常用的表示概念的數(shù)學(xué)模型的方法是實(shí)體——聯(lián)系方法(Entity Relationship Approach)。這種方法又稱為E-R模型。</p>&
49、lt;p> 2.2.1 數(shù)據(jù)庫(kù)建模</p><p> 經(jīng)過上面的分析,能夠提取出以下幾個(gè)實(shí)體。它們的實(shí)體如下圖:</p><p> 圖2-2 車輛實(shí)體圖</p><p> 圖2-3 乘務(wù)員實(shí)體圖</p><p> 圖2-4 車輛異動(dòng)實(shí)體圖</p><p> 圖2-5 乘務(wù)員事故實(shí)體圖</
50、p><p> 2.2.2 關(guān)系描述的設(shè)計(jì)</p><p> 根據(jù)以上實(shí)體圖,經(jīng)過轉(zhuǎn)換,可以導(dǎo)出各個(gè)關(guān)系。其轉(zhuǎn)換規(guī)則為:首先每個(gè)實(shí)體應(yīng)轉(zhuǎn)化為一個(gè)關(guān)系,有屬性的聯(lián)系也應(yīng)轉(zhuǎn)化為一個(gè)關(guān)系,然后需要給出每個(gè)關(guān)系的關(guān)鍵字。根據(jù)規(guī)則直接給出所有關(guān)系。</p><p> 車輛(車號(hào)、車輛類型、車輛所在單位、來段時(shí)間、異動(dòng)否、備注)關(guān)鍵字為車號(hào)</p><p&g
51、t; 異動(dòng)(異動(dòng)車號(hào)、車次、首先發(fā)現(xiàn)者、發(fā)現(xiàn)異動(dòng)時(shí)間、發(fā)現(xiàn)異動(dòng)地點(diǎn)、修復(fù)時(shí)間、修復(fù)地點(diǎn)、異動(dòng)現(xiàn)象、備注)關(guān)鍵字為異動(dòng)車號(hào)。</p><p> 臨修(臨修車號(hào)、司機(jī)姓名、車長(zhǎng)姓名、地勤司機(jī)、臨修日期、臨修原因、是否修復(fù)、是否扣車、備注)關(guān)鍵字為臨修車號(hào)。</p><p> 掉線(車號(hào)、車次、表號(hào)、廠修時(shí)間、架修時(shí)間、月修時(shí)間、掉線司機(jī)、掉線車長(zhǎng)、事件車站、事件時(shí)間、事件過程、備注)關(guān)鍵
52、字為車號(hào)。</p><p> 乘務(wù)員(駕駛員編號(hào)、駕駛證編號(hào)、乘務(wù)員姓名、性別、出生年月、家庭住址、技術(shù)級(jí)別、參加工作時(shí)間、聯(lián)系電話、司機(jī)駕齡、運(yùn)行安全公里、發(fā)證日期、所屬車輛段、備注)關(guān)鍵字為駕駛證編號(hào)。</p><p> 事故(事故等級(jí)、司機(jī)姓名、車長(zhǎng)姓名、事故車號(hào)、發(fā)生事故地點(diǎn)、發(fā)生事故時(shí)間、發(fā)生事故經(jīng)過、處理決定、備注)關(guān)鍵字為事故車號(hào)。</p><p>
53、; 違章(違章乘務(wù)員、駕駛車號(hào)、違章原因、違章地點(diǎn)、違章時(shí)間、檢查人員、處理決定、備注)關(guān)鍵字為違章乘務(wù)員。</p><p> 獎(jiǎng)勵(lì)(乘務(wù)員姓名、駕駛證編號(hào)、所屬輪乘組、獎(jiǎng)勵(lì)級(jí)別、獎(jiǎng)勵(lì)原因、獎(jiǎng)勵(lì)金額、備注)關(guān)鍵字為駕駛證編號(hào)。</p><p> 在考慮系統(tǒng)安全的前提下,需要增加用戶關(guān)系和使用關(guān)系,其關(guān)系模式如下:</p><p> 用戶(用戶姓名、用戶密碼、
54、用戶類型)關(guān)鍵字為用戶姓名。</p><p><b> 2.3 模塊設(shè)計(jì)</b></p><p> 2.3.1 公用模塊設(shè)計(jì)</p><p> 為了節(jié)省系統(tǒng)資源,在本系統(tǒng)中新建一個(gè)模塊,該模塊用于連接各個(gè)模塊中的數(shù)據(jù)表,從而避免了在程序中運(yùn)用大量的ADO控件,給開發(fā)應(yīng)用程序帶來諸多不便。模塊中的程序代碼如下:</p><
55、;p> Public adoCon As New ADODB.Connection</p><p> Public adors As New ADODB.Recordset</p><p> Public Sub main()</p><p> Set adoCon = New ADODB.Connection</p><p>
56、 adoCon.Open "Provider=MSDASQL.1;Data Source= car;Persist Security Info=False"</p><p> frmLogin.Show</p><p> frmLogin.Text1.SetFocus</p><p><b> End Sub</b>
57、</p><p> 2.3.2 系統(tǒng)模塊設(shè)計(jì)</p><p> 圖2-6 軟件系統(tǒng)模塊結(jié)構(gòu)圖</p><p><b> 1. 主界面模塊:</b></p><p> 該模塊提供管理系統(tǒng)的主界面,是主系統(tǒng)的唯一出口。該界面提供用戶選擇并調(diào)用各子模塊。</p><p> 2. 車輛檔案管理
58、模塊</p><p> 該模塊是提供所有車輛檔案的界面。</p><p> 3. 乘務(wù)員檔案管理模塊</p><p> 該模塊是提供全部人事檔案的界面。</p><p><b> 4. 車輛管理模塊</b></p><p> 該模塊是提供對(duì)車輛異動(dòng)、車輛臨修、車輛掉線進(jìn)行的更改、刪除和添
59、加的界面。</p><p> 5. 駕駛員管理模塊</p><p> 該模塊是提供對(duì)乘務(wù)員違章、乘務(wù)員事故和乘務(wù)員獎(jiǎng)懲進(jìn)行的添加、修改和刪除的界面。</p><p><b> 6. 系統(tǒng)維護(hù)模塊</b></p><p> 該模塊是提供對(duì)系統(tǒng)初始化、管理員設(shè)置、數(shù)據(jù)恢復(fù)、數(shù)據(jù)備份及退出進(jìn)行的操作。</p>
60、;<p> 2.4 設(shè)計(jì)中遇到的問題及解決</p><p> 2.4.1如何將Adodc控件與SQL Server 2000數(shù)據(jù)庫(kù)連接</p><p> 庫(kù)連接:在“Adodc屬性”對(duì)話框中單擊[生成]按鈕,彈出“數(shù)據(jù)鏈接屬性”窗體,在提供程序中選擇“Microsoft OLE DB Provider for ODBC Drivers”提供者,然后單擊[下一步]按鈕;在
61、“連接”選項(xiàng)卡中指定數(shù)據(jù)源(本系統(tǒng)中的數(shù)據(jù)源為“car” ),設(shè)置完成后單擊[測(cè)試連接]按鈕,提示成功后單擊[確定]按鈕。則數(shù)據(jù)源連接成功。</p><p> 表鏈接:右鍵單擊Adodc控件,在“屬性頁(yè)”/“記錄源”選項(xiàng)卡中的“命令類型下拉列表框中選擇“1-adCmdText”列表項(xiàng):在“命令文本”文本框中輸入(以‘車輛檔案表’為例)“select * from車輛檔案表”,單擊[確定]按鈕。則‘車輛檔案表’連
62、接成功。</p><p> 2.4.2如何使用Connection對(duì)象的Execute方法返回記錄集</p><p> 下面代碼通過調(diào)用Connection對(duì)象的Execute方法,從SQL Server數(shù)據(jù)庫(kù)“car”的“車輛檔案表”中檢索車輛編號(hào)的值并返回一個(gè)記錄集。代碼如下列所示:</p><p> On Error Resume Next</p&
63、gt;<p> Call Rebind</p><p> Set adors = adoCon.Execute("select distinct 車號(hào) from 車輛檔案表")</p><p> On Error Resume Next</p><p><b> Do</b></p>&l
64、t;p> Combo1.AddItem adors.Fields(0)</p><p> adors.MoveNext</p><p> Loop Until adors.EOF</p><p> adors.Close</p><p> 2.4.3 如何使用Connection對(duì)象連接SQL Server數(shù)據(jù)庫(kù)</p&
65、gt;<p> 1. 在使用Connection對(duì)象連接數(shù)據(jù)庫(kù)之前,應(yīng)先聲明該對(duì)象,在本系統(tǒng)中的聲明對(duì)象是:Public adoCon As New ADODB.Connection</p><p> 2. 使用語(yǔ)句adoCon.Open "Provider=MSDASQL.1;Data Source= car;Persist Security Info=False"就可以和
66、管理工具中的ODBC數(shù)據(jù)源連接。由于car數(shù)據(jù)源中默認(rèn)數(shù)據(jù)庫(kù)為car,所以也就等于和SQL Server 2000中的car數(shù)據(jù)庫(kù)連接。</p><p> 第 3 章 系統(tǒng)的實(shí)現(xiàn)</p><p> 3.1 數(shù)據(jù)存儲(chǔ)的實(shí)現(xiàn)</p><p> 3.1.1 創(chuàng)建數(shù)據(jù)庫(kù)</p><p> 1.打開SQL Server 2000的企業(yè)管理器,單
67、擊并逐級(jí)展開當(dāng)前服務(wù)器,在“數(shù)據(jù)庫(kù)”目錄上單擊右鍵,選擇“新建數(shù)據(jù)庫(kù)”命令。如圖3-1 創(chuàng)建數(shù)據(jù)庫(kù)1 所示: </p><p> 圖3-1 創(chuàng)建數(shù)據(jù)庫(kù)1</p><p> 2.在彈出的對(duì)話框的名稱文本框中輸入所要?jiǎng)?chuàng)建的數(shù)據(jù)庫(kù)名稱“car”。如圖3-2 創(chuàng)建數(shù)據(jù)庫(kù)2 所示:</p><p> 圖3-2 創(chuàng)建數(shù)據(jù)庫(kù)2</p><p&g
68、t; 3.點(diǎn)擊數(shù)據(jù)文件標(biāo)簽,更改數(shù)據(jù)庫(kù)文件路徑。如圖3-3 創(chuàng)建數(shù)據(jù)庫(kù)3 所示:</p><p> 圖3-3 創(chuàng)建數(shù)據(jù)庫(kù)3</p><p> 4.點(diǎn)擊事務(wù)日志標(biāo)簽,更改數(shù)據(jù)庫(kù)日志文件路徑。如圖3-4 創(chuàng)建數(shù)據(jù)庫(kù)4 所示:</p><p> 圖3-4 創(chuàng)建數(shù)據(jù)庫(kù)4</p><p> 5. 點(diǎn)擊“確定按鈕”創(chuàng)建數(shù)據(jù)庫(kù)完成。&l
69、t;/p><p> 3.1.2 表的創(chuàng)建</p><p> 1) 完成數(shù)據(jù)庫(kù)的建立后,就可以建立數(shù)據(jù)庫(kù)中的表了。以“車輛檔案表”為例,介紹創(chuàng)建表的過程。</p><p> 2) 展開要?jiǎng)?chuàng)建表的系統(tǒng)數(shù)據(jù)庫(kù)“car”,單擊“表”選項(xiàng)。</p><p> 3) 單擊鼠標(biāo)右鍵,在出現(xiàn)的快捷菜單中選擇“新建表”選項(xiàng)。</p>&l
70、t;p><b> 4) 數(shù)入列名。</b></p><p> 5) 選擇適當(dāng)?shù)臄?shù)據(jù)類型,并設(shè)置長(zhǎng)度。</p><p> 6) 在“允許空”選項(xiàng)中,如果設(shè)置不允許為空,那么插入記錄集或修改記錄時(shí),將不允許空值出現(xiàn),否則報(bào)錯(cuò)。</p><p> 7) 輸入完成所有的字段名,單擊“保存”圖標(biāo),將彈出“選擇名稱”對(duì)話框。將表名設(shè)定為“車輛
71、檔案表”,然后單擊[確定]按鈕。</p><p> 3.1.3 數(shù)據(jù)表結(jié)構(gòu)</p><p><b> 表3-1 用戶表</b></p><p> 表3-2 車輛檔案表</p><p> 表3-3 乘務(wù)員檔案表</p><p> 表3-4 車輛臨修表</p><
72、p> 表3-5 車輛異動(dòng)表</p><p> 表3-6 乘務(wù)員檔案表</p><p> 表3-7 車輛類型表</p><p> 表3-8 乘務(wù)員事故表</p><p> 表3-9 乘務(wù)員獎(jiǎng)勵(lì)表</p><p> 表3-10 乘務(wù)員違章表</p><p> 表3-1
73、1 是否表</p><p> 3.2 MDI主窗體設(shè)計(jì)</p><p> 3.2.1 界面介紹</p><p> 本系統(tǒng)主界面圖如下:</p><p><b> 圖3-5 主界面</b></p><p><b> 1. 菜單編輯器</b></p>
74、<p> 1)單擊“工具”/“菜單編輯器”菜單項(xiàng),打開“菜單編輯器”對(duì)話框。</p><p> 2)在菜單編輯器窗口中,“標(biāo)題”文本框用于設(shè)置菜單項(xiàng)的標(biāo)題,它對(duì)應(yīng)著菜單的caption屬性。</p><p> 3)“名稱”文本框用于設(shè)置菜單項(xiàng)的名稱,它對(duì)應(yīng)著菜單項(xiàng)的Name屬性。</p><p> 4)菜單的“索引”文本框用來確定菜單標(biāo)題或菜單選項(xiàng)
75、在菜單控件數(shù)組中的位置或次序,菜單項(xiàng)的名稱不重復(fù),索引值可以為空。</p><p> 5)“復(fù)選”、“有效”和“可見”選項(xiàng)分別對(duì)應(yīng)菜單的Checked、Enabled和Visible屬性,用于設(shè)置菜單復(fù)選,是否有效和是否可見。</p><p> 6)在編輯菜單的過程中,有時(shí)需要移動(dòng)菜單。</p><p> ←將選定的菜單向左移一個(gè)等級(jí)</p>&
76、lt;p> →將選定的菜單向右移一個(gè)等級(jí),最多創(chuàng)建5個(gè)等級(jí)</p><p> ↑將選定的菜單在同級(jí)菜單內(nèi)向上移動(dòng)一個(gè)位置</p><p> ↓將選定的菜單在同級(jí)菜單內(nèi)向下一個(gè)位置</p><p> 7) 單擊[下一步]按鈕,移動(dòng)并顯示菜單項(xiàng),供用戶新增或修改菜單項(xiàng),如果需要在某一個(gè)位置插入一個(gè)新的菜單項(xiàng),則單擊[插入]按鈕,如果要?jiǎng)h除已存在的菜單項(xiàng),則
77、單擊[刪除]按鈕。</p><p><b> 2. 設(shè)計(jì)工具欄</b></p><p><b> 〔1〕 添加工具欄</b></p><p> 在“工程”菜單下選擇“部件”菜單項(xiàng),打開“部件”對(duì)話框,然后在其中選擇“Microsoft Windows Common Controls6.0”,單擊[確定]按鈕。此時(shí)To
78、olBar控件和ImageList控件添加到工具箱當(dāng)中。</p><p> 〔2〕 向ImageList空間中添加圖像</p><p> 在窗體上添加一個(gè)ImageList控件。</p><p> 單擊鼠標(biāo)右鍵,在彈出的菜單中選擇“屬性”菜單項(xiàng),打開“屬性頁(yè)”對(duì)話框。</p><p> 單擊“通用”選項(xiàng)卡,在此選項(xiàng)卡中可以設(shè)置圖像的高
79、度和寬度,以及是否使用屏蔽顏色屬性。</p><p> 單擊“圖像”選項(xiàng)卡,在此選單項(xiàng)卡中單擊[插入圖片]按鈕,然后從圖片庫(kù)中將需要的圖片添加到“圖像”下的空白框中,并且在“索引”文本框中自動(dòng)產(chǎn)生該圖片的索引值。</p><p> 為圖片添加關(guān)鍵字和標(biāo)記?!瓣P(guān)鍵字”取值為字符型,其值可以為空?!皹?biāo)記”起到標(biāo)識(shí)單個(gè)圖像的作用,一般情況下也可以為空值。</p><p&g
80、t; 如果對(duì)已添加的某一個(gè)圖片不滿意,可以選中其圖片,單擊[刪除圖片]按鈕,將該圖片刪除,然后再添加滿意的圖片。</p><p> 〔3〕 創(chuàng)建并設(shè)計(jì)工具欄。</p><p> 1) 在窗體上添加一個(gè)ToolBar控件。</p><p> 2) 鼠標(biāo)右鍵單擊ToolBar控件,在彈出的菜單中選擇“屬性”菜單項(xiàng),打開“屬性頁(yè)”對(duì)話框。</p>&
81、lt;p> 3) 在“屬性頁(yè)”對(duì)話框中單擊“按鈕”選項(xiàng)卡,單擊[插入按鈕],這時(shí)ToolBar控件將出現(xiàn)一個(gè)按鈕,同時(shí)“索引”文本框可用,其值自動(dòng)變?yōu)椤?”,然后在“關(guān)鍵字”文本框中輸入該按鈕的關(guān)鍵字,在“工具提示文本”文本框中輸入所要提示的文本信息;在“圖像”文本框中輸入與ImageList1控件中圖片的索引值對(duì)應(yīng)的值。</p><p> 4) 重復(fù)步驟3),直到添加完所有的工具按鈕為止,最后單擊[確
82、定]按鈕完成工具欄的設(shè)計(jì)工作。</p><p><b> 3. 創(chuàng)建狀態(tài)欄</b></p><p> 創(chuàng)建狀態(tài)欄的方法與工具欄類似,因此略。</p><p> 3.3主要功能模塊詳細(xì)設(shè)計(jì)</p><p> 3.3.1車輛檔案管理</p><p> 車輛檔案錄入操作窗體以用于添加、修改、刪
83、除車輛檔案信息。車輛檔案的添加、修改、刪除可以通過ADO對(duì)象實(shí)現(xiàn),這其中都使用了AddNew、Update和Delete方法。</p><p><b> 窗體界面設(shè)計(jì)</b></p><p> 新建一窗體,設(shè)置該窗體的名稱為“frmchelu”,Caption屬性為“車輛檔案錄入窗體”,BorderStyle屬性為“1-Fixed Single”,MDIChild
84、的屬性為“True”。添加Adodc控件,由于該控件屬于ActiveX控件,在使用前應(yīng)首先將其添加到工具箱中。具體添加辦法如下:由于該控件屬于ActiveX控件,要想添加Adodc控件,在使用前應(yīng)首先將其添加到工具箱中,具體的添加方法是:?jiǎn)螕簟肮ぞ摺?“部件”菜單項(xiàng),打開“部件”對(duì)話框。在“部件”對(duì)話框中勾選“Microsoft Ado Data Controls 6.0 (SP4)”選項(xiàng),然后單擊[確定]按鈕。此時(shí),ADO控件將出現(xiàn)在
85、工具箱中。在窗體上添加1個(gè)ADO控件,默認(rèn)名為“Adodc1”。Adodc1控件的RecordSource屬性為“select * from 車輛檔案表”在Adodc1控件上單擊鼠標(biāo)右鍵選擇“Adodc屬性進(jìn)行數(shù)據(jù)庫(kù)連接和數(shù)據(jù)表鏈接”,鏈接方法:見2.4.1節(jié)內(nèi)容。為了方便用戶能夠填入正確的時(shí)間格式,DTPicker控件提供了格式化好的日期格式。所以在本系統(tǒng)中添加了DTPicker控件</p><p> 圖3-
86、5 車輛檔案錄入窗體</p><p><b> 程序代碼設(shè)計(jì)</b></p><p> ?。?)在窗體裝載前定義一個(gè)數(shù)值型變量。</p><p> Dim i As Integer</p><p> ?。?)設(shè)計(jì)一個(gè)Lockct1過程功能為設(shè)置控件不可用。</p><p> Private
87、 Sub Lockctl()</p><p> Text1.Enabled = False: Text3.Enabled = False</p><p> Text2.Enabled = False: Text4.Enabled = False</p><p> Combo1.Enabled = False: Combo2.Enabled = False: D
88、TPicker1.Enabled </p><p> = False </p><p><b> End Sub</b></p><p> ?。?)設(shè)計(jì)一個(gè)Unlockct1過程功能為設(shè)置控件可用。</p><p> Private Sub Unlockctl()</p><p>
89、Text1.Enabled = True: Text3.Enabled = True</p><p> Text2.Enabled = True: Text4.Enabled = True</p><p> Combo1.Enabled = True: Combo2.Enabled = True: DTPicker1.Enabled</p><p><b&
90、gt; = True</b></p><p><b> End Sub</b></p><p> ?。?)因?yàn)镈TPicker控件的Value屬性始終不能為空,所以在給DTPicker控件賦值前,應(yīng)先判斷數(shù)據(jù)表中是否有數(shù)據(jù)。</p><p> Private Sub Form_Load()</p><p&g
91、t; frmchelu.Height = 4770: frmchelu.Width = 7440</p><p> Adodc1.RecordSource = "select * from 車輛檔案表 "</p><p> Adodc1.Refresh</p><p> If Adodc1.Recordset.RecordCount &g
92、t; 0 Then DTPicker1.Value = Adodc1.Recordset.Fields(3)</p><p> Adodc2.RecordSource = "select * from 車輛類型表"</p><p> Adodc2.Refresh</p><p> If Adodc2.Recordset.RecordCoun
93、t = 0 Then Exit Sub</p><p> For i = 0 To Adodc2.Recordset.RecordCount - 1</p><p> Combo1.AddItem Adodc2.Recordset.Fields(0).Value</p><p> Adodc2.Recordset.MoveNext</p><
94、;p> Adodc3.RecordSource = "select * from 是否表"</p><p> Adodc3.Refresh</p><p><b> Next</b></p><p> If Adodc3.Recordset.RecordCount = 0 Then Exit Sub</p
95、><p> For i = 0 To Adodc3.Recordset.RecordCount - 1</p><p> Combo2.AddItem Adodc3.Recordset.Fields(0).Value</p><p> Adodc3.Recordset.MoveNext</p><p><b> Next<
96、/b></p><p> On Error Resume Next</p><p> Text1.Text = Adodc1.Recordset.Fields(0)</p><p> Combo1.Text = Adodc1.Recordset.Fields(1)</p><p> Text2.Text = Adodc1.Rec
97、ordset.Fields(2)</p><p> DTPicker1.Value = Adodc1.Recordset.Fields(3)</p><p> Text3.Text = Adodc1.Recordset.Fields(4)</p><p> Combo2.Text = Adodc1.Recordset.Fields(5)</p>
98、<p> Text4.Text = Adodc1.Recordset.Fields(6)</p><p><b> End Sub</b></p><p> ?。?)初始化處理,清空文本框控件中的內(nèi)容,為部分控件賦初始值,然后設(shè)置一些按鈕有效,為用戶添加新數(shù)據(jù)做準(zhǔn)備。在【添加】按鈕的Click事件下添加代碼如下:</p><p>
99、 Private Sub Command1_Click()</p><p><b> Unlockctl</b></p><p> Text1 = "": Text2 = "": Text3 = "": Text4 = "": Combo1.Text = "DK16&quo
100、t;</p><p> Combo2.Text = "是"</p><p> Text1.SetFocus</p><p> Command4.Enabled = True: Command5.Enabled = True</p><p> Command3.Enabled = False: Command2.En
101、abled = False</p><p> Adodc1.Enabled = False: Combo1.Visible = True</p><p><b> i = 1</b></p><p><b> End Sub</b></p><p> ?。?)在【修改】按鈕的Click事件下
102、添加代碼如下:</p><p> Private Sub Command2_Click()</p><p><b> Unlockctl</b></p><p><b> i = 2</b></p><p> Command4.Enabled = True: Command5.Enabled
103、 = True</p><p> command1.Enabled = False: Command3.Enabled = False</p><p> Adodc1.Enabled = False: Text1.Enabled = False</p><p><b> End Sub</b></p><p>
104、(7)使用Delete語(yǔ)句刪除車輛信息。在【刪除】按鈕的Click事件下添加代碼如下:</p><p> Private Sub Command3_Click()</p><p> If MsgBox("您確實(shí)要?jiǎng)h除記錄嗎?", vbOKCancel, "系統(tǒng)提示") = vbOK Then</p><p> adoCo
105、n.Execute ("delete from 車輛檔案表 where 車號(hào)='" & Text1 & "'")</p><p> MsgBox " 記錄已刪除!", , "系統(tǒng)提示"</p><p> Adodc1.Refresh</p><p>&
106、lt;b> End If</b></p><p><b> End Sub</b></p><p> (8)通過一個(gè)變量i控制車輛檔案的添加和修改,添加通過SQL中Inser into語(yǔ)句實(shí)現(xiàn),修改通過SQL中的Update語(yǔ)句實(shí)現(xiàn)。在【確定】按鈕的Click事件下添加代碼如下:</p><p> Private Su
107、b Command4_Click()</p><p> Select Case i</p><p><b> Case 1</b></p><p> If Text1 = "" Then</p><p> MsgBox "車號(hào)不能為空", , "系統(tǒng)提示"
108、;</p><p> Text1.SetFocus</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p> If Combo1.Text = "" Then</p><p> MsgB
109、ox "車輛類型不能為空", , "系統(tǒng)提示"</p><p> Combo1.SetFocus</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p> Dim rs As New ADOD
110、B.Recordset</p><p> Set rs = adoCon.Execute("select * from 車輛檔案表 where 車號(hào)='" & Text1.Text & "'")</p><p> If rs.EOF = False Then</p><p> MsgBox
111、 "此車號(hào)已經(jīng)存在!", , "系統(tǒng)提示"</p><p> Text1 = ""</p><p> Text1.SetFocus</p><p><b> End If</b></p><p><b> rs.Close</b>&
112、lt;/p><p> adoCon.Execute ("insert into 車輛檔案表 values ('" & Text1 & "','" & Combo1 & "','" & Text2 & "','" & DTPic
113、ker1.Value & "','" & Text3 & "','" & Combo2 & "','" & Text4 & "')")</p><p> MsgBox "記錄添加成功!", , &quo
114、t;系統(tǒng)提示"</p><p> Adodc1.Refresh</p><p><b> Case 2</b></p><p> adoCon.Execute ("update 車輛檔案表 set 車輛類型='" & Combo1 & "',車輛所在單位='&
115、quot; & Text2 & "',購(gòu)置日期='" & DTPicker1.Value & "',來段時(shí)間='" & Text3 & "',異動(dòng)否='" & Combo2 & "', 備注='" & Text4 &
116、 "' where 車號(hào)='" & Text1 & "'")</p><p> MsgBox "記錄修改成功!", , "系統(tǒng)提示"</p><p> Adodc1.Refresh</p><p> End Select</p>
117、<p><b> Lockctl</b></p><p> Command4.Enabled = False: Command5.Enabled = False</p><p> command1.Enabled = True: Command2.Enabled = True</p><p> Command3.Enable
118、d = True: Adodc1.Enabled = True</p><p><b> End Sub</b></p><p> ?。?)在【取消】按鈕的Click事件下添加代碼如下:</p><p> Private Sub Command5_Click()</p><p> On Error Resume N
119、ext </p><p> Adodc1.Recordset.CancelUpdate</p><p> Adodc1.Refresh</p><p><b> Lockctl</b></p><p> Command4.Enabled = False: Command5.Enabled = False&l
120、t;/p><p> command1.Enabled = True: Command2.Enabled = True</p><p> Command3.Enabled = True: Adodc1.Enabled = True</p><p><b> End Sub</b></p><p> ?。?0)在【查詢】按
121、鈕的Click事件下添加代碼如下:</p><p> Private Sub Command7_Click()</p><p> Dim str As String</p><p> str = InputBox$("輸入你要查詢的車號(hào):", "系統(tǒng)提示")</p><p> If str =
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 地鐵車輛管理系統(tǒng)設(shè)計(jì)vb畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--vb庫(kù)存管理系統(tǒng)設(shè)計(jì)
- 計(jì)算機(jī)畢業(yè)設(shè)計(jì)--地鐵車輛管理信息系統(tǒng)
- 車輛管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---車輛管理系統(tǒng)設(shè)計(jì)
- 考試管理系統(tǒng)vb畢業(yè)設(shè)計(jì)
- vb宿舍文檔管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---vb倉(cāng)庫(kù)管理系統(tǒng) (2)
- 畢業(yè)設(shè)計(jì)---vb藥房管理系統(tǒng)設(shè)計(jì)
- [畢業(yè)設(shè)計(jì)資料]vb學(xué)生管理系統(tǒng)a畢業(yè)資料
- 企業(yè)車輛管理系統(tǒng)畢業(yè)設(shè)計(jì)
- vb畢業(yè)設(shè)計(jì)--小區(qū)物業(yè)管理系統(tǒng)
- 基于vb學(xué)生學(xué)籍管理系統(tǒng)畢業(yè)設(shè)計(jì)
- vb畢業(yè)設(shè)計(jì)--學(xué)生信息管理系統(tǒng)
- vb圖書管理系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì)----vb書店管理系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)----基于vb的請(qǐng)假管理系統(tǒng)
- 畢業(yè)設(shè)計(jì)---vb圖書管理系統(tǒng)_論文
- 畢業(yè)設(shè)計(jì)-----vb書店管理系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)
- 車輛管理系統(tǒng)(畢業(yè)設(shè)計(jì))畢業(yè)論文
評(píng)論
0/150
提交評(píng)論