畢業(yè)論文——公交車管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
畢業(yè)論文——公交車管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
畢業(yè)論文——公交車管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
畢業(yè)論文——公交車管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
畢業(yè)論文——公交車管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、公交車管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘要隨著經(jīng)濟(jì)的日益增長,信息化吋代已經(jīng)到來,生活中各種信息趨向數(shù)字化、 清晰化。公交車作為現(xiàn)代城市生活中一種重要的交通工具,其數(shù)量增多,車型也 不再單一,雇用的司機(jī)增多,這樣使得公交車公司的車輛信息管理復(fù)雜化。在這 樣的背景下,提出了計(jì)算機(jī)管理的公交車管理系統(tǒng),輔助公交車運(yùn)營公司對(duì)車輛 進(jìn)行管理,實(shí)現(xiàn)公交車、公交線路和司機(jī)管理科學(xué)化,更合理的利用資源。該系統(tǒng)主要根據(jù)實(shí)際的需求,以需求分析、系統(tǒng)的設(shè)計(jì)目標(biāo),并且重點(diǎn)進(jìn)行 系統(tǒng)功能模塊的詳細(xì)設(shè)計(jì)和實(shí)現(xiàn),采用了 visual studio .net 2003開發(fā)平臺(tái)和 sql server 2000數(shù)據(jù)庫,實(shí)現(xiàn)了車輛信息管理

2、、司機(jī)信息管理、線路信息管理 和車輛分配線路管理等功能。在針對(duì)數(shù)據(jù)操作方面,主要通過存儲(chǔ)過程的方式實(shí) 現(xiàn)數(shù)據(jù)的添加、刪除和查詢等操作。通過系統(tǒng)測試,解決了公交車輛管理系統(tǒng)主 要問題。關(guān)鍵詞:管理系統(tǒng);數(shù)據(jù)庫;存儲(chǔ)過程the design and implementation of bus management systemabstractalong with economical growing, the information century has already arrived and each kind of information trends to digitization and

3、 clearness in our life. as an important transportation tool in the modern life, the number of the bus is increasing and its type is no longer unitary. as well, the bus drivers are also increasing. these make the information management of the bus companies more complicated. under such background, the

4、 bus management system controlled by the computers is put forward. it will help the bus company manage its buses, make the management of the bus, the bus routine and the driver more scientific and make proper use of the resources.the system is based on the practical requirements, and aimed at the de

5、mand analysis and the systematical design it emphasizes the details of design and implementation of the systematical function module. it's development platform are visual studio .net 2003 and sql server 2000 database and implements many functions, such as vehicles information management, driver

6、information management, routine information management, vehicle assignment line management, for database implementation, it mainly uses the storage procedure to implement the addition, deletion and inquiry. by the systematical test, it can solve the main problems in the vehicles management system.ke

7、y words: management system; database; storage procedure1引言隨著計(jì)算機(jī)技術(shù)的迅速發(fā)展,推動(dòng)了信息技術(shù)廣泛、深入地應(yīng)用到人類社會(huì) 的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。計(jì)算機(jī)軟件技術(shù)應(yīng)用于信息管理是必然 的趨勢。作為計(jì)算機(jī)應(yīng)用的一部分,充分發(fā)揮計(jì)算機(jī)的優(yōu)勢,將大量復(fù)雜的數(shù)據(jù) 交給計(jì)算機(jī)來處理,有著人工管理所無法比擬的優(yōu)點(diǎn)。如:查找方便、可靠性高、 存儲(chǔ)量大、保密性好、壽命長、成本低等。這些優(yōu)點(diǎn)能夠極大地提高信息管理的 效率,是真正意義上的合理利用資源,也是企事業(yè)管理科學(xué)化、正規(guī)化,與世界 接軌的重要條件。1.1信息管理系統(tǒng)簡介信息管理系統(tǒng),即

8、我們常說的mis (management information system),是 由人和計(jì)算機(jī)等組成的,能進(jìn)行信息收集、加工、保存、維護(hù)和使用的系統(tǒng)。它 能實(shí)現(xiàn)國民經(jīng)濟(jì)和企業(yè)行為的各種運(yùn)行情況,利用歷史數(shù)據(jù)預(yù)測未來,從全局出 發(fā)輔助管理決策,利用信息控制企業(yè)行為、幫助實(shí)現(xiàn)其規(guī)劃目標(biāo)。在強(qiáng)調(diào)管理, 強(qiáng)調(diào)信息的現(xiàn)代化社會(huì)中變的越來越普及。1.2開發(fā)背景和意義隨著經(jīng)濟(jì)的日益增長,車輛作為最重要的交通工具,在當(dāng)今社會(huì)中得以普及。 由于汽車數(shù)量的增加,而道路的承載能力有限。因此,城市公交車的迅速發(fā)展成 為一種必然趨勢。在這樣的情況下,公交車運(yùn)營商的車輛數(shù)目已經(jīng)增加了許多, 而且車型也不再單一,與此同

9、時(shí)便產(chǎn)生了車輛資源的合理分配和使用問題。該問 題涉及到車輛的檔案管理、駕駛員檔案管理、車輛管理、公交車運(yùn)營線路的分配 和管理等。如何對(duì)公交車公司的車輛進(jìn)行合理的分配,科學(xué)的使用,使其發(fā)揮最 大的價(jià)值是本問探討的重點(diǎn)。該管理系統(tǒng)的提出,對(duì)于一個(gè)公交車運(yùn)營商來說, 不但可以對(duì)車輛的使用進(jìn)行合理的管理,而且對(duì)車輛的使用情況進(jìn)行跟蹤記錄, 這對(duì)于單位車輛責(zé)任到人,信息明確,避免責(zé)任混亂等一系列相應(yīng)問題的解決。1.3系統(tǒng)設(shè)計(jì)目標(biāo)該系統(tǒng)以車輛為主體,結(jié)合對(duì)于公交車線路的管理,設(shè)計(jì)并開發(fā)一個(gè)公交車 管理系統(tǒng),提供一個(gè)信息更新快捷,管理方便,功能設(shè)置合理的公交車管理系統(tǒng) 解決方案。針對(duì)公交車運(yùn)營公司大量的車輛

10、信息和線路制定信息,制定實(shí)施該系 統(tǒng)的各個(gè)功能,使得公交車的管理更加科學(xué)化。2需求分析2. 1系統(tǒng)需求公交車管理系統(tǒng)是一個(gè)協(xié)助公交車運(yùn)營商各單位對(duì)車輛進(jìn)行全面的管理。在 此之前,對(duì)于線路與車輛的管理采用的方式幾乎都是手工管理,其中的弊端顯而 易見,即容易造成檔案資料的遺失,控制不集中,管理不規(guī)范等等問題。因此, 在管理系統(tǒng)的實(shí)現(xiàn)上應(yīng)該滿足以下需求:1 為保障系統(tǒng)的穩(wěn)定性,對(duì)于可能發(fā)生問題的輸入要進(jìn)行檢驗(yàn),同時(shí)要給出 合理的提示信息。2. 在管理上滿足公交車管理職能的基本需求,能夠方便的進(jìn)行司機(jī)信息管 理、車輛信息管理、線路信息管理和車輛與線路的分配管理。3. 為公交車管理系統(tǒng)提供數(shù)據(jù)支持。4.

11、 與傳統(tǒng)的手工管理相比,應(yīng)該添加用戶權(quán)限的管理機(jī)制。保證系統(tǒng)安全性。2.2功能需求根據(jù)對(duì)上述管理系統(tǒng)的業(yè)務(wù)流程、要求以及所要實(shí)現(xiàn)的目標(biāo),可以擬岀以下 的需求目標(biāo):1. 建立司機(jī)檔案和車倆檔案管理的管理和維護(hù),在計(jì)算機(jī)的支持下快速的完 成車輛信息的添加和刪除。2建立線路與車倆的設(shè)置管理,在計(jì)算機(jī)的管理下,可以實(shí)現(xiàn)方便的添加、 刪除、修改。3. 建立車輛與司機(jī)的分配管理,在計(jì)算機(jī)的管理下,可以實(shí)現(xiàn)方便的添加、 刪除、修改。4實(shí)現(xiàn)系統(tǒng)權(quán)限設(shè)置管理,保證系統(tǒng)的安全性。根據(jù)系統(tǒng)的需求分析,得到本系統(tǒng)的功能要求如下:1. 車輛信息的設(shè)置管理:系統(tǒng)合法用戶可以根據(jù)公司具體情況設(shè)置關(guān)于車輛 的具體資料檔案。2

12、. 權(quán)限管理:為了很好的保證系統(tǒng)的安全性,公司相關(guān)負(fù)責(zé)人可以根據(jù)實(shí)際 情況添加和刪除系統(tǒng)用戶。3線路檔案管理:一個(gè)城市的運(yùn)營線路可能復(fù)雜且數(shù)據(jù)量極大,系統(tǒng)用戶可 以進(jìn)行線路的規(guī)劃管理。4. 車輛與司機(jī)的分配管理:為了維護(hù)好車輛,要求司機(jī)做好車輛的日常維護(hù) 工作,落實(shí)具體責(zé)任。5. 車輛運(yùn)行線路管理:實(shí)現(xiàn)對(duì)車輛和線路分配的管理,包括添加、修改和刪 除操作。2-3性能需求系統(tǒng)的運(yùn)行環(huán)境要求是:1. 硬件環(huán)境目前,考慮到所開發(fā)系統(tǒng)主要應(yīng)用在中小規(guī)模的公交車公司,因此,中等配 置的計(jì)算機(jī)硬件就可以滿足系統(tǒng)功能需求??紤]到公司規(guī)模的擴(kuò)大和硬件價(jià)格的 降低,為本系統(tǒng)配置在較優(yōu)秀的服務(wù)器硬件上,可以充分發(fā)揮

13、本系統(tǒng)的功能。 處理器:inter pentium 4 1.8g 或更高內(nèi)存:512m(推薦)硬盤空間:80gb顯卡:svga顯示適配器2. 軟件環(huán)境操作系統(tǒng):windows 2003/xp 開發(fā)軟件:microsoft visual studio. net 2003 數(shù)據(jù)庫:microsoft sql server 20003系統(tǒng)開發(fā)相關(guān)技術(shù)3.1編程環(huán)境的選擇微軟公司的visual studio .net 2003是windows應(yīng)用程序開發(fā)平臺(tái),該平 臺(tái)具有直觀的開發(fā)界面、先進(jìn)的程序設(shè)計(jì)思想,是目前最為廣泛的、易學(xué)易用的 面向?qū)ο蟮拈_發(fā)工具。vs.net 2003提供了大量的控件,這些控

14、件可用于設(shè)計(jì)界 面和實(shí)現(xiàn)各種功能,減少了編程人員的工作量,也簡化了界面設(shè)計(jì)過程,從而有 效的提高了應(yīng)用程序的運(yùn)行效率和可靠性。c#同時(shí)提供的一套完善的編譯和調(diào)試 系統(tǒng),使得在開發(fā)過程中可以很好的解決開發(fā)過程中出現(xiàn)的一系列問題。同時(shí)在 該平臺(tái)下還提供了軟件發(fā)布功能,使得開發(fā)、調(diào)試到發(fā)布可以一步完成。故而, 這是實(shí)現(xiàn)該信息管理信息的一個(gè)較好選擇。c#是一門完全面向?qū)ο蟮某绦蛟O(shè)計(jì)語言。它可用于創(chuàng)建要運(yùn)行在.net clr 上的應(yīng)用程序的語言之一,是微軟專門為使用.net平臺(tái)而創(chuàng)建的。使用c#語言 在開發(fā)過程中以對(duì)象為開發(fā)元素,每一個(gè)對(duì)象都具有一些特性和行為(屬性、事 件和方法)。開發(fā)人員可以最有效的

15、利用所創(chuàng)建的每一個(gè)對(duì)象。同時(shí),用戶還可 以自己開發(fā)控件,從而滿足用戶的不同的需求,這樣變使得應(yīng)用程序具有可通用 性可說擴(kuò)展性和強(qiáng)有力的功能。確定測評(píng)指標(biāo)的原則與方法。3.2關(guān)系型數(shù)據(jù)庫sql server 2000是一種功能強(qiáng)大的數(shù)據(jù)庫開發(fā)工具,數(shù)據(jù)庫匯集了信息以 供查詢、存儲(chǔ)和檢索。它的優(yōu)點(diǎn)在于強(qiáng)大的數(shù)據(jù)庫引擎,它可以承受10000條以 上的記錄測試,而且數(shù)據(jù)庫運(yùn)行于服務(wù)器上,相對(duì)于本地?cái)?shù)據(jù)庫,可以明顯的減 少內(nèi)存占用,提高運(yùn)行速度和本機(jī)的利用效率。sql數(shù)據(jù)庫具有友好的管理界面 企業(yè)管理器,其中的視圖可以直觀的進(jìn)行數(shù)據(jù)處理,同時(shí)支持直觀的數(shù)據(jù)庫 設(shè)計(jì),也可以通過詞法分析器,使用sql語句進(jìn)

16、行數(shù)據(jù)庫的各種操作,包括數(shù)據(jù) 庫的建立,表的建立和修改等一系列操作。采用c/s模式的設(shè)計(jì),可以更加合理的利用企業(yè)資源,使得數(shù)據(jù)集中在一臺(tái) 服務(wù)器上,從來節(jié)省了數(shù)據(jù)庫管理的人力資源,也使得由于非專業(yè)人士的謀操作, 或者別的各種電腦意外而導(dǎo)致數(shù)據(jù)丟失,或者別的不必要損失,所以在數(shù)據(jù)庫選 擇上采用了 sql server 2000。4總體設(shè)計(jì)4.1設(shè)計(jì)思想與處理流程本系統(tǒng)釆用面向?qū)ο筮M(jìn)行分析和設(shè)計(jì),在sql server 2000數(shù)據(jù)庫上實(shí)現(xiàn)數(shù) 據(jù)操作。使用了上文所介紹的完全面向?qū)ο蟮腸#語言作為開發(fā)語言。使用 windows xp作為開發(fā)平臺(tái),能夠很好地實(shí)現(xiàn)系統(tǒng)的基木開發(fā)和測試。系統(tǒng)的基木流程是:

17、用戶登錄 主界面選擇各項(xiàng)子功能。4.2系統(tǒng)層次模塊圖“公交車管理系統(tǒng)”主要分為用戶登錄、車輛管理、司機(jī)管理、線路管理和 車輛分配管理等6個(gè)主功能模塊。系統(tǒng)主模塊功能樹如圖1所示。4.3模塊設(shè)計(jì)1.登錄模塊輸入用戶的名稱和密碼,如果用戶名、密碼正確,則進(jìn)入主控制平臺(tái);否則 給出錯(cuò)誤提示。2 用戶注冊(cè)模塊系統(tǒng)管理員進(jìn)行用戶使用設(shè)置和初始密碼的設(shè)置。3. 車輛信息管理該模塊的設(shè)計(jì)目的是用于用戶錄入與車輛有關(guān)的資料信息。比如車牌號(hào)、車 輛擁有的座位數(shù)目和是否有人售票等信息。4 .司機(jī)管理在該模塊下包含兩個(gè)子模塊。其中一個(gè)用于對(duì)司機(jī)資料的錄入操作;另一個(gè) 模塊提供給用戶查詢司機(jī)信息。5. 線路管理該模塊

18、的功能同司機(jī)管理模塊類似,同樣包含兩個(gè)子模塊。一個(gè)用于錄入線 路信息;另一個(gè)用于查詢線路信息。6. 車輛分配線路管理實(shí)現(xiàn)將每輛車與線路相關(guān)聯(lián)的操作。5數(shù)據(jù)庫設(shè)計(jì)5. 1 ado. net 綜述ado. net是ado的改進(jìn)版木。ado. net是與c#和.net framework 一起使用的 類集的名稱,用于以關(guān)系型的、面向表的格式訪問數(shù)據(jù)。ado. net集成到.net framework中,可以用于任何.net語言,尤其是c#。這也是該管理系統(tǒng)采用c# 程序語言的原因。ado. net的作用與ado (active data objects)相同,提供易于使用的類集, 以訪問數(shù)據(jù),ado

19、. net的功能得到更新和增強(qiáng),可以用于net編程環(huán)境。在使用 sql server數(shù)據(jù)庫時(shí),通過sql server專用的內(nèi)置.net數(shù)據(jù)提供者可以獲得最 好的性能和對(duì)基礎(chǔ)功能的最直接的訪問。1.net數(shù)據(jù)提供程序根據(jù)數(shù)據(jù)源不同,常用的net數(shù)據(jù)提供程序可以分為以3種:sql server 數(shù)據(jù)提供程序、oledb數(shù)據(jù)源提供程序以及odbc兼容的數(shù)據(jù)源提供程序。所有 的數(shù)據(jù)提供程序都位于system. data命名空間中。每種.net數(shù)據(jù)提供程序都由4 個(gè)主要組建組成。它們的功能如下:(1) connection對(duì)象:用于連接數(shù)據(jù)源。(2) command對(duì)象:用于執(zhí)行針對(duì)數(shù)據(jù)源的命令并且檢

20、索datareader或者 dataset,或者用于針對(duì)數(shù)據(jù)源的一個(gè)insert. upadta或者delete命令。(3) datareader對(duì)象:一個(gè)已連接的、前向只讀結(jié)果集。(4) dataadapter對(duì)象:用于從數(shù)據(jù)源產(chǎn)生一個(gè)dataset,并且更新數(shù)據(jù)源。2. 數(shù)據(jù)庫應(yīng)用程序的開發(fā)流程雖然數(shù)據(jù)庫應(yīng)用程序訪問的數(shù)據(jù)庫不通,實(shí)現(xiàn)的功能也不同,但其開發(fā)流程 主要分為以下幾個(gè)步驟:(1) 創(chuàng)建數(shù)據(jù)庫。(2) 使用connection對(duì)象創(chuàng)建到數(shù)據(jù)庫的連接。(3) 使用command對(duì)象對(duì)數(shù)據(jù)源執(zhí)行sql命令并返回?cái)?shù)據(jù)。(4)利用datareader和dataset對(duì)象讀取和處理數(shù)據(jù)源的數(shù)

21、據(jù)。5.2邏輯設(shè)計(jì)l.e-r模型的建立根據(jù)針對(duì)系統(tǒng)的需求分析,可以得到本系統(tǒng)對(duì)應(yīng)的各實(shí)體以及實(shí)體之間的關(guān) 系。其中包含有用戶實(shí)體、司機(jī)實(shí)體、車輛實(shí)體、線路信息實(shí)體等。下面根據(jù)分 析得出其中主要的er圖,如圖2和圖3所示。圖2描述了司機(jī)實(shí)體和車輛實(shí)體之間的關(guān)系。圖3描述了車輛實(shí)體和線路實(shí)體之間的關(guān)系。2.表單設(shè)計(jì)根據(jù)對(duì)各個(gè)實(shí)體的分析,可以進(jìn)行數(shù)據(jù)庫表的具體設(shè)計(jì)。下而給岀兩張具體 表設(shè)計(jì)的實(shí)例,如表1和表2所示。表1用戶信息表的實(shí)現(xiàn)字段名數(shù)據(jù)類型長度允許為空是否為主鍵說明idint4否是唯一標(biāo)識(shí)usernamenvarchar50否否用戶名userpassnvarchar50否否用戶密碼users

22、exnvarchar50否否用戶性別usertelnvarchar50是否用戶電話uscraddrnvarchar50是否用戶住址表2線路信息表的實(shí)現(xiàn)字段名數(shù)據(jù)類型長度允許為空是否為主鍵說明idint4否是唯一標(biāo)志linenamenvarchar50是否路線名稱linccodcnvarchar50是否路線代號(hào)starttimenvarchar50是否起始時(shí)間endtimenvarchar50是否中止時(shí)間stratplacenvarchar50是否起點(diǎn)remarknvarchar50是否備注costtimcnvarchar50是否用時(shí)inputtimedatetime8是否輸入時(shí)間5.3存儲(chǔ)過程

23、在該公交車管理系統(tǒng)的在數(shù)據(jù)的查詢、添加和刪除等操作上主要采用了存儲(chǔ) 過程。存儲(chǔ)過程是編譯好了的sql語句。它類似于函數(shù)的使用,可以直接通過參 數(shù)調(diào)用存儲(chǔ)過程,所以效率比較高。1. 存儲(chǔ)過程的介紹存儲(chǔ)過程是由一組為了完成特定功能的sql語句集,經(jīng)過編譯和優(yōu)化后存儲(chǔ) 在數(shù)據(jù)庫服務(wù)器中,用戶通過指定存儲(chǔ)過程的名字并給出參數(shù)(如果該存儲(chǔ)過程 帶有參數(shù))來執(zhí)行它。存儲(chǔ)過程的能力大大增強(qiáng)了 sql語言的功能和靈活性。2 存儲(chǔ)過程的優(yōu)勢(1) 允許標(biāo)準(zhǔn)組件式編程。在存儲(chǔ)過程被創(chuàng)建以后,可以在程序中被多次調(diào) 用,而不必重新編寫該存儲(chǔ)過程的sql語句。(2) 實(shí)現(xiàn)較快的執(zhí)行速度。因?yàn)榇鎯?chǔ)過程是預(yù)編譯的,在首次運(yùn)

24、行前,查詢 優(yōu)化器對(duì)其進(jìn)行分析、優(yōu)化,并給出了最終被存在系統(tǒng)中的執(zhí)行計(jì)劃。(3) 減少網(wǎng)絡(luò)流量。在調(diào)用存儲(chǔ)過程時(shí),網(wǎng)絡(luò)中傳送的只是該調(diào)用語句,而 不是多條sql語句,從而大大減少了網(wǎng)絡(luò)流量。(4) 作為一種安全機(jī)制來充分利用。系統(tǒng)管理員通過對(duì)執(zhí)行某一存儲(chǔ)過程的 權(quán)限進(jìn)行限制,從而能夠?qū)崿F(xiàn)對(duì)相應(yīng)的數(shù)據(jù)訪問權(quán)限制,避免非授權(quán)用戶對(duì)數(shù)據(jù) 的訪問,保證數(shù)據(jù)安全。3. 存儲(chǔ)過程的代碼實(shí)現(xiàn)在創(chuàng)建存儲(chǔ)過程時(shí),需要確定存儲(chǔ)過程的三個(gè)組成部分:1. 所有的輸入?yún)?shù)以及傳遞給調(diào)用者的輸岀參數(shù)。2. 被執(zhí)行的針對(duì)數(shù)據(jù)庫的操作語句,包括調(diào)用其他存儲(chǔ)過程的語句。3返回給調(diào)用者的狀態(tài)值,以指明調(diào)用是成功還是失敗。下面給出

25、在該系統(tǒng)中使用到的部分存儲(chǔ)過程:實(shí)現(xiàn)對(duì)滿足id號(hào)是carlincid的汽車線路數(shù)據(jù)的刪除操作。create proc prc_deletecarlinecarlineid intasdelete t_car_line where id=carlineidif rowcount>0return 0elsereturn 1go實(shí)現(xiàn)查詢所有汽車信息的存儲(chǔ)過程。create proc spr_carallasselect id ,carnum as “車牌號(hào)h,carcolor as ”顏色n,sitnum as ”座位數(shù)cartype as ”類型 “,aircondi as "是否

26、空調(diào)車",company as "午品牌",remark as "備注"from t_cargo6詳細(xì)設(shè)計(jì)根據(jù)已有的需求分析和總體設(shè)計(jì),在此基礎(chǔ)上進(jìn)行系統(tǒng)的詳細(xì)設(shè)計(jì)和實(shí)現(xiàn)。 為此,建立了一個(gè)c#.net項(xiàng)目。6.1登錄模塊1. 用戶身份驗(yàn)證輸入:用戶名和密碼。處理:(1) 用戶登錄窗體啟動(dòng)。(2) 輸入用戶名和密碼。(3) 檢索數(shù)據(jù)庫中數(shù)據(jù),是否有相應(yīng)的用戶名和密碼。(4) 如果用戶名和密碼為空,或者錯(cuò)誤,進(jìn)行提示。(5) 如果輸入的用戶名和密碼正確,則允許該用戶進(jìn)入系統(tǒng)。(6) 進(jìn)入主控制臺(tái)。輸岀:主控制臺(tái)。2. 用戶登錄模塊的窗體設(shè)計(jì)用戶登

27、錄模塊的窗體設(shè)計(jì),如圖4所示。3用戶登錄模塊的主耍代碼private void button 1 _click(object sender, system.eventargs e) dataaccess myacc=new dataaccess(); if(myacc.useriogin(this.textbox 1 .text.trim(), this.textbox2.text.trim()= 1) this.visible=false;main newmain=new main(this.textbox 1 .text.trim(); newmain.show();else if(mya

28、cc.userlogin(this.textbox 1 .text.trim()/,h) = 0) messagebox.show(h 沒有該用戶!“);elsemessagebox.show("登錄失敗”);private void buttonl_click()鼠標(biāo)事件用于實(shí)現(xiàn)在輸入用戶名和密碼后,進(jìn)入 系統(tǒng)主控制界面的方法。dataaccess類是自定義的用于實(shí)現(xiàn)數(shù)據(jù)庫訪問的類。該 方法中判斷語句里調(diào)用了該類所聲明的對(duì)象myacc的方法userlogin(),該方法的 具體實(shí)現(xiàn)代碼如下所示:public int userlogin(string username,string

29、useipass)database mydb=new database();sqlparametern para=my dbmakeinparamcusemame 蔦 sqldbtype.n varcha50,username),my db.makelnparamc'userpass'sqldbiype.nvarchar,50,userpass);return mydbrunproccspr_ucrlogin”,pani);該段代碼展示了上文中所提到的存儲(chǔ)過程的具體使用。6.2主操作界面模塊1.主控制平臺(tái)的窗體設(shè)計(jì)主控制平臺(tái)的窗體設(shè)計(jì),如圖5所示。從界面上直觀的向用戶表明了在該

30、系統(tǒng)下可以進(jìn)行的一系列操作,包括新用 戶的注冊(cè),車輛信息的管理,司機(jī)信息的管理,線路信息的管理和車輛線路分配 的管理。當(dāng)用戶選擇相應(yīng)的功能進(jìn)行操作時(shí),觸發(fā)該按鈕事件,則可以進(jìn)入相應(yīng) 的功能界面進(jìn)行相應(yīng)的操作。6.3系統(tǒng)用戶注冊(cè)模塊1. 添加用戶子模塊添加用戶子模塊負(fù)責(zé)系統(tǒng)的安全性,在該模塊種只能增加新用戶而不能修 改、刪除用戶,這樣是為了加強(qiáng)系統(tǒng)的安全性,保證了系統(tǒng)的惡意操作或誤刪除 等情況岀現(xiàn)。(1) 添加新用戶功能的實(shí)現(xiàn),并且設(shè)置用戶的初始密碼。(2) 功能模塊實(shí)現(xiàn)的界面效果如圖6所示。2. 該子模塊功能主要代碼用戶名檢測機(jī)制,保證用戶名的唯一性。private void button2_

31、click(object sender, system.eventargs e)if(this.textbox 1 .text.trim()=,h) messagebox.show(h用戶名不能為空“);else if(checkuser()=l)messagebox.show(h該用戶名不存在,可以注冊(cè)!");else messagebox.show(”該用戶名存在,請(qǐng)重新錄入新的用戶名! “);將新用戶的信息寫入數(shù)據(jù)庫。通過自定義對(duì)象myaccc訪問數(shù)據(jù)庫,主要是 由該對(duì)彖調(diào)用存儲(chǔ)過程來實(shí)現(xiàn)。private void button 1 _click(object sender,

32、system.eventargs e)/checkuser()是自定義的方法,實(shí)現(xiàn)對(duì)用八名的檢查判斷。if(checkuser()=o) messagcbox.show(”該用戶名存在,請(qǐng)重新錄入新的用戶名! “);return ;自定義的regcheck()方法,根據(jù)該方法返回的值對(duì)不同的情況進(jìn)行處理。 if(regcheck()=l) dataaccess myacc=new dataaccess();int li_check=myacc.uerreg(this.textbox 1 .text.trim(),this.texlbox2.text.trim(), bobox 1 .selec

33、tedltem.tostringo, this.textbox4.text.trim(),this.textbox5.text.trim();if(li_check=l) messagebox.show("注冊(cè)成功");6.4車輛信息管理模塊1.車輛信息模塊該模塊實(shí)現(xiàn)對(duì)車倆信息如、車牌號(hào)、顏色、座位數(shù)、是否無人售票和車輛品 牌信息的錄入和刪除操作。該界面窗體效果如圖7所示。2.該功能模塊實(shí)現(xiàn)的主要代碼該段代碼在用戶點(diǎn)擊“所有”按時(shí),觸發(fā)一個(gè)事件,通過調(diào)用allcarinfo()方 法來返回?cái)?shù)據(jù)庫中的數(shù)據(jù),然后使用datagrid控件將數(shù)據(jù)顯示出來。private void

34、button2_click(object sender, system.eventargs e)dataaccess myacc = new dataaccess(); dataset myset = new datasel(); myset=myacc.ancarinfo();this.datagridl .datasource = myset.tableso;該段代碼實(shí)現(xiàn)用戶增加車輛信息后完成保存功能的實(shí)現(xiàn)。其中針對(duì)某些可能 出錯(cuò)的地方做出了人性化的處理,以便用戶更正和做出相應(yīng)的處理。6.5司機(jī)信息管理模塊1司機(jī)信息管理模塊通過該窗體,輸入司機(jī)姓名、身份證、編號(hào)和駕駛編號(hào)等等司機(jī)的個(gè)人資料

35、, 實(shí)現(xiàn)添加司機(jī)信息的功能,該功能模塊窗體的效果如圖8所示。2. 實(shí)現(xiàn)該功能模塊的主要代碼該事件實(shí)現(xiàn)將合法的司機(jī)信息寫入數(shù)據(jù)庫。同樣通過自定義類的對(duì)象來訪問 數(shù)據(jù)庫,并通過調(diào)用存儲(chǔ)過程實(shí)現(xiàn)完成操作。private void button 1 _click(object sender, system.eventargs e)if(adddirverscheck()=l) dataaccess myacc=new dataaccess();int li_check=myacc.adddirvers(this.tb_name.text.trim(), this.tb_number.text.trim

36、(), this.lab_photo.text.trim(), this.tb_idnumbe匚tex匸tdm(), this.tb_phone.text.trim(), this.tb_address.text.trim(), his.tb_dirvernumber.text.trim();if(li_check=l) string ls_d=system.environment.currentdirectory;messagebox.show("操作成功");int li_counts=this.controls.count;for(int i=0;i<li_co

37、unts;i+) if(this.controlsi.gettype().toslring()=msystem. windows.forms.textbox") this.controlsi.text=n,' 6.6線路信息管理模塊1.在該功能模塊中實(shí)現(xiàn)添加線路相關(guān)的信息,主要輸入的信息包括線路編 號(hào)、線路名稱、發(fā)車時(shí)間和收車時(shí)間等,具體的窗體效果見下頁圖9所示。2.實(shí)現(xiàn)該功能的主要代碼checkrego是一個(gè)用于實(shí)現(xiàn)檢查用戶注冊(cè)信息的私有方法,該方法通過嵌入 sql語句來檢索數(shù)據(jù)庫信息,以核對(duì)用戶信息的有效性。private int checkregodataset mys

38、et=new dataset();string is_query= "select * from t_linelnfo where linename=n,+ lhis.lb_name.texl.trim()+”' or linecode="'+ this.tb_code.text.trim()+”'database mydb=new database();myset=mydb.sqlquery(is_query);if(myset.tablesfo.defauitview.count=0) return 0;elsereturn 1;6.7車輛分配線

39、路管理模塊l車輛分配線路管理功能公交車最終要與固定的某條線路相匹配,把具體的每一輛車分配到設(shè)置好的 線路上。這樣,汽車,司機(jī),線路才能完成有機(jī)的聯(lián)系,形成一個(gè)整體。對(duì)于管 理者來說,能夠通過該系統(tǒng)所提供的功能從宏觀上把握車輛的運(yùn)行情況,如圖 10所示。2.實(shí)現(xiàn)功能的主耍代碼鼠標(biāo)單擊“確定”事件時(shí),將進(jìn)行的操作。首先根據(jù)整型變量li.lincid和 li.carld的值來判斷是否選擇了車輛或者某條線路;若沒有,則彈出一消息窗 口,給出提示信息。private void button 1 _click(object sender, system.eventargs e)if(li_lineid=0 | li_carid=0)mcssagcbox.show(”車輛或者線路沒有選擇,請(qǐng)選擇! “);return;dataaccess myacc二new dataaccess();if(myacc.checklinbycarid(li_carid)=o)messagebox.show(h該汽車已經(jīng)分配線路“);elseint li_flag=o;if(t

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論