版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 基于.NET的城市公交查詢系統(tǒng)的設(shè)計與實現(xiàn)</p><p><b> 摘 要</b></p><p> 隨著Internet的快速發(fā)展,互聯(lián)網(wǎng)已成為人們快速獲取、發(fā)布和傳遞信息的重要渠道,顯然它已成為社會生活的一部分。但我國的城市公交信息查詢卻還處于比較落后的水平上,廣大的市民獲取路線信息方式也比較少,最常用的方式只局限在詢問和交通地圖上。而
2、城市公交查詢系統(tǒng)就是使人們能夠在因特網(wǎng)上方便、簡單的查詢出各條路線,了解自己所經(jīng)過的每個站點等信息,以便能更好的制定自己的行動計劃而設(shè)計的。它主要實現(xiàn)的模塊是公交信息的查詢模塊,其中包括的功能有:線路查詢、站點查詢、站站查詢、車站查詢;而系統(tǒng)管理模塊主要實現(xiàn)的是對各個數(shù)據(jù)表進行添加、編輯、刪除等功能操作以及對留言版進行一些相應(yīng)的回復(fù)。</p><p> 城市公交查詢系統(tǒng)開發(fā)技術(shù)采用的是基于.NET的B/S架構(gòu),
3、它的前端選用ASP.NET為主要的編程框架,其.ASPX文件包含組成用戶界面的 HTML 文本和控件,而后臺選用了C#編程語言。用.NET編程的最大好處在于易于管理和重用性比較高。數(shù)據(jù)庫選用的是SQL Server 2000,而應(yīng)用程序通過ADO.NET與SQL Server 2000數(shù)據(jù)庫建立鏈接,并且運用SQL 語言實現(xiàn)對其數(shù)據(jù)庫進行操作。在此系統(tǒng)中,大量采用了存儲過程來對數(shù)據(jù)庫進行操作。</p><p>
4、 關(guān)鍵詞:互聯(lián)網(wǎng);城市公交查詢;.NET;存儲過程 </p><p> The Design and Realization of City Bus Inquiry System Based on .NET</p><p><b> Abstract</b></p><p> With the rapid development of I
5、nternet, the Internet has become an important channel of people acquiring, publishing and transmitting information and obviously become one part of social life. But China's technology of urban public transport inform
6、ation inquiry is still in a relatively backward level. The numerous citizens have a little access to acquire the information about bus lines. The most common ways are confined to traffic maps or the reference to stranger
7、. And the urban public transport </p><p> The development technology of the city bus inquiry system adopt B/S framework based on .NET. Its front-end part uses ASP.NET as the major framework. The .ASPX file
8、contains HTML text and controls which make up of user interface. The back-end chooses C# as its programming language. The greatest benefit of choosing .NET to programming is the easy managements and reusability. Database
9、 uses the SQL Server 2000, and the application accesses the database by ADO.NET and uses SQL language to operate the</p><p> Key words: Internet; City Bus inquiries; .NET; Stored Procedure.</p><p
10、><b> 目 錄</b></p><p><b> 論文總頁數(shù):26頁</b></p><p><b> 1引言1</b></p><p> 1.1 城市公交查詢系統(tǒng)的前景1</p><p> 1.2 城市公交查詢系統(tǒng)的作用2</p>&
11、lt;p> 2城市公交查詢系統(tǒng)的實現(xiàn)技術(shù)和工具2</p><p> 2.1 ASP.NET2</p><p> 2.1.1 什么是ASP.NET2</p><p> 2.1.2 .NET Framework概述2</p><p> 2.1.3 ASP.NET的特點3</p><p><b
12、> 2.2 C#4</b></p><p> 2.3 ADO.NET對象操作數(shù)據(jù)庫4</p><p> 2.4 SQL Server 20005</p><p> 2.5 Microsoft Visual Studio.NET5</p><p> 3 城市公交車查詢系統(tǒng)的分析與設(shè)計5</p>
13、<p> 3.1 需求分析5</p><p> 3.2 概要設(shè)計6</p><p> 3.2.1 系統(tǒng)功能描述6</p><p> 3.2.2 系統(tǒng)功能模塊劃分6</p><p> 3.2.3 系統(tǒng)流程設(shè)計8</p><p> 3.2.4 系統(tǒng)E-R圖10</p>&l
14、t;p> 4 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計與實現(xiàn)12</p><p> 4.1 數(shù)據(jù)表的創(chuàng)建12</p><p> 4.2 數(shù)據(jù)庫的連接13</p><p> 4.3 存儲過程14</p><p> 5 城市公交查詢系統(tǒng)的實現(xiàn)15</p><p> 5.1 系統(tǒng)首頁15</p><p
15、> 5.2 后臺管理界面18</p><p><b> 6 系統(tǒng)測試23</b></p><p> 6.1 測試用戶查詢模塊23</p><p> 6.2 測試系統(tǒng)管理模塊23</p><p> 6.3 測試留言簿管理24</p><p><b> 結(jié)
16、論25</b></p><p><b> 參考文獻25</b></p><p><b> 致 謝26</b></p><p><b> 聲 明27</b></p><p><b> 1引言</b></p>
17、<p> 當(dāng)今是一個以網(wǎng)絡(luò)為中心的信息化世界,計算機已成為廣大市民不可缺少的工具。由于我國城市化進程的推進,目前城市不斷地在向郊區(qū)延伸,邊緣不斷擴大,和郊區(qū)的邊界甚至開始變得模糊化,城市公交路線不斷地增多,加之眾多公交路線時常調(diào)整,目前眾多市民,特別是一些大中型城市的市民,對各條公交路線的信息不清楚或掌握得不準(zhǔn)確。并且當(dāng)今各大城市的家庭轎車相繼增多,使城市交通出現(xiàn)擁堵現(xiàn)象。而公共交通與其它交通方式相比具有人均占用道路少、能源
18、消耗低、運輸成本低、污染相對較小、客運量大,運送效率高等優(yōu)點,它是解決大、中城市交通擁堵等交通問題,所以各大城市都在積極地發(fā)展公共交通的運用。本畢業(yè)設(shè)計主要的目的就是實現(xiàn)公交查詢以及信息發(fā)布。</p><p> 本設(shè)計的預(yù)期成果是:此系統(tǒng)能夠使用戶簡單的查詢出他們自己想要的車次經(jīng)過哪些站點,在哪一站可以轉(zhuǎn)乘,然后繼續(xù)換乘哪路車;也可以預(yù)先知道可以通過哪些車次可以到達目的地。在留言版中可以留下用戶對系統(tǒng)的任何信息
19、或者任何要求,管理員可以通過對留言版信息的解讀對系統(tǒng)進行一系列的修改。</p><p> 1.1 城市公交查詢系統(tǒng)的前景</p><p> 近十幾年來,我國汽車工業(yè)蓬勃發(fā)展,特別是家用轎車的增長。發(fā)展中國家用轎車市場,其規(guī)模與速度必須與城市基礎(chǔ)建設(shè)同步,如果一味追求發(fā)展速度,勢必將造成很多大城市嚴(yán)重的交通堵塞問題,而且還將給社會帶來一系列不良后果,如加大社會經(jīng)濟成本,增加能源消耗,惡化
20、城市空氣,增加交通事故等等。因此,在發(fā)展我國的汽車工業(yè)的同時要注意到城市公共交通存在的意義和作用,加大國家在公共交通方面的投入,全面規(guī)劃、統(tǒng)籌安排、合理配置、科學(xué)管理,使城市道路流暢、方便、安全、有效、可靠。</p><p> 然而,隨著公共交通的快速發(fā)展,會逐漸地出現(xiàn)越來越多的公共汽車和不同的公交路線,這樣會使人們對各條公交路線的信息掌握的不是很清楚。而城市公交查詢系統(tǒng)主要任務(wù)就在于對各條路線的信息查詢,和對
21、整個公交線路信息進行相關(guān)的管理。使用公交查詢系統(tǒng)人們就可以找出一條最適合于自己的線路,減少不必要的坐車時間。所以城市公交查詢系統(tǒng)的前景非常樂觀。</p><p> 基于城市公交查詢系統(tǒng)與傳統(tǒng)的城市公交查詢系統(tǒng)有相似又有區(qū)別。相似之處在于系統(tǒng)的核心都是B/S架構(gòu)。B/S 架構(gòu)是不需要專門的操作環(huán)境,在任何地方,只要能上網(wǎng),就能夠操作系統(tǒng)。不同之處在于實現(xiàn)的語言不同,傳統(tǒng)的一般用的語言是ASP+它的腳本語言,是不面
22、向?qū)ο蟮?,而基于本設(shè)計的城市公交查詢系統(tǒng)用的語言是.NET,是面向?qū)ο蟮?,面向?qū)ο蟮木幊陶Z言最大的特色就是可以編寫自己所需的數(shù)據(jù)類型。對于傳統(tǒng)的城市公交查詢系統(tǒng)他易于管理,重用性比較高。</p><p> 1.2 城市公交查詢系統(tǒng)的作用</p><p> 首先:有條理地、清晰地呈現(xiàn)出城市各條線路信息。不管城市擴展得有多大,城市公交路線增加的有多少,人們都可以通過城市公交查詢系統(tǒng)來獲得各
23、條公交路線的詳細信息。</p><p> 其次:節(jié)省時間。在日益激烈地競爭環(huán)境中,時間可以說是人們最大的資本。城市公交查詢系統(tǒng)可以為廣大的市民指出一條最適合于他們自己的公交線路,減少不必要的多做車的情況,從而節(jié)省出更多的寶貴時間計劃他們自己的事。</p><p> 最后:消除城郊市民和外來人的不安。初到一個陌生的環(huán)境,特別是一個大城市中,許多人都會感到局促不安。城市公交查詢系統(tǒng)可以使人
24、們了解這個城市的一些基本情況,也可以使人們能夠準(zhǔn)確地到達他們自己想要去的地方,減少不必要的坐錯車的情況。</p><p> 2城市公交查詢系統(tǒng)的實現(xiàn)技術(shù)和工具</p><p> 2.1 ASP.NET </p><p> 2.1.1 什么是ASP.NET </p><p> ASP.NET是Microsoft.net的一部分,ASP.
25、net 是一種建立在公共語言運行庫上的編程框架,可用于在服務(wù)器上生成功能強大的Web應(yīng)用程序。它提供了一個統(tǒng)一的 Web 開發(fā)模型,并為開發(fā)人員提供了創(chuàng)建企業(yè)級 Web 應(yīng)用程序所需的各種服務(wù)。ASP.NET 是一個已編譯的、基于 .NET 的環(huán)境,可以使用任何與 .NET 兼容的語言(包括 Visual Basic .NET、C# 和就Jscript.)創(chuàng)作應(yīng)用程序。另外,任何 ASP.NET 應(yīng)用程序都可以完全使用.NET Fram
26、ework。開發(fā)人員可以方便地獲得這些技術(shù)的優(yōu)點,其中包括托管的公共語言運行庫環(huán)境、類型安全、繼承等等。</p><p> 2.1.2 .NET Framework概述 </p><p> .NET Framework 是支持生成和運行下一代應(yīng)用程序和 XML Web services 的內(nèi)部 Windows 組件。.NET Framework的幾個主要組成部分:首先是整個開發(fā)框架的
27、基礎(chǔ),即通用語言運行時以及它所提供的一組基礎(chǔ)類庫;在開發(fā)技術(shù)方面,.NET提供了全新的數(shù)據(jù)庫訪問技術(shù)ADO .NET,以及網(wǎng)絡(luò)應(yīng)用開發(fā)技術(shù)ASP .NET和Windows編程技術(shù)Win Forms;在開發(fā)語言方面,.NET提供了VB、VC++、C#、 Jscript等多種語言支持;而Visual Studio .NET則是全面支持.NET的開發(fā)工具。</p><p> .NET Framework 主要實現(xiàn)下列
28、目標(biāo): </p><p> ?。?)提供一個一致的面向?qū)ο蟮木幊汰h(huán)境,而無論對象代碼是在本地存儲和執(zhí)行,還是在本地執(zhí)行但在 Internet 上分布,或者是在遠程執(zhí)行的。</p><p> ?。?)提供一個將軟件部署和版本控制沖突最小化的代碼執(zhí)行環(huán)境。</p><p> ?。?)提供一個可提高代碼(包括由未知的或不完全受信任的第三方創(chuàng)建的代碼)執(zhí)行安全性的代碼執(zhí)行環(huán)
29、境。</p><p> ?。?)提供一個可消除腳本環(huán)境或解釋環(huán)境的性能問題的代碼執(zhí)行環(huán)境。</p><p> 使開發(fā)人員的經(jīng)驗在面對類型大不相同的應(yīng)用程序(如基于Windows 的應(yīng)用程序和基于 Web 的應(yīng)用程序)時保持一致。按照工業(yè)標(biāo)準(zhǔn)生成所有通信,以確保基于 .NET Framework 的代碼可與任何其他代碼集成。</p><p> .NET Frame
30、work 具有兩個主要組件:公共語言運行庫和 .NET Framework 類庫。公共語言運行庫是 .NET Framework 的基礎(chǔ)。您可以將運行庫看作一個在執(zhí)行時管理代碼的代理,它提供內(nèi)存管理、線程管理和遠程處理等核心服務(wù),并且還強制實施嚴(yán)格的類型安全以及可提高安全性和可靠性的其他形式的代碼準(zhǔn)確性。事實上,代碼管理的概念是運行庫的基本原則。以運行庫為目標(biāo)的代碼稱為托管代碼,而不以運行庫為目標(biāo)的代碼稱為非托管代碼。.NET Fram
31、ework 的另一個主要組件是類庫,它是一個綜合性的面向?qū)ο蟮目芍赜妙愋图?,您可以使用它開發(fā)多種應(yīng)用程序,這些應(yīng)用程序包括傳統(tǒng)的命令行或圖形用戶界面 (GUI) 應(yīng)用程序,也包括基于 ASP.NET 所提供的最新創(chuàng)新的應(yīng)用程序(如 Web 窗體和 XML Web services)。</p><p> .NET Framework 可由非托管組件承載,這些組件將公共語言運行庫加載到它們的進程中并啟動托管代碼的
32、執(zhí)行,從而創(chuàng)建一個可以同時利用托管和非托管功能的軟件環(huán)境。.NET Framework 不但提供若干個運行庫宿主,而且還支持第三方運行庫宿主的開發(fā)。</p><p> 2.1.3 ASP.NET的特點</p><p> 1、ASP.NET的新性能</p><p> ASP.NET提供了穩(wěn)定的性能、優(yōu)秀的升級性、更快速的開發(fā)、更簡便的管理、全新的語言以及網(wǎng)絡(luò)服
33、務(wù)。貫穿整個ASP.NET的主題就是系統(tǒng)幫用戶做了大部分不重要的瑣碎的工作。</p><p><b> 2、全新的構(gòu)造</b></p><p> 新的ASP.NET引入受管代碼(Managed Code)這樣一個全新概念,橫貫整個視窗開發(fā)平臺。受管代碼在NGWS Runtime下運行,而NGWS Runtime是一個時間運行環(huán)境,它管理代碼的執(zhí)行,使程序設(shè)計更為簡
34、便。</p><p><b> 3、高效率</b></p><p> 對于一個程序來講,速度是非常重要的。在ASP中為了盡可能精簡程序代碼,以至于不得不將代碼移植到一個低性能的部件中。而ASP.NET則能妥善地解決這一問題。</p><p><b> 4、易控制</b></p><p> 在
35、ASP.NET里,你將會擁有一個“Data-Bounds” (數(shù)據(jù)約束),這意味著它會與數(shù)據(jù)源連接,并會自動裝入數(shù)據(jù),使控制工作簡單易行。</p><p><b> 5、語言支持</b></p><p> ASP.NET支持多種語言,支持編譯類語言,支持比如VB、VC++、C#等,它比這些編譯類語言運行速度快,更適合編寫大型應(yīng)用。</p><p
36、> 6、更好的升級能力</p><p> 快速發(fā)展的分布式應(yīng)用也需要更快速、更模塊化、更易操作、更多平臺支持和重復(fù)利用性更強的開發(fā),需要一種新的技術(shù)來適應(yīng)不同的系統(tǒng),網(wǎng)絡(luò)應(yīng)用和網(wǎng)站需要提供一種更加強大的可升級的服務(wù)。ASP.NET能夠適應(yīng)上面的要求。</p><p><b> 2.2 C#</b></p><p> C#是一種最
37、新的、面向?qū)ο蟮木幊陶Z言,是微軟在Microsoft .NET中推出的全新語言。這種全新的面向?qū)ο蟮恼Z言使得開發(fā)者可以快速的構(gòu)建從底層系統(tǒng)級到高層商業(yè)組件的不同應(yīng)用。C#在保證了強大的功能和靈活性的同時,給C和C++帶來了類似于VB的快速開發(fā),并且它還針對.NET作了特別設(shè)計,比如C#允許XML數(shù)據(jù)直接映射為它的數(shù)據(jù)類型等等,這些特性結(jié)合起來使得C#成為優(yōu)秀的下一代網(wǎng)絡(luò)編程語言。</p><p> 2.3 AD
38、O.NET對象操作數(shù)據(jù)庫</p><p> 在Microsoft .NET中訪問數(shù)據(jù)庫的技術(shù)是ADO .NET。ADO .NET提供了一組用來連接到數(shù)據(jù)庫,運行命令,返回記錄集的類庫,與從前的ADO(ActiveX Data Object)相比,Connection和Command對象很類似,而ADO .NET的革新主要體現(xiàn)在如下幾個方面: </p><p> 首先,ADO .NET提
39、供了對XML的強大支持,這也是ADO .NET的一個主要設(shè)計目標(biāo)。在ADO .NET中通過XMLReader,XMLWriter, XMLNavigator, XMLDocument等可以方便的創(chuàng)建和使用XML數(shù)據(jù),并且支持W3C 的 XSLT、DTD、XDR等標(biāo)準(zhǔn)。ADO .NET對XML的支持也為XML成為Microsoft .NET中數(shù)據(jù)交換的統(tǒng)一格式提供了基礎(chǔ)。 </p><p> 其次,ADO .NE
40、T引入了Dataset的概念,這是一個駐于內(nèi)存的數(shù)據(jù)緩沖區(qū),它提供了數(shù)據(jù)的關(guān)系型視圖。不管數(shù)據(jù)來源于一個關(guān)系型的數(shù)據(jù)庫,還是來源于一個XML文檔,我們都可以用一個統(tǒng)一的編程模型來創(chuàng)建和使用它。它替代了原有的Recordset的對象,提高了程序的交互性和可擴展性,尤其適合于分布式的應(yīng)用場合。 </p><p> 另外,ADO .NET中還引入了一些新的對象,例如DataReader可以用來高效率的讀取數(shù)據(jù),產(chǎn)生一
41、個只讀的記錄集等等。簡而言之,ADO .NET通過一系列新的對象和編程模型,并與XML緊密結(jié)合,使得在Microsoft .NET中的數(shù)據(jù)操作十分方便和高效。 ASP .NET是Microsoft .NET中的網(wǎng)絡(luò)編程結(jié)構(gòu),它使得建造、運行和發(fā)布網(wǎng)絡(luò)應(yīng)用非常方便和高效。</p><p> 2.4 SQL Server 2000</p><p> SQL Server 2000是Micr
42、osoft 公司發(fā)行的關(guān)系型數(shù)據(jù)庫管理與分析系統(tǒng),它提供了功能全面、操作簡單的圖形界面。SQL Server 2000具有較好的可伸縮性和可靠性,提供了以Web標(biāo)準(zhǔn)為基礎(chǔ)的擴展數(shù)據(jù)庫編程功能,可以滿足電子商務(wù)和企業(yè)應(yīng)用程序的要求。 SQL Server 2000支持XML和Internet標(biāo)準(zhǔn),具有基于Web的分析能力,允許使用內(nèi)置的存儲過程以XML格式存儲、更新、刪除和檢索數(shù)據(jù)。由于ASP.NET與SQL Server 2000都是由
43、微軟公司出品的,所以在ASP.NET應(yīng)用于后臺程序中,有專門針對SQL Server 2000的數(shù)據(jù)應(yīng)用類庫供用戶使用,方便了用戶對數(shù)據(jù)的操作。</p><p> 2.5 Microsoft Visual Studio.NET</p><p> Visual Studio .NET作為微軟的下一代開發(fā)工具,它和.NET 開發(fā)框架緊密結(jié)合,是構(gòu)建下一代互聯(lián)網(wǎng)應(yīng)用的優(yōu)秀工具。由于Visua
44、l Studio .NET通過提供一個統(tǒng)一的集成開發(fā)環(huán)境及工具,大大提高了開發(fā)者的效率;十分方便.NET程序的創(chuàng)建和調(diào)試,所以Visual Studio.NET是開發(fā)ASP.NET應(yīng)用程序的常用工具。在Visual Studio.NET中用戶可以直接使用它里面的組件來創(chuàng)建ASP.NET應(yīng)用程序,同時它也是一個功能豐富的編程環(huán)境,集成了多種語言支持(如:C#、VC++、VB);簡化了服務(wù)器端的開發(fā);提供了高效地創(chuàng)建和使用網(wǎng)絡(luò)服務(wù)的方法等等
45、。當(dāng)用Visual Studio.NET創(chuàng)建一個ASP.NET工程時,Visual Studio.NET會自動配置好IIS應(yīng)用,用戶直接應(yīng)用即可。</p><p> 3 城市公交車查詢系統(tǒng)的分析與設(shè)計 </p><p><b> 3.1 需求分析</b></p><p> 在此系統(tǒng)中,用戶可以查詢城市中的各條路線或站點,了解各條路線或站點
46、的詳細信息。如果用戶要查詢某一條線路或站點,直接就可以用該系統(tǒng)相對應(yīng)的功能。本系統(tǒng)滿足了以下幾個要求:</p><p> 操作的簡易性:城市公交查詢系統(tǒng)使用起來簡單、方便、界面友好,用戶操作起來得心應(yīng)手。</p><p> 系統(tǒng)功能:在該系統(tǒng)中,主要提供了以下幾種功能:查詢車站信息、車次信息、站點信息和站站信息功能,信息留言和系統(tǒng)管理功能。如:在查詢功能中,用戶輸入要查詢的車次等信息即
47、可得出與它相關(guān)的結(jié)果;在系統(tǒng)管理功能中,管理員可以對其信息進行添加、編輯和刪除等操作。</p><p><b> 3.2 概要設(shè)計</b></p><p> 3.2.1 系統(tǒng)功能描述</p><p> 在用戶進入主界面后,就可以通過車次查詢、站點查詢、站站查詢、車站查詢快速地查詢出符合用戶條件的相關(guān)線路信息。用戶還可以在留言簿中直接進行留
48、言,留言內(nèi)容可以是對線路的詢問,也可以對系統(tǒng)的不足地方提出用戶自己的見解。當(dāng)管理員進入系統(tǒng)后,可以對數(shù)據(jù)庫中的信息進行添加、刪除和編輯等操作。他還負(fù)責(zé)管理用戶的留言信息,通過對留言信息的審核,然后來判斷對留言信息是進行回復(fù)還是刪除操作。</p><p> 3.2.2 系統(tǒng)功能模塊劃分</p><p> 在了解了系統(tǒng)的功能需求后,可以把該系統(tǒng)劃分為以下3個模塊:用戶查詢模塊、留言簿模塊和
49、系統(tǒng)管理模塊如圖3-1。</p><p> 圖3-1城市公交查詢系統(tǒng)功能模塊</p><p> 下面對各個模塊進行描述:</p><p><b> 1、用戶查詢模塊</b></p><p> 在用戶查詢模塊中,主要是查詢出用戶自己所需要的線路信息,這也是整個系統(tǒng)最主要的功能模塊。主要包括:</p>
50、<p> (1)查詢車次信息:輸入要查詢的車次進行搜索,可以查詢出于它相應(yīng)的站點名和站點描述信息。</p><p> (2)查詢站點信息:輸入要查詢的站點進行搜索,可以查詢出于它相應(yīng)的車次名、發(fā)車時間、收車時間和車次描述信息。如果用戶不知道站點的全稱,也可以在高級查詢中模糊查詢出含有關(guān)鍵字的所有站點信息。</p><p> (3)查詢車站信息:選擇要查詢的車站進行搜索,可以
51、查詢出于它相應(yīng)的車次名、發(fā)車時間、收車時間和車次描述信息</p><p> (4)查詢站站信息:輸入要查詢的起始站和終點站進行搜索,可以查詢出于它相應(yīng)的乘車路線。</p><p><b> 2、系統(tǒng)管理模塊</b></p><p> 在系統(tǒng)管理模塊中,主要是對數(shù)據(jù)庫中的各個表進行管理。主要包括:</p><p>&
52、lt;b> (1)管理員登錄。</b></p><p> (2)留言簿管理:可以對留言簿中的內(nèi)容進行回復(fù)與刪除操作。在留言簿管理中,它還含有一個搜索引擎,主要功能是管理員可以通過它搜索想要查詢的留言主題,這樣可以快速的找出某一主題并對它進行回復(fù)或刪除等操作。</p><p> (3)站點、車次管理:可以對站點、車次基本信息和車次次序信息進行添加、刪除和編輯等操作。而
53、且它們各自都含有一個搜索引擎,這樣可以快速的查詢出你想要修改的站點或車次等信息,此搜索引擎采用的是模糊查找。</p><p><b> 3、留言簿模塊</b></p><p> 在留言簿模塊中,用戶可以不需要注冊直接在網(wǎng)上進行留言,也可以對某一特定地留言標(biāo)題進行回復(fù)貨討論,也可以通過留言簿查看自己曾經(jīng)留言過的信息。</p><p> 3.
54、2.3 系統(tǒng)流程設(shè)計</p><p> 在城市公交查詢系統(tǒng)中,其核心內(nèi)容就是公交查詢的實現(xiàn)。在此系統(tǒng)中,即實現(xiàn)用戶查詢模塊中的各個功能信息。其中包括車次查詢、站點查詢、站站查詢和車站查詢功能。</p><p> 此系統(tǒng)中,用戶不需要注冊就可以直接進行相關(guān)功能的查詢。其中站站查詢是此系統(tǒng)中最重要的功能。主要流程為:當(dāng)程序開始時先進入正向搜索,如果正向搜索不存在所需的數(shù)據(jù)再進行反向搜索,如
55、果正反兩方都沒有搜索到所需的數(shù)據(jù)則程序結(jié)束。流程如圖3-2所示。</p><p> 圖3-2站站查詢功能流程圖</p><p> 根據(jù)上圖所示,在站站查詢實現(xiàn)的過程中,它是從正反兩個方面對線路進行查詢。其中正向搜索線路的流程如圖3-3所示。</p><p> 圖3-3正向搜索線路流程圖</p><p> 3.2.4 系統(tǒng)E-R圖<
56、;/p><p> 針對城市公交查詢系統(tǒng)的需求,設(shè)計如下面所示的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu):</p><p> ?。?)管理員基本信息(如圖3-4):包括管理員ID,管理員名,管理員秘碼。</p><p> ?。?)留言簿基本信息(如圖3-5):包括留言簿ID,留言標(biāo)題,留言者,留言內(nèi)容。</p><p> ?。?)車次基本信息(如圖3-6):包括車次ID
57、,車次名,發(fā)車時間,收車時間,車次描述。</p><p> ?。?)站點基本信息(如圖3-7):包括站點ID,站點名,站點描述。</p><p> (5)站點次序信息(如圖3-8):包括站點次序ID,站點名,車次名,站點次序。</p><p> 圖3-4管理員基本信息E-R圖</p><p> 圖3-5留言簿基本信息E-R圖</p
58、><p> 圖3-6車次基本信息E-R圖</p><p> 圖3-7站點基本信息E-R圖</p><p> 圖3-8站點次序信息E-R圖</p><p> 在了解了各實體之后,下面實現(xiàn)的是站點次序表、站點表、車次表之間的E-R關(guān)系模型圖。站點次序表與站點表之間的關(guān)系是一對多的關(guān)系,記作1:M,站點次序表與車次表之間的關(guān)系也是一對多的關(guān)系,
59、記作1:N,如圖3-9所示。</p><p> 圖3-9站點次序表、站點表和車次表間的E-R圖</p><p> 4 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計與實現(xiàn)</p><p> 城市公交查詢系統(tǒng)應(yīng)用的是SQL Server 2000數(shù)據(jù)庫管理系統(tǒng)。此系統(tǒng)使用的數(shù)據(jù)庫名稱為mybus,下面具體講解數(shù)據(jù)庫中各數(shù)據(jù)表的創(chuàng)建。</p><p> 4.1 數(shù)據(jù)表的
60、創(chuàng)建</p><p> 該系統(tǒng)中共需要創(chuàng)建五個數(shù)據(jù)表:管理員表、留言簿表、車次基本信息表、站點基本信息表、站點次序表。</p><p> ?。?)管理員表admin</p><p> 此表包括三個字段:一個是管理員標(biāo)志adminid字段,該字段時admin表的主鍵;另外兩個分別是管理員名和管理員密碼。其詳細信息如表4-1所示。</p><p&
61、gt; 表4-1 admin表</p><p> ?。?)留言簿表 info</p><p> 此表包括四個字段:其中infoID字段為info表的主鍵,另外三個分別為留言標(biāo)題、留言者名、留言內(nèi)容。其詳細信息如表4-2所示。</p><p> 表4-2 info表</p><p> ?。?)車次基本信息表 line</p>
62、<p> 此表包括五個字段:其中l(wèi)ineid字段為line表的主鍵,另外四個分別為車次名、發(fā)車時間、收車時間和車次描述。其詳細信息如表4-3所示。</p><p> 表4-3 line 表</p><p> ?。?)站點基本信息表 site</p><p> 此表包括三個字段:其中siteid字段為site表的主鍵,另外兩個分別為站點名和站點描述。
63、其詳細信息如表4-4所示。</p><p> 表4-4 site 表</p><p> ?。?)站點次序表 sili</p><p> 此表包括四個字段:其中sitename字段和number字段為sili表的復(fù)合主鍵,另外三個為站點名、線路名和站點次序。其詳細信息如表3-5所示。</p><p> 表4-5 sili 表</p&
64、gt;<p> 4.2 數(shù)據(jù)庫的連接</p><p> 在創(chuàng)建完成一個ASP.NET應(yīng)用程序的時候,VS會創(chuàng)建一個Web.Config文件。該文件定義和保存了所有ASP.NET應(yīng)用程序的配置信息,這些配置采用了XML格式,具有較大的可擴展性。在web.config文件中可,項目應(yīng)用的所有配置信息都包含在<configuration>和</configuration>標(biāo)記之
65、間,另外,可以在<appSettings>標(biāo)記中,使用<add.../>標(biāo)記中定義0到多個設(shè)置。</p><p> 在本系統(tǒng)中,數(shù)據(jù)庫連接如下:</p><p> 首先:在web.config文件中設(shè)置了數(shù)據(jù)庫的連接,下面是部分web.config文件的代碼:</p><p> <Configuration></p&
66、gt;<p><b> //建立數(shù)據(jù)庫連接</b></p><p> <appSettings></p><p> <add key="ConnectionString"</p><p> Value="server= (local); database=mybus; uid
67、=sa; pwd="/> </p><p> </appSettings></p><p><b> …………</b></p><p> </Configuration></p><p> 其中ConnectionString是取得或設(shè)置連接數(shù)據(jù)庫的語句;server=(
68、local)表示與數(shù)據(jù)庫相連的是本機;database表示要連的數(shù)據(jù)庫,本系統(tǒng)得數(shù)據(jù)庫為mybus;uid=sa表示數(shù)據(jù)庫的用戶名為sa;pwd 表示連接的數(shù)據(jù)庫的密碼,本系統(tǒng)中為空。</p><p> 其次:在ASP.NET后臺應(yīng)用中,可以通過ADO.NET的SQL Server數(shù)據(jù)庫接口連接SQL Server數(shù)據(jù)庫。首先要在程序的開頭定義一個using System.Data.SqlClient類庫,定義
69、了它之后才可以應(yīng)用SQL Server數(shù)據(jù)庫接口。然后再應(yīng)用程序的Page_Load()事件中,定義了數(shù)據(jù)庫連接的程序應(yīng)用,其代碼具體如下:</p><p><b> …………</b></p><p> using System.Data.SqlClient</p><p> Private void Page_Load (object
70、sender, System.EventArgs e)</p><p><b> {</b></p><p> string source=ConfigurationSettings.AppSettings ["ConnectionString"];</p><p> Conn=new SqlConnection (s
71、ource);</p><p><b> }</b></p><p> 先聲明一個變量獲取配置節(jié)中的配置設(shè)置,然后用SqlConnection 打開數(shù)據(jù)庫的一個連接。</p><p><b> 4.3 存儲過程</b></p><p> 在城市公交查詢中,大多的數(shù)據(jù)操作都是通過存儲過程來處理
72、的。存儲過程是由一些SQL語句和控制語句組成的被封裝起來的過程,它駐留在數(shù)據(jù)庫中,可以被客戶應(yīng)用程序調(diào)用,也可以從另一個過程或觸發(fā)器調(diào)用。它的參數(shù)可以被傳遞和返回。與應(yīng)用程序中的函數(shù)過程類似,存儲過程可以通過名字來調(diào)用,而且它們同樣有輸入?yún)?shù)和輸出參數(shù)。在應(yīng)用程序中直接調(diào)用存儲過程有以下好處:減少網(wǎng)絡(luò)通信量、提高系統(tǒng)的運行速度、更強的適應(yīng)性。</p><p> 1、修改站點次序信息的存儲過程</p>
73、<p> 下面的存儲過程的作用是根據(jù)輸入的新信息來更新站點的次序信息,應(yīng)用在updsite.aspx.cs中,其SQL語句如下:</p><p> Create procedure updatesili</p><p> @siliid int,</p><p> @number int,</p><p> @site
74、name varchar (50),</p><p> @liname varchar (50)</p><p><b> As</b></p><p> Update sili</p><p><b> Set</b></p><p> number=@numbe
75、r,</p><p> sitename=@sitename,</p><p> liname=@liname</p><p><b> Where</b></p><p> siliid=@siliid</p><p><b> GO</b></p>
76、<p> 5 城市公交查詢系統(tǒng)的實現(xiàn)</p><p><b> 5.1 系統(tǒng)首頁</b></p><p><b> 1、首頁界面</b></p><p> 首頁主要是系統(tǒng)的窗口,通常顯示的信息最多、結(jié)構(gòu)也最復(fù)雜。此界面主要是采用表格來制作的,它包括五個部分。其中有四個用戶控件,它們分別是:head1.a
77、scx、head3.ascx、head4.ascx和footer.ascx。head1.ascx主要由頁面的標(biāo)題,四個工具欄和一個label控件組成;head3.ascx是頁面欄;head4.ascx是快速公告,主要顯示公交車公司發(fā)布的關(guān)于交通和公交車的最新信息;footer.ascx主要是顯示此網(wǎng)頁的版權(quán)所有者。</p><p> 此界面的具體結(jié)構(gòu)排列如圖5-1所示。</p><p>
78、<b> 圖5-1 首頁界面</b></p><p> 2、前臺界面實現(xiàn)(default.aspx)</p><p> ?。?)下面的代碼定義調(diào)用的文件和Form表單。</p><p> <!--下面代碼是調(diào)用head1.ascx、head3.ascx、head4.ascx和footer.ascx用戶控制時需在aspx文件開頭部分添
79、加的語句--></p><p> <%@RegisterTagPrefix="LB"TagName="Header"Src="head4.ascx"%> </p><p> <%@RegisterTagPrefix="L"TagName="Header" Src=
80、"head3.ascx"%></p><p> <%@RegisterTagPrefix="T"TagName="Header" Src="head1.ascx"%></p><p> <%@RegisterTagPrefix="F"TagName="F
81、ooter" Src="footer.ascx"%></p><p> <%@ Page language="c#” Codebehind="default.aspx.cs"</p><p> AutoEventWireup="false" Inherits="ni._default&
82、quot; %></p><p><b> ……………….</b></p><p> <!--下面代碼表示用戶控件在頁面中的調(diào)用和在頁面中的相應(yīng)位置--></p><p> <T: HEADER id="head1" runat="server"></T: HEA
83、DER><br></p><p> <L: HEADER id="head3" runat="server"></L: HEADER><br></p><p> <LB: HEADER id="head4" runat="server">&l
84、t;/LB: HEADER></p><p><b> ……………………</b></p><p> <!--下面代碼表示調(diào)用Footer.ascx的語句和它在頁面中的位置--〉</p><p> <F: Footer id="footer" runat="server">&l
85、t;/F: Footer></p><p> 3、后臺應(yīng)用實現(xiàn)(default.aspx.cs)</p><p> 在default的后臺應(yīng)用中,主要處理帶著數(shù)據(jù)的頁面的跳轉(zhuǎn),其代碼如下:</p><p> ?。?)下面代碼定義命名空間和文件中使用的表格表單、相關(guān)控件變量聲明等信息。</p><p><b> ……………
86、……</b></p><p> //using表示為本機的數(shù)據(jù)提供類</p><p> using System.Data.SqlClient;//使用數(shù)據(jù)庫</p><p> using System.Configuration;// 在Web.config中聲明的函數(shù)一般是連接數(shù)據(jù)庫的避免了重復(fù)直接調(diào)用數(shù)據(jù)庫連接</p><
87、p> namespace ni //命名空間</p><p><b> {</b></p><p> Public class _default: System.Web.UI.Page</p><p> {//相關(guān)控件的聲明</p><p><b> ……………..</b><
88、/p><p> Protected System.Web.UI.WebControls.TextBox Sina;</p><p> Protected System.Web.UI.WebControls.Button Button1;</p><p> Protected string searchlina="site.aspx?";<
89、/p><p> SqlConnection conn; </p><p> (2)下面代碼定義了頁面初始化過程中的數(shù)據(jù)應(yīng)用,首先建立了與數(shù)據(jù)庫的連接</p><p> //Page_Load事件,無論是訪問者初始瀏覽還是通過單擊按鈕或因為其他事件來再次調(diào)用頁面,都會觸發(fā)Page_Load事件中的代碼。</p><p> Private
90、 void Page_Load (object sender, System.EventArgs e)</p><p> {// 在此處放置用戶代碼以初始化頁面</p><p> string source=ConfigurationSettings.AppSettings ["ConnectionString"];</p><p> //
91、調(diào)用在Web.config文件中的數(shù)據(jù)庫連接語句</p><p> conn=new SqlConnection(source);//打開一個連接 </p><p><b> }</b></p><p> ………………………….</p><p> Private void InitializeComponent
92、()</p><p> { //聲明將要處理事件的方法</p><p> this.Button1.Click</p><p> += newSystem.EventHandler (this.Button1_Click);</p><p> ……………………….</p><p> this. Load +=
93、 new System.EventHandler (this.Page_Load);</p><p><b> }</b></p><p> (3)下面定義的代碼表示單擊了按鈕時,就會觸發(fā)相應(yīng)的事件。</p><p> Private void Button2_Click (object sender, System.EventArgs
94、e)</p><p> { //此事件中將頁面跳轉(zhuǎn)到站點查詢的界面中</p><p> string sna=Sina.Text;//聲明一個變量,并取得文本框中的數(shù)據(jù)</p><p> url1=searchsite+"sitename="+sna+"&";//帶參數(shù)的頁面跳轉(zhuǎn)</p><
95、p><b> url1+="";</b></p><p> Response.Redirect (url1); </p><p><b> }</b></p><p><b> …………………..</b></p><p> 5.2 后臺管理界
96、面</p><p> 在此頁面中,主要實現(xiàn)站點信息管理。在此頁面中,還加了一個搜索引擎,以方便管理員搜索某個具體的站點信息。具體結(jié)構(gòu)排列如圖5-2所示。</p><p> 圖5-2 站點管理界面</p><p> 1、前臺界面實現(xiàn)(updsite.aspx)</p><p> 在前臺界面中主要的控件就是datagrid控件,它是對數(shù)據(jù)
97、表的列進行操作的。它的屬性是true和false。AutoGenerateColumns的默認(rèn)值為true,則說明它可以自動產(chǎn)生列;當(dāng)把AutoGenerateColumns的屬性設(shè)為falsh是,datagrid控件提供5種列選擇,分別為 :ButtonColum、BoundColumn、EditCommanDcolumn、HyperLinkColumn、TemplateColumn,它們的都是在<Column></
98、Column>標(biāo)簽內(nèi)進行編程的。在此頁面中用來共用了三種選擇,包括ButtonColum、BoundColumn和EditCommanDcolumn,其代碼如下:</p><p><b> ………………………</b></p><p> <asp:datagridid="datagrid1"runat="server&quo
99、t;DataKeyField="siliid" OnUpdateCommand="DataGrid_update"OnEditCommand="DataGrid_edit" OnDeleteCommand="DataGrid_delete"OnCancelCommand="DataGrid_cancel" Width="100%
100、" AutoGenerateColumns="False" PageSize="10" AllowPaging="True" OnPageIndexChanged="DataGrid_Page"BorderColor="#999999" BorderStyle="None" BorderWidth="
101、;1px" BackColor="White" CellPadding="3" GridLines="Vertical"></p><p> <SelectedItemStyleFont-Bold="True"ForeColor="White"BackColor="#ccccff&
102、gt;</p><p> </SelectedItemStyle></p><p> <AlternatingItemStyle BackColor="#ffe4ff"></AlternatingItemStyle></p><p> // AlternatingItemStyle為表中偶數(shù)記錄單獨指定的
103、顏色和字體</p><p> <ItemStyle ForeColor="Black" BackColor="#f1f0f4 "></ItemStyle></p><p> <HeaderStyle Font-Bold="True" ForeColor="Black" Back
104、Color="#ffe4ff"></p><p> </HeaderStyle></p><p> <FooterStyle ForeColor="Black" BackColor="#ffccff"></FooterStyle></p><p><b&g
105、t; <Columns></b></p><p> <asp:BoundColumn DataField="siliid" HeaderText="序號"></p><p> </asp: BoundColumn></p><p> <asp:BoundColumn
106、 DataField="sitename" HeaderText="站點名"></p><p> </asp: BoundColumn></p><p> //通過datagrid控件的BoundColumn性質(zhì),可以對數(shù)據(jù)表的列進行操作</p><p> <asp:BoundColumn Dat
107、aField="liname" HeaderText="線路名"></p><p> </asp: BoundColumn></p><p> <asp:BoundColumn DataField="number" HeaderText="車序"></p><
108、;p> </asp: BoundColumn></p><p> <asp:EditCommandColumn ButtonType="LinkButton" UpdateText="更新" CancelText="取消" EditText="編輯"></p><p> &l
109、t;/asp:EditCommandColumn> //EditCommandColumn的具體功能有編輯、更新和取消,它可以實現(xiàn)數(shù)據(jù)的修改</p><p> <asp:ButtonColumn Text="刪除" CommandName="Delete"></p><p> </asp: ButtonColumn>
110、</p><p> //通過datagrid控件的ButtonColumn性質(zhì),可以在數(shù)據(jù)表中實現(xiàn)Button控件所支持的操作</p><p> </Columns></p><p> <PagerStyleHorizontalAlign="Center"ForeColor="Black" BackCo
111、lor="#ffe4ff" Mode="NumericPages"></p><p> </PagerStyle>//定義分頁時顯示的類型,其中顯示分頁的模型為數(shù)字,方向是水平方向居中。</p><p> </asp: datagrid></p><p> …………………………</p&
112、gt;<p> 2、站點管理后臺應(yīng)用實現(xiàn)(updsite.aspx.cs)</p><p> (1)下面定義了頁面初始化的應(yīng)用,其代碼如下:</p><p> Private void Page Load (object sender, System.EventArgs e)</p><p> {// 在此處放置用戶代碼以初始化頁面</p
113、><p> string source=ConfigurationSettings.AppSettings ["ConnectionString"];</p><p> Conn=new SqlConnection (source);</p><p> If (! IsPostBack)//檢查目前網(wǎng)頁是否為第一次加載,我們在page load
114、 事件中就可以使用這個屬性來避免做一些重復(fù)的動作</p><p> BindGrid ();</p><p><b> }</b></p><p> ?。?)下面定義了bindgrid和“返回”和“搜索”按鈕的應(yīng)用 ,其代碼如下:</p><p> Private void Btn_back_Click (obje
115、ct sender, System.EventArgs e)</p><p> {//單擊此按鈕回到管理員頁面</p><p> Page.Response.Redirect ("admin.aspx");</p><p><b> }</b></p><p> Public void Bin
116、dGrid ()</p><p> {//顯示站點表的所有信息</p><p> string mysql="select * from sili";</p><p> //用于填充System.Date.DataSet和更新SQL Server數(shù)據(jù)庫中的一組數(shù)據(jù)命令和一個數(shù)據(jù)庫連接</p><p> SqlDat
117、aAdapter da=new SqlDataAdapter (mysql, conn);</p><p> DataSet ds=new DataSet();//表示數(shù)據(jù)在內(nèi)存中的緩存</p><p> da.Fill (ds);</p><p> datagrid1.DataSource=ds;</p><p> datagrid
118、1.DataBind ();</p><p><b> }</b></p><p> Private void Button1_Click (object sender, System.EventArgs e)</p><p> {//單擊此按鈕可以搜索填入textbox控件中站點的相關(guān)信息</p><p> s
119、tring source=ConfigurationSettings.AppSettings ["ConnectionString"];</p><p> Conn=new SqlConnection (source);</p><p> datagrid1.CurrentPageIndex=0;</p><p> string sql=&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于.net的城市公交查詢系統(tǒng)設(shè)計與實現(xiàn)
- 基于.net的城市公交查詢系統(tǒng)的設(shè)計與實現(xiàn)—免費畢業(yè)設(shè)計論文
- 畢業(yè)設(shè)計---城市公交查詢系統(tǒng)的設(shè)計與實現(xiàn)
- 基于.NET的城市公交查詢系統(tǒng)的設(shè)計與實現(xiàn).rar
- 基于.NET的城市公交查詢系統(tǒng)的設(shè)計與實現(xiàn).rar
- 基于.NET的城市公交查詢系統(tǒng)的設(shè)計與實現(xiàn).rar
- 基于net的城市公交查詢系統(tǒng)的設(shè)計與實現(xiàn)——畢業(yè)論文
- 基于net的城市公交查詢系統(tǒng)的設(shè)計與實現(xiàn)——畢業(yè)論文
- 基于.NET的城市公交查詢系統(tǒng)的設(shè)計與實現(xiàn).rar
- 畢業(yè)論文——基于net的城市公交查詢系統(tǒng)的設(shè)計與實現(xiàn)
- 畢業(yè)設(shè)計--公交查詢系統(tǒng)的設(shè)計與實現(xiàn)
- 城市公交查詢系統(tǒng)畢業(yè)設(shè)計
- 基于web的城市公交查詢系統(tǒng)設(shè)計與實現(xiàn)
- 畢業(yè)設(shè)計--公交查詢系統(tǒng)
- 城市公交查詢系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 畢業(yè)論文——城市公交查詢系統(tǒng)的設(shè)計與實現(xiàn)
- 畢業(yè)論文---城市公交查詢系統(tǒng)的設(shè)計與實現(xiàn)
- 城市公交查詢系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)論文
- 畢業(yè)論文(設(shè)計)基于web的城市公交查詢系統(tǒng)設(shè)計與實現(xiàn)
- 公交查詢系統(tǒng)畢業(yè)設(shè)計
評論
0/150
提交評論