畢業(yè)論文——基于NET的城市公交查詢系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
畢業(yè)論文——基于NET的城市公交查詢系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
畢業(yè)論文——基于NET的城市公交查詢系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
畢業(yè)論文——基于NET的城市公交查詢系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
畢業(yè)論文——基于NET的城市公交查詢系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于.net的城市公交查詢系統(tǒng)的設(shè)計與實現(xiàn)摘要隨著internet的快速發(fā)展,互聯(lián)網(wǎng)已成為人們快速獲取、發(fā)布和傳遞信息 的重要渠道,顯然它已成為社會生活的一部分。但我國的城市公交信息查詢卻 還處于比較落后的水平上,廣大的市民獲取路線信息方式也比較少,最常用的 方式只局限在詢問和交通地圖上。而城市公交查詢系統(tǒng)就是使人們能夠在因特 網(wǎng)上方便、簡單的查詢岀各條路線,了解自己所經(jīng)過的每個站點等信息,以便 能更好的制定自己的行動計劃而設(shè)計的。它主要實現(xiàn)的模塊是公交信息的查詢 模塊,其中包括的功能有:線路查詢、站點查詢、站站查詢、車站查詢;而系 統(tǒng)管理模塊主要實現(xiàn)的是對各個數(shù)據(jù)表進行添加、編輯、刪除等功能

2、操作以及 對留言版進行一些相應(yīng)的回復(fù)。城市公交查詢系統(tǒng)開發(fā)技術(shù)采用的是基于.net的b/s架構(gòu),它的前端選用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ù)庫進行操作。關(guān)鍵詞:互聯(lián)網(wǎng);城市公交查詢;.net;存儲過程the design and realization of c

3、ity bus inquiry systembased on .netabstractwith the rapid development of internet, 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 information

4、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. and the urban public transport system is designed for people to inquire of all lines

5、 in the internet conveniently and simply and get to know every site that they passed away in order to make their plans more efficiently. the main module of this system is the bus information query module. its functions include line inquiry, site inquiry, station-to-station inquiry and station inquir

6、y. the system management module mainly realizes the functional operation on adding, editing, deleting of all data tables and responses to the message correspondingly.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 ma

7、jor framework. the aspx file 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 uses the sql server 2000, and the application acce

8、sses the database by ado.net and uses sql language to operate the database. the stored procedure is used a lot to operate the database in the system.key words: internet; city bus inquiries; .net; stored procedure.1引言當今是一個以網(wǎng)絡(luò)為中心的信息化世界,計算機己成為廣大市民不可缺少 的工具。由于我國城市化進程的推進,目前城市不斷地在向郊區(qū)延伸,邊緣不 斷擴大,和郊區(qū)的邊界甚至開始變得

9、模糊化,城市公交路線不斷地增多,加之 眾多公交路線時常調(diào)整,日前眾多市民,特別是一些大中型城市的市民,對各 條公交路線的信息不清楚或掌握得不準確。并且當今各大城市的家庭轎車相繼 增多,使城市交通出現(xiàn)擁堵現(xiàn)象。而公共交通與其它交通方式相比具有人均占 用道路少、能源消耗低、運輸成本低、污染相對較小、客運量大,運送效率高 等優(yōu)點,它是解決大、中城市交通擁堵等交通問題,所以各大城市都在積極地 發(fā)展公共交通的運用。本畢業(yè)設(shè)計主要的目的就是實現(xiàn)公交查詢以及信息發(fā)布。本設(shè)計的預(yù)期成果是:此系統(tǒng)能夠使用戶簡單的查詢出他們自己想要的車 次經(jīng)過哪些站點,在哪一站可以轉(zhuǎn)乘,然后繼續(xù)換乘哪路車;也可以預(yù)先知道 可以通

10、過哪些車次可以到達目的地。在留言版中可以留下用戶對系統(tǒng)的任何信 息或者任何要求,管理員可以通過對留言版信息的解讀對系統(tǒng)進行一系列的修 改。1.1城市公交查詢系統(tǒng)的前景近十幾年來,我國汽車工業(yè)蓬勃發(fā)展,特別是家用轎車的增長。發(fā)展中國 家用轎車市場,其規(guī)模與速度必須與城市基礎(chǔ)建設(shè)同步,如果一味追求發(fā)展速 度,勢必將造成很多大城市嚴重的交通堵塞問題,而且還將給社會帶來一系列 不良后果,如加大社會經(jīng)濟成本,增加能源消耗,惡化城市空氣,增加交通事 故等等。因此,在發(fā)展我國的汽車工業(yè)的同時要注意到城市公共交通存在的意 義和作用,加大國家在公共交通方面的投入,全面規(guī)劃、統(tǒng)籌安排、合理配置、 科學管理,使城市

11、道路流暢、方便、安全、有效、可靠。然而,隨著公共交通的快速發(fā)展,會逐漸地出現(xiàn)越來越多的公共汽車和不 同的公交路線,這樣會使人們對各條公交路線的信息掌握的不是很清楚。而城 市公交查詢系統(tǒng)主要任務(wù)就在于對各條路線的信息查詢,和對整個公交線路信 息進行相關(guān)的管理。使用公交查詢系統(tǒng)人們就可以找出一條最適合于自己的線 路,減少不必要的坐車時間。所以城市公交查詢系統(tǒng)的前景非常樂觀?;诔鞘泄徊樵兿到y(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) 的一般用的語言是a

12、sp+它的腳本語言,是不而向?qū)ο蟮?,而基于本設(shè)計的城市 公交查詢系統(tǒng)用的語言是.net,是面向?qū)ο蟮模嫦驅(qū)ο蟮木幊陶Z言最大的特 色就是可以編寫自己所需的數(shù)據(jù)類型。對于傳統(tǒng)的城市公交查詢系統(tǒng)他易于管 理,重用性比較高。1. 2城市公交查詢系統(tǒng)的作用首先:有條理地、清晰地呈現(xiàn)出城市各條線路信息。不管城市擴展得有多 大,城市公交路線增加的有多少,人們都可以通過城市公交查詢系統(tǒng)來獲得各 條公交路線的詳細信息。其次:節(jié)省時間。在日益激烈地競爭環(huán)境中,時間可以說是人們最大的資 木。城市公交查詢系統(tǒng)可以為廣大的市民指出一條最適合于他們自己的公交線 路,減少不必要的多做車的情況,從而節(jié)省出更多的寶貴時間計劃

13、他們自己的 事。最后:消除城郊市民和外來人的不安。初到一個陌生的環(huán)境,特別是一個 大城市中,許多人都會感到局促不安。城市公交查詢系統(tǒng)可以使人們了解這個 城市的一些基木情況,也可以使人們能夠準確地到達他們自己想要去的地方, 減少不必要的坐錯車的情況。2城市公交查詢系統(tǒng)的實現(xiàn)技術(shù)和工具2. 1 asp. net2.1.1 什么是 asp. netasp. net是m的一部分,asp. net是一種建立在公共語言運 行庫上的編程框架,可用于在服務(wù)器上生成功能強大的web應(yīng)用程序。它提供 了一個統(tǒng)一的web開發(fā)模型,并為開發(fā)人員提供了創(chuàng)建企業(yè)級web應(yīng)用程序 所需的各種服務(wù)。asp. net是一個已編

14、譯的、基于.net的環(huán)境,可以使用任 何與.net兼容的語言(包括visual basic .net. c#和就jscript.)創(chuàng)作 應(yīng)用程序。另外,任何asp. net應(yīng)用程序都可以完全使用.net frameworko開 發(fā)人員可以方便地獲得這些技術(shù)的優(yōu)點,其屮包括托管的公共語言運行庫環(huán)境、 類型安全、繼承等等。2. 1. 2 net framework 概述.net framework是支持生成和運行下一代應(yīng)用程序和xml web services 的內(nèi)部windows組件。.net framework的幾個主要組成部分:首先是整個開 發(fā)框架的基礎(chǔ),即通用語言運行時以及它所提供的一組基

15、礎(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ā)工具。.net framework主要實現(xiàn)下列目標:(1) 提供一個一致的而向?qū)ο蟮木幊汰h(huán)境,而無論對象代碼是在本地存儲 和執(zhí)行,述是在本地執(zhí)行但在internet上分布,或者是在遠程執(zhí)行的。(2) 提供一個將軟件部署和版本控制沖突最小化的代碼執(zhí)行壞境。(3) 提供一個可提高代碼(包括由未知

16、的或不完全受信任的第三方創(chuàng)建的 代碼)執(zhí)行安全性的代碼執(zhí)行環(huán)境。(4) 提供一個可消除腳本壞境或解釋壞境的性能問題的代碼執(zhí)行壞境。使開發(fā)人員的經(jīng)驗在面對類型大不相同的應(yīng)用程序(如基于windows的應(yīng) 用程序和基于web的應(yīng)用程序)時保持一致。按照工業(yè)標準生成所有通信,以 確?;?net framework的代碼可與任何其他代碼集成。.net framework具有兩個主要組件:公共語言運行庫和.net framework 類庫。公共語言運行庫是.net framework的基礎(chǔ)。您可以將運行庫看作一個 在執(zhí)行時管理代碼的代理,它提供內(nèi)存管理、線程管理和遠程處理等核心服務(wù), 并且還強制實施嚴

17、格的類型安全以及可提高安全性和可靠性的其他形式的代碼 準確性。事實上,代碼管理的概念是運行庫的基本原則。以運行庫為目標的代 碼稱為托管代碼,而不以運行庫為目標的代碼稱為非托管代碼o . net framework 的另一個主要組件是類庫,它是一個綜合性的而向?qū)﹀璧目芍赜妙愋图希?可以使用它開發(fā)多種應(yīng)用程序,這些應(yīng)用程序包括傳統(tǒng)的命令行或圖形用戶界 面(gui)應(yīng)用程序,也包括基于asp. net所提供的最新創(chuàng)新的應(yīng)用程序(如 web 窗體和 xml web services)。.net framework可由罪托管組件承載,這些組件將公共語言運行庫加載到 它們的進程中并啟動托管代碼的執(zhí)行,

18、從而創(chuàng)建一個可以同時利用托管和非托 管功能的軟件環(huán)境。.net framework不但提供若干個運行庫宿主,而且還支持 第三方運行庫宿主的開發(fā)。2. 1.3 asp. net 的特點1、asp. net的新性能asp. net提供了穩(wěn)定的性能、優(yōu)秀的升級性、更快速的開發(fā)、更簡便的管 理、全新的語言以及網(wǎng)絡(luò)服務(wù)。貫穿整個asp. net的主題就是系統(tǒng)幫用戶做了 大部分不重要的瑣碎的工作。2、全新的構(gòu)造新的asp. net引入受管代碼(managed code)這樣一個全新概念,橫貫整個 視窗開發(fā)平臺。受管代碼在ngws runtime下運行,而ngws runtime是一個時 間運行環(huán)境,它管理

19、代碼的執(zhí)行,使程序設(shè)計更為簡便。3、高效率對于一個程序來講,速度是非常重要的。在asp中為了盡可能精簡程序代 碼,以至于不得不將代碼移植到一個低性能的部件中。而asp. net則能妥善地 解決這一問題。4、易控制在asp. net里,你將會擁有一個“data-bounds” (數(shù)據(jù)約束),這意味著 它會與數(shù)據(jù)源連接,并會自動裝入數(shù)據(jù),使控制工作簡單易行。5、語言支持asp. net支持多種語言,支持編譯類語言,支持比如vb、vc+、c#等,它 比這些編譯類語言運行速度快,更適合編寫大型應(yīng)用。6、更好的升級能力快速發(fā)展的分布式應(yīng)用也需要更快速、更模塊化、更易操作、更多平臺支 持和重復(fù)利用性更強的

20、開發(fā),需要一種新的技術(shù)來適應(yīng)不同的系統(tǒng),網(wǎng)絡(luò)應(yīng)用 和網(wǎng)站需耍提供一種更加強大的可升級的服務(wù)。asp. net能夠適應(yīng)上面的要求。2.2 c#c#是一種最新的、面向?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ò)編程語言。2. 3 ado. net對象操作數(shù)據(jù)庫在microsoft

21、 . net屮訪問數(shù)據(jù)庫的技術(shù)是adonet。adonet提供了一 組用來連接到數(shù)據(jù)庫,運行命令,返回記錄集的類庫,與從前的ado(activcx data object)相比,connection 和 commemd 對象很類似,而 ado . net 的革新 主要體現(xiàn)在如下幾個方面:首先,ado .net提供了對xml的強大支持,這也是ado .net的一個主要 設(shè)計目標。在 ado .net 中通過 xmlreader, xmlwriter, xmlnavi gator, xmldocumcnt等可以方便的創(chuàng)建和使用xml數(shù)據(jù),并且支持w3c的xslt、dtd、 xdr等標準。ado .

22、 net對xml的支持也為xml成為microsoftnet中數(shù)據(jù)交換 的統(tǒng)一格式提供了基礎(chǔ)。其次,ado . net引入了 dataset的概念,這是一個駐于內(nèi)存的數(shù)據(jù)緩沖區(qū), 它提供了數(shù)據(jù)的關(guān)系型視圖。不管數(shù)據(jù)來源于一個關(guān)系型的數(shù)據(jù)庫,還是來源 于一個xml文檔,我們都可以用一個統(tǒng)一的編程模型來創(chuàng)建和使用它。它替代 了原有的recordset的對象,提高了程序的交互性和可擴展性,尤其適合于分 布式的應(yīng)用場合。另外,ado . net中還引入了一些新的對象,例如datarcader可以用來高 效率的讀取數(shù)據(jù),產(chǎn)生一個只讀的記錄集等等。簡而言之,ado . net通過一系 列新的對象和編程模型

23、,并與xml緊密結(jié)合,使得在microsoft.net中的數(shù)據(jù) 操作十分方便和高效。asp .net是microsoftnet中的網(wǎng)絡(luò)編程結(jié)構(gòu),它使 得建造、運行和發(fā)布網(wǎng)絡(luò)應(yīng)用非常方便和高效。2.4 sql server 2000sql server 2000是microsoft公司發(fā)行的關(guān)系型數(shù)據(jù)庫管理與分析系統(tǒng), 它提供了功能全面、操作簡單的圖形界面。sql server 2000具有較好的可伸 縮性和可靠性,提供了以web標準為基礎(chǔ)的擴展數(shù)據(jù)庫編程功能,可以滿足電 子商務(wù)和企業(yè)應(yīng)用程序的要求。sql server 2000支持xml和internet標準, 具有基于web的分析能力,允許

24、使用內(nèi)置的存儲過程以xml格式存儲、更新、 刪除和檢索數(shù)據(jù)。由于asp. net與sql server 2000都是由微軟公司出品的, 所以在asp. net應(yīng)用于后臺程序中,有專門針對sql server 2000的數(shù)據(jù)應(yīng)用 類庫供用戶使用,方便了用戶對數(shù)據(jù)的操作。2.5 microsoft visual studio. netvisual studio . net作為微軟的下一代開發(fā)工具,它和.net開發(fā)框架緊 密結(jié)合,是構(gòu)建下一代互聯(lián)網(wǎng)應(yīng)用的優(yōu)秀工具。由于visual studio .net通過 提供一個統(tǒng)一的集成開發(fā)壞境及工具,大大提高了開發(fā)者的效率;十分方便.net 程序的創(chuàng)建和調(diào)試

25、,所以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ù)的 方法等等。當用visual studio. net創(chuàng)建一個asp. net工程時,visual studio. net會自動配置好iis應(yīng)用,用戶直接應(yīng)用即可。3城市公交車査詢系統(tǒng)的分析與設(shè)計3. 1需求分析在此系統(tǒng)中,用戶可以查詢城市中的各條路線或站點,了解各條路線或站

26、點的詳細信息。如果用戶要查詢某一條線路或站點,直接就可以用該系統(tǒng)相對 應(yīng)的功能。本系統(tǒng)滿足了以下兒個要求:操作的簡易性:城市公交查詢系統(tǒng)使用起來簡單、方便、界面友好,用戶 操作起來得心應(yīng)手。系統(tǒng)功能:在該系統(tǒng)中,主要提供了以下兒種功能:查詢車站信息、車次 信息、站點信息和站站信息功能,信息留言和系統(tǒng)管理功能。女山在查詢功能 中,用戶輸入要查詢的車次等信息即可得出與它相關(guān)的結(jié)果;在系統(tǒng)管理功能 中,管理員可以對其信息進行添加、編輯和刪除等操作。3. 2概要設(shè)計3. 2.1系統(tǒng)功能描述在用戶進入主界面后,就可以通過車次查詢、站點查詢、站站查詢、車站 查詢快速地查詢出符合用戶條件的相關(guān)線路信息。用戶

27、還可以在留言簿屮直接 進行留言,留言內(nèi)容可以是對線路的詢問,也可以對系統(tǒng)的不足地方提出用戶 自己的見解。當管理員進入系統(tǒng)后,可以對數(shù)據(jù)庫屮的信息進行添加、刪除和 編輯等操作。他還負責管理用戶的留言信息,通過對留言信息的審核,然后來 判斷對留言信息是進行回復(fù)還是刪除操作。3. 2. 2系統(tǒng)功能模塊劃分在了解了系統(tǒng)的功能需求后,可以把該系統(tǒng)劃分為以下3個模塊:用戶查 詢模塊、留言簿模塊和系統(tǒng)管理模塊如圖3-1。圖3-1城市公交查詢系統(tǒng)功能模塊下面對各個模塊進行描述:1、用戶查詢模塊在用戶查詢模塊中,主要是查詢出用戶自己所需要的線路信息,這也是整 個系統(tǒng)最主要的功能模塊。主要包括:(1) 查詢車次信

28、息:輸入要查詢的車次進行搜索,可以查詢出于它相應(yīng)的站 點名和站點描述信息。(2) 查詢站點信息:輸入要查詢的站點進行搜索,可以查詢出于它相應(yīng)的車 次名、發(fā)車時間、收車時間和車次描述信息。如果用戶不知道站點的全稱,也 可以在高級查詢中模糊查詢出含有關(guān)鍵字的所有站點信息。(3) 查詢車站信息:選擇要查詢的車站進行搜索,可以查詢出于它相應(yīng)的車 次名、發(fā)車時間、收車時間和車次描述信息(4) 查詢站站信息:輸入要查詢的起始站和終點站進行搜索,可以查詢出于 它相應(yīng)的乘車路線。2、系統(tǒng)管理模塊在系統(tǒng)管理模塊中,主要是對數(shù)據(jù)庫中的各個表進行管理。主要包括:(1) 管理員登錄。(2) 留言簿管理:可以對留言簿中

29、的內(nèi)容進行回復(fù)與刪除操作。在留言簿管 理中,它還含有一個搜索引擎,主要功能是管理員可以通過它搜索想要查詢的 留言主題,這樣可以快速的找岀某一主題并對它進行回復(fù)或刪除等操作。(3) 站點、車次管理:可以對站點、車次基本信息和車次次序信息進行添加、 刪除和編輯等操作。而且它們各自都含有一個搜索引擎,這樣可以快速的查詢 出你想要修改的站點或車次等信息,此搜索引擎采用的是模糊查找。3、留言簿模塊在留言簿模塊中,用戶可以不需要注冊直接在網(wǎng)上進行留言,也可以對某 一特定地留言標題進行回復(fù)貨討論,也可以通過留言簿查看自己曾經(jīng)留言過的 信息。3. 2. 3系統(tǒng)流程設(shè)計在城市公交查詢系統(tǒng)中,其核心內(nèi)容就是公交查

30、詢的實現(xiàn)。在此系統(tǒng)中, 即實現(xiàn)用戶查詢模塊中的各個功能信息。其中包括車次查詢、站點查詢、站站 查詢和車站查詢功能。此系統(tǒng)中,用戶不需要注冊就可以直接進行相關(guān)功能的查詢。其中站站查 詢是此系統(tǒng)中最重要的功能。主要流程為:當程序開始時先進入正向搜索,如 果正向搜索不存在所需的數(shù)據(jù)再進行反向搜索,如果正反兩方都沒有搜索到所 需的數(shù)據(jù)則程序結(jié)束。流程如圖3-2所示。(結(jié)束)圖3-2站站查詢功能流程圖根據(jù)上圖所示,在站站查詢實現(xiàn)的過程中,它是從正反兩個方而對線路進 行查詢。其中正向搜索線路的流程如圖3-3所示。開 始(結(jié)束)圖3-3正向搜索線路流程圖3. 2. 4系統(tǒng)e-r圖針對城市公交查詢系統(tǒng)的需求,

31、設(shè)計如下面所示的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu):(1)管理員基本信息(如圖3-4):包括管理員id,管理員名,管理員秘 碼。(2)留言簿基本信息(如圖3-5):包括留言簿id,留言標題,留言者, 留言內(nèi)容。(3)車次基本信息(如圖3-6):包括車次1d,車次名,發(fā)車時間,收車時間,車次描述。,"七戰(zhàn)y(4)站點基本信息(如圖3-7):包括站點id,站點名,站點描述。站點次序信息(如圖3-8):包括站點次序id,站點名,車次名,站點次序。管理員表圖3-4管理員基本信息e-r圖留言簿表在了解了各實體之后,下面實現(xiàn)的是站點次序表、站點表、車次表之間的 e-r關(guān)系模型圖。站點次序表與站點表之間的關(guān)系是一對

32、多的關(guān)系,記作1: m, 站點次序表與車次表之間的關(guān)系也是一對多的關(guān)系,記作1: n,如圖3-9所示。圖3-9站點次序表、站點表和車次表i'可的e-r圖4數(shù)據(jù)庫結(jié)構(gòu)設(shè)計與實現(xiàn)城市公交查詢系統(tǒng)應(yīng)用的是sql server 2000數(shù)據(jù)庫管理系統(tǒng)。此系統(tǒng)使 用的數(shù)據(jù)庫名稱為mybus,下面具體講解數(shù)據(jù)庫中各數(shù)據(jù)表的創(chuàng)建。4. 1數(shù)據(jù)表的創(chuàng)建該系統(tǒng)中共需要創(chuàng)建五個數(shù)據(jù)表:管理員表、留言簿表、車次基本信息表、 站點基本信息表、站點次序表。(1) 管理員表admin此表包括三個字段:一個是管理員標志adminid字段,該字段時admin表 的主鍵;另外兩個分別是管理員名和管理員密碼。其詳細信息如

33、表4-1所示。表 4-1 admin 表列名數(shù)據(jù)類型k度是否為空說明adminidint4not nul1管理員編號(主鍵)adnamcvarchar15not null管理員名adpwdvarchar15not null管理員密碼(2)留言簿表info此表包括四個字段:其中infotd字段為info表的主鍵,另外三個分別為留言標題、留言者名、留言內(nèi)容。其詳細信息如表4-2所示。 表 4-2 info 表列名數(shù)據(jù)類型長度是否為空說明infoidint4not null留言編號(主鍵)titlevarchar50null留言標題namevarchar50null留言者(含管理員)名letterv

34、archar350null留言內(nèi)容(3)車次基本信息表line此表包括五個字段:其中l(wèi)ineid字段為line表的主鍵,另外四個分別為 車次名、發(fā)車時間、收車時間和車次描述。其詳細信息如表4-3所示。表 4-3 line 表列名數(shù)據(jù)類型長度是否為空說明lineidint4not null車次編號1inamevarchar50not null車次名(主鍵)starttimevarchar50not null發(fā)車時間endtimevarchar50not null收車時間hidesvcirchtir300not nul1車次描述(4)站點基本信息表site此表包括三個字段:其中siteid字段為s

35、ite表的主鍵,另外兩個分別為 站點名和站點描述。其詳細信息如表4-4所示。表 4-4 site 表列名數(shù)據(jù)類型長度是否為空說明siteidint4not null站點編號sitenamevarchar50not null站點名(主鍵)sidesvarchar50not null油點描述(5)站點次序表sili此表包括四個字段:其中sitename字段和number字段為sili表的復(fù)合主 鍵,另外三個為站點名、線路名和站點次序。其詳細信息如表3-5所示。表 4-5 sili 表列名數(shù)據(jù)類型長度是否為空說明siliidint4not null站點次序編號sitenamevarchar50not

36、 null站點名(主鍵)linamevarchar50not null車次名(主鍵)numberint4not null站點次序4.2數(shù)據(jù)庫的連接在創(chuàng)建完成一個asp. net應(yīng)用程序的時候,vs會創(chuàng)建一個web. config文 件。該文件定義和保存了所有asp. net應(yīng)用程序的配置信息,這些配置采用了 xml格式,具有較大的可擴展性。在web. config文件中可,項目應(yīng)用的所有配 置信息都包含在<configuration>和/configutation>標記之間,另外,可以在 <appscttings>標記中,使用<add. />標記中定義

37、0到多個設(shè)置。在本系統(tǒng)中,數(shù)據(jù)庫連接如下:首先:在web. config文件中設(shè)置了數(shù)據(jù)庫的連接,下而是部分web. config 文件的代碼:<configuration>建立數(shù)據(jù)庫連接<appsettings><add key="connectionstring"value="server= (local); database=mybus; uid=sa; pwd='7></appsettings></configuration>其中conncctionstring是取得或設(shè)置連接數(shù)據(jù)庫的語句

38、;scrvcr=( local) 表示與數(shù)據(jù)庫相連的是本機;database表示要連的數(shù)據(jù)庫,本系統(tǒng)得數(shù)據(jù)庫為 mybus; uid=sa表示數(shù)據(jù)庫的用戶名為sa; pwd表示連接的數(shù)據(jù)庫的密碼,本 系統(tǒng)中為空。其次:在asp. net后臺應(yīng)用中,可以通過ado. net的sql server數(shù)據(jù)庫接 口連接sql server數(shù)據(jù)庫。首先要在程序的開頭定義一個using system. data. sqlclicnt類庫,定義了它之后才可以應(yīng)用sql server數(shù)據(jù)庫接 口。然后再應(yīng)用程序的page_load()事件中,定義了數(shù)據(jù)庫連接的程序應(yīng)用, 其代碼具體如下:using system

39、.data.sqlclientprivate void page_load (object sender, system.eventargs e)string source=configurationsettings.appsettings ''connectionstring"conn=new sqlconnection (source);先聲明一個變量獲取配置節(jié)中的配置設(shè)置,然后用sqlconnection打開數(shù) 據(jù)庫的一個連接。4. 3存儲過程在城市公交查詢中,大多的數(shù)據(jù)操作都是通過存儲過程來處理的。存儲過 程是由一些sql語句和控制語句組成的被封裝起來的過程,

40、它駐留在數(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)性。1、修改站點次序信息的存儲過程下面的存儲過程的作用是根據(jù)輸入的新信息來更新站點的次序信息,應(yīng)用 在updsitc. aspx. cs中,其sql語句如下:create procedure updatesilisiliid int,number int,sitename varchar (50),liname v

41、archar (50)asupdate siliset number=number, sitename=sitename, liname=liname wheresiliid=siliidgo5城市公交查詢系統(tǒng)的實現(xiàn)5.1系統(tǒng)首頁1、首頁界面首頁主要是系統(tǒng)的窗口,通常顯示的信息最多、結(jié)構(gòu)也最復(fù)雜。此界面主 要是采用表格來制作的,它包括五個部分。其中有四個用戶控件,它們分別是: headl.ascx、 head3 ascx、 head4. ascx footer ascx。 head 1. ascx 主要由頁 面的標題,四個工具欄和一個label控件組成;head3. ascx是頁面欄; hea

42、d4. ascx是快速公告,主要顯示公交車公司發(fā)布的關(guān)于交通和公交車的最新 信息;footer, ascx主要是顯示此網(wǎng)頁的版權(quán)所有者。此界面的具體結(jié)構(gòu)排列如圖5-1所示。i返回主貝ii訪客留哥i最新動態(tài)ii后臺管理ii您好! 歡迎使用城市公交查詢,您進入時間01:15:35您好i衣迎使用城市公交查 詢,祝您旅途愉快!公交車最新公交規(guī)則圖5-1首頁界面2、前臺界面實現(xiàn)(default, aspx)(1) 下面的代碼定義調(diào)用的文件和form表單。<!-下面代碼是調(diào)用 headl. ascx>head3. ascx>head4. ascx 和 footer, ascx 用戶控制吋

43、需在aspx文件開頭部分添加的語句一><%registertagprefix="lb',tagname=nheader',src=',head4.ascx',%><%registertagprefix="l"tagname="headern src=',head3.ascx',%> <%registertagprefix="t,tagname=,headern src="headl .ascx"%> <%registertagpr

44、efix="f"tagname="footerh src="footer.ascx,%> <% page language=”c#" codebehind="default.aspx.cs” autoeventwireup="false" inherits="ni._defaulth %>v!-下面代碼表示用戶控件在頁面中的調(diào)用和在頁面中的相應(yīng)位置-><t: header id=”headl” runat=nservern></t: header><b

45、r><l: header id=nhead3h runat="serverh></l: header><br><lb: header id=hhead4h runat="servern></lb: header><!-下面代碼表示調(diào)用footer.ascx的語句和它在頁面中的位置-<f: footer id=,'footerh runat="serverh></f: footer>3、后臺應(yīng)用實現(xiàn)(default, aspx. cs)在default的后臺應(yīng)用中

46、,主要處理帶著數(shù)據(jù)的頁而的跳轉(zhuǎn),其代碼如下:(1)下而代碼定義命名空間和文件中使用的表格表單、相關(guān)控件變量聲明 等信息。/using表示為本機的數(shù)據(jù)提供類using system.data.sqlclient;/使用數(shù)據(jù)庫using system.configuration;/在web.config中聲明的函數(shù)一般是連接數(shù)據(jù) 庫的避免了重復(fù)直接調(diào)用數(shù)據(jù)庫連接namespace ni 命名空間public class _default: system.web.ui.page相關(guān)控件的聲明protected system.web.ui.webcontrols.textbox sina;protec

47、ted system.web.ui.webcontrols.button button 1;protected string searchlina=nsite.aspx?n;sqlconnection conn;(2) 下面代碼定義了頁面初始化過程中的數(shù)據(jù)應(yīng)用,首先建立了與數(shù)據(jù)庫 的連接/page_load事件,無論是訪問者初始瀏覽還是通過單擊按鈕或因為其他 事件來再次調(diào)用頁面,都會觸發(fā)page.load事件中的代碼。private void page_load (object sender, system.eventargs e)/在此處放置用戶代碼以初始化頁而string source=c

48、onfigurationsettings.appsettings ''connectionstring"調(diào)用在web.config文件中的數(shù)據(jù)庫連接語句conn=new sqlconnection(source);扌開一個連接private void initializecomponent () 聲明將耍處理事件的方法this.buttonl.click+= newsystem.eventhandler (this.button 1 _click);(3) 下面定義的代碼表示單擊了按鈕時,就會觸發(fā)相應(yīng)的事件。private void button2_click (ob

49、ject sender, system.eventargs e) 此事件中將頁而跳轉(zhuǎn)到站點查詢的界而中 string sna=sina.text;/聲明一個變量,并取得文本框中的數(shù)據(jù) url 1 =searchsite+hsitename=,'+sna+,'&,'/ 帶參數(shù)的頁面跳轉(zhuǎn) urll+=,h,;response.redirect (urll);5.2后臺管理界在此頁面中,主要實現(xiàn)站點信息管理。在此頁面中,還加了一個搜索引擎, 以方便管理員搜索某個具體的站點信息。具體結(jié)構(gòu)排列如圖5-2所示。01:26:33站點管理留言管理站點管理站點基本管理車次管理退岀

50、系統(tǒng)序號83站點名er線路名13車序1編輯刪除13府青路二環(huán)路立交橋213編輯刪除15高筍塘215編輯刪除16荷花池216編輯刪除11廠北路口211編輯刪除2東桂村22編輯刪除14二壞路北四段中214編輯刪除9二環(huán)路東二段29編輯刪除7二壞路東三段27編輯刪除12二壞路東一段212編輯刪除1 2 3 4 56 7 8搜索:i提交添加新的站點 (返回圖5-2站點管理界面1、前臺界面實現(xiàn)(updsite. aspx)在前臺界面中主要的控件就是datagrid控件,它是對數(shù)據(jù)表的列進行操作 的。它的屬性是true和false。autogeneratecolumns的默認值為true,則說 明它可以自

51、動產(chǎn)生列;當把autogeneratecolumns的屬性設(shè)為falsh是, datagrid 控件提供 5 種列選擇,分別為:buttoncolunix boundcolumn> editcommandcolumn、hypcrlinkcolumn、tcmplatccolumn ,它 們 的 都是在 <columnx/column>標簽內(nèi)進行編程的。在此頁而中用來共用了三種選擇,包括 buttoncolum boundcolumn 和 editcommandco 1 umn,其代碼如下:<asp:datagridid=ndatagridr'runat="

52、;server"datakeyfield="siliid"onupdatecommand="datagrid_updatenoneditcommand="datagrid_edith ondeletecommand=ndatagrid_delete"oncancelcommand=hdatagrid_cancer' width二too%” autogeneratecolumns=hfalsen pagesize=n10n allowpaging=ntruehonpageindexchanged=',datagrid_p

53、agenbordercolor=,'#999999,'borderstyle=hnoneu borderwidth=hlpx" backcolor="whiten cellpadding 二”3” gridlinesi vertical”<selecteditemstylefont-bold=htruenforecolor=nwhite"backcolor="#ccccff></selecteditemstyle><alternatingitemstyle backcoloi-h#ffe4ff,x/alter

54、natingitemstyle>/ alternatingltemstyle為表中偶數(shù)記錄單獨指定的顏色和字體<itemstyle forecolor="blackm backcolor="#flf0f4 hx/itemstyle><headerstyle font-bold=htrueh forecolor=hblackn backcolor=h#ffe4ff*> </headerstyle><footerstyle forecolor="black" backcolor=h#ffccff'>

55、;</footerstyle><columns><asp:boundcolumn datafield="siliid" headertext="序號”</asp: boundcolumn><asp:boundcolumn datafield="sitename" headertext="站點名”</asp: boundcolumn>通過datagrid控件的boundcolumn性質(zhì),可以對數(shù)據(jù)表的列進行操作<asp:boundcolumn datafield='

56、;,linameh headertext="線路名”</asp: boundcolumn><asp:boundcolumn datafield="number" headertext=n車序”</asp: boundcolumn><asp:editcommandcolumn buttontype="linkbutton" updatetext="更新”canceltext=,'取消” edittext=n編輯”></asp:editcommandcolumn> /editc

57、ommandcolumn 的具體功能有編輯、更 新和取消,它可以實現(xiàn)數(shù)據(jù)的修改<asp:buttoncolumn text="刪除” commandname=”delete”></asp: buttoncolumn>通過datagrid控件的buttoncolumn性質(zhì),可以在數(shù)據(jù)表中實現(xiàn)button控 件所支持的操作</columns><pagerstylehorizontalalign=hcenter,forecolor=',black,' backcolor=,#ffe4ff, mode="numericpag

58、es"></pagerstyle>/定義分頁時顯示的類型,其中顯示分頁的模型為數(shù)字,方向 是水平方向居中。</asp: datagrid>2站點管理后臺應(yīng)用實現(xiàn)(updsite.aspx.cs)(1) 下面定義了頁面初始化的應(yīng)用,其代碼如下:private void page load (object sender, system.eventargs e)/在此處放置用戶代碼以初始化頁面string source=configurationsettings.appsettingsconnectionstring"conn=new sqlconnection (source);if (! ispostback)/檢查目前網(wǎng)頁是否為第一次加載,我們在page load事件 中就可以使用這個展性來避免做一些重復(fù)的動作bindgrid ();(2) 下面定義了 bindgrid和“

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論