畢業(yè)設計--汽車租賃系統(tǒng)的設計與實現(xiàn)_第1頁
已閱讀1頁,還剩55頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  汽車租賃系統(tǒng)的設計與實現(xiàn)</p><p><b>  1 引言</b></p><p><b>  1.1選題背景</b></p><p>  隨著市場經(jīng)濟的發(fā)展,我國汽車租賃行業(yè)已呈現(xiàn)出高速發(fā)展的態(tài)勢。在很多汽車租賃企業(yè)經(jīng)營規(guī)模不斷擴大、采用連鎖經(jīng)營的情況下,手工管理無論是在工作效率、人員成本還是

2、提供決策信息方面都已經(jīng)難以適應現(xiàn)代化經(jīng)營管理的要求,制約了汽車租賃企業(yè)的規(guī)模化發(fā)展和整體服務水平的提升。</p><p>  計算機與互聯(lián)網(wǎng)技術應用于汽車租賃行業(yè)是一場突破性的革命:一方面可以加強標準化、規(guī)范化業(yè)務管理,全面提高汽車租賃行業(yè)的管理水平和信息化程度;另一方面能夠合理利用人力和物力資源,使人盡其才,物盡其用,有效地管理各種業(yè)務與關系,縮短銷售周期、降低銷售成本、增加收入。目前,在汽車租賃系統(tǒng)中單機版的

3、技術比較成熟和普及,即數(shù)據(jù)和程序存放在同一臺計算機上,這種系統(tǒng)可基本滿足中小型用戶的需要;但隨著.NET技術、網(wǎng)絡技術和數(shù)據(jù)庫技術的發(fā)展,通過網(wǎng)絡(有線或無線)把各個分店的數(shù)據(jù)分布協(xié)同工作的汽車租賃系統(tǒng)逐漸成為了研究的熱點,得到了越來越廣泛的應用。本系統(tǒng)正是要研究目前汽車租賃管理系統(tǒng)開發(fā)中用到的先進技術,并在此技術上開發(fā)建立一個完整的系統(tǒng),實現(xiàn)對汽車租賃系統(tǒng)全面高效的管理。</p><p>  1.2 目的和意

4、義</p><p>  開發(fā)一套運行穩(wěn)定、安全可靠、操作簡便、高效快捷的車輛租貸系統(tǒng),幫助企業(yè)處理日常工作業(yè)務,規(guī)范管理各項工作和操作流程。能夠方便的實現(xiàn)企業(yè)的公司宣傳與業(yè)務介紹。也使管理員通過此系統(tǒng)能對合同的添加、刪除、修改、查詢等功能??焖贉蚀_的獲取必要的信息。</p><p>  1.3 技術要求和設計范圍</p><p>  如何設計好本系統(tǒng),實現(xiàn)各個功能

5、的完整正常運行是很重要的。后臺利用Microsoft .NET Framework開發(fā)平臺,在Visual Studio.NET環(huán)境下,利用C#語言和SQL Server2005數(shù)據(jù)庫。實現(xiàn)一個基于三層架構(WEB、DAL、BLL)的車輛租貸系統(tǒng)。前臺采用flash、DIV和CSS等技術,更加豐富公司的業(yè)務介紹和宣傳,完善工作人員對業(yè)務的方便使用。</p><p><b>  1.4 發(fā)展現(xiàn)狀<

6、/b></p><p>  汽車租賃作為汽車消費的一種形式,具有成本低、方式靈活、服務便捷等特點,未來必會有很大發(fā)展空間,相關機構預測到2015年市場規(guī)模將超過350億元。</p><p>  近些年,中國汽車租賃行業(yè)快速發(fā)展,出現(xiàn)了一批具有影響力的企業(yè),如神州租車、一嗨租車等,2010年汽車租賃數(shù)量為20萬輛,市場規(guī)模160億。但與成熟的發(fā)達市場相比,中國的租車普及率較低,2010

7、年為0.4%,低于美國的1.3%和日本的2.2%。我們不能簡單的以國際發(fā)達市場的發(fā)展狀況來推斷中國市場,畢竟環(huán)境不同、客戶不同、發(fā)展階段不同,中國汽車租賃行業(yè)有其自身特征,必將發(fā)展路徑也有所不同。隨著互聯(lián)網(wǎng)的快速的發(fā)展,社會化營銷、第三方銷售平臺等手段,擴展客戶入口。都是需要企業(yè)去思考未來的。所以運用互聯(lián)網(wǎng)必將是以后此類公司爭奪的重點。</p><p><b>  2 方案論證</b>&l

8、t;/p><p><b>  2.1 三層架構</b></p><p>  2.1.1 三層架構的介紹</p><p>  三層架構(3-tier architecture) 通常意義上的三層架構就是將整個業(yè)務應用劃分為:表現(xiàn)層(UI)、業(yè)務邏輯層(BLL)、數(shù)據(jù)訪問層(DAL)。區(qū)分層次的目的即為了“高內聚,低耦合”的思想。</p>

9、;<p>  表現(xiàn)層(UI):通俗講就是展現(xiàn)給用戶的界面,即用戶在使用一個系統(tǒng)的時候他的所見所得。</p><p>  業(yè)務邏輯層(BLL):針對具體問題的操作,也可以說是對數(shù)據(jù)層的操作,對數(shù)據(jù)業(yè)務邏輯處理。</p><p>  數(shù)據(jù)訪問層(DAL):該層所做事務直接操作數(shù)據(jù)庫,針對數(shù)據(jù)的增添、刪除、修改、查找等。</p><p>  在軟件體系架構設

10、計中,分層式結構是最常見,也是最重要的一種結構。微軟推薦的分層式結構一般分為三層,從下至上分別為:數(shù)據(jù)訪問層、業(yè)務邏輯層(又或稱為領域層)、表示層。如圖1所示:</p><p><b>  圖1 分層式結構</b></p><p>  2.2 三層結構原理</p><p>  3個層次中,系統(tǒng)主要功能和業(yè)務邏輯都在業(yè)務邏輯層進行處理。所謂三

11、層體系結構,是在客戶端與數(shù)據(jù)庫之間加入了一個“中間層”,也叫組件層。這里所說的三層體系,不是指物理上的三層,不是簡單地放置三臺機器就是三層體系結構,也不僅僅有B/S應用才是三層體系結構,三層是指邏輯上的三層,即使這三個層放置到一臺機器上。</p><p>  三層體系的應用程序將業(yè)務規(guī)則、數(shù)據(jù)訪問、合法性校驗等工作放到了中間層進行處理。通常情況下,客戶端不直接與數(shù)據(jù)庫進行交互,而是通過COM/DCOM通訊與中間層

12、建立連接,再經(jīng)由中間層與數(shù)據(jù)庫進行交互。</p><p>  2.2.1 各層的作用</p><p>  數(shù)據(jù)訪問層:主要是對原始數(shù)據(jù)(數(shù)據(jù)庫或者文本文件等存放數(shù)據(jù)的形式)的操作層,而不是指原始數(shù)據(jù),也就是說,是對數(shù)據(jù)的操作,而不是數(shù)據(jù)庫,具體為業(yè)務邏輯層或表示層提供數(shù)據(jù)服務。有時候也稱為是持久層,其功能主要是負責數(shù)據(jù)庫的訪問,可以訪問數(shù)據(jù)庫系統(tǒng)、二進制文件、文本文檔或是XML文檔。簡單

13、的說法就是實現(xiàn)對數(shù)據(jù)表的Select,Insert,Update,Delete的操作。如果要加入ORM的元素,那么就會包括對象和數(shù)據(jù)表之間的mapping,以及對象實體的持久化。</p><p>  業(yè)務邏輯層:主要是針對具體的問題的操作,也可以理解成對數(shù)據(jù)層的操作,對數(shù)據(jù)業(yè)務邏輯處理,如果說數(shù)據(jù)層是積木,那邏輯層就是對這些積木的搭建。業(yè)務邏輯層(Business Logic Layer)無疑是系統(tǒng)架構中體現(xiàn)核心

14、價值的部分。它的關注點主要集中在業(yè)務規(guī)則的制定、業(yè)務流程的實現(xiàn)等與業(yè)務需求有關的系統(tǒng)設計,也即是說它是與系統(tǒng)所應對的領域(Domain)邏輯有關,很多時候,也將業(yè)務邏輯層稱為領域層。例如Martin Fowler在《Patterns of Enterprise Application Architecture》一書中,將整個架構分為三個主要的層:表示層、領域層和數(shù)據(jù)源層。作為領域驅動設計的先驅Eric Evans,對業(yè)務邏輯層作了更細致

15、地劃分,細分為應用層與領域層,通過分層進一步將領域邏輯與領域邏輯的解決方案分離。業(yè)務邏輯層在體系架構中的位置很關鍵,它處于數(shù)據(jù)訪問層與表示層中間,起到了數(shù)據(jù)交換中承上啟下的作用。由于層是一種弱耦合結構,層與層之間的依賴是向下的,底層對于上層而言是“無知”的,改變上層的設計對于其調用的底層而言沒有任何影響。如果在分層設計時,遵循了面向接口設計的</p><p>  表示層:主要表示W(wǎng)EB方式,也可以表示成WINFO

16、RM方式,WEB方式也可以表現(xiàn)成:aspx,如果邏輯層相當強大和完善,無論表現(xiàn)層如何定義和更改,邏輯層都能完善地提供服務。位于最外層(最上層),離用戶最近。用于顯示數(shù)據(jù)和接收用戶輸入的數(shù)據(jù),為用戶提供一種交互式操作的界面。</p><p>  2.2.2 具體的區(qū)分方法</p><p>  數(shù)據(jù)訪問層:主要看你的數(shù)據(jù)層里面有沒有包含邏輯處理,實際上他的各個函數(shù)主要完成各個對數(shù)據(jù)文件的操作

17、。而不必管其他操作。</p><p>  業(yè)務邏輯層:主要負責對數(shù)據(jù)層的操作。也就是說把一些數(shù)據(jù)層的操作進行組合。</p><p>  表示層:主要對用戶的請求接受,以及數(shù)據(jù)的返回,為客戶端提供應用程序的訪問。</p><p>  2.3 運行環(huán)境和開發(fā)工具的選擇</p><p>  我主要采用ASP技術實現(xiàn)動態(tài)頁面設計,SQLServer

18、2005實現(xiàn)數(shù)據(jù)庫應用和數(shù)據(jù)管理的設計方案。前臺結合DIV和CSS的方案進行整個系統(tǒng)的設計。</p><p>  ASP是Active Server Page的縮寫,意為“動態(tài)服務器頁面”。ASP是微軟公司開發(fā)的代替CGI腳本程序的一種應用,它可以與數(shù)據(jù)庫和其它程序進行交互,是一種簡單、方便的編程工具。ASP的網(wǎng)頁文件的格式是。asp,現(xiàn)在常用于各種動態(tài)網(wǎng)站中。ASP是一種服務器端腳本編寫環(huán)境,可以用來創(chuàng)建和運行

19、動態(tài)網(wǎng)頁或Web應用程序。ASP網(wǎng)頁可以包含HTML標記、普通文本、腳本命令以及COM組件等。利用ASP可以向網(wǎng)頁中添加交互式內容(如在線表單),也可以創(chuàng)建使用HTML網(wǎng)頁作為用戶界面的web應用程序。 與HTML相比,ASP網(wǎng)頁具有以下特點:(1)利用ASP可以實現(xiàn)突破靜態(tài)網(wǎng)頁的一些功能限制,實現(xiàn)動態(tài)網(wǎng)頁技術;(2)ASP文件是包含在HTML代碼所組成的文件中的,易于修改和測試;(3)服務器上的ASP解釋程序會在服務器端執(zhí)行ASP程序

20、,并將結果以HTML格式傳送到客戶端瀏覽器上,因此使用各種瀏覽器都可以正常瀏覽ASP所產(chǎn)生的網(wǎng)頁;(4)ASP提供了一些內置對象,使用這些對象可以使服務器端腳本功能更強。例如可以從web瀏覽器中獲取用戶通過HTML表單提交的信息,并在腳本中對這些信息進行處理</p><p>  DIV+CSS是網(wǎng)站標準(或稱“WEB標準”)中常用術語之一,div+css 是一種網(wǎng)頁的布局方法,這一種網(wǎng)頁布局方法有別于傳統(tǒng)的HTM

21、L網(wǎng)頁設計語言中的表格(table)定位方式,可實現(xiàn)網(wǎng)頁頁面內容與表現(xiàn)相分離。XHTML是The Extensible HyperText Markup Language(可擴展超文本標識語言)的縮寫。XHTML基于可擴展標記語言(XML),是一種在HTML 基礎上優(yōu)化和改進的的新語言,目的是基于XML應用與強大的數(shù)據(jù)轉換能力,適應未來網(wǎng)絡應用更多的需求。在XHTML網(wǎng)站設計標準中,不再使用表格定位技術,而是采用DIV+CSS的方式實現(xiàn)

22、各種定位。</p><p>  2.3.1 運行環(huán)境</p><p>  VS2008為系統(tǒng)運行平臺,IE8.0瀏覽器,火狐瀏覽器,360瀏覽器, SQL Server 2005 Express Edition。</p><p>  Microsoft Visual Studio 2008是面向Windows Vista、Office 2007、Web 2.0的下

23、一代開發(fā)工具,代號“Orcas”,是對Visual Studio 2005一次及時、全面的升級。VS2008引入了250多個新特性,整合了對象、關系型數(shù)據(jù)、XML的訪問方式,語言更加簡潔。使用Visual Studio 2008可以高效開發(fā)Windows應用程序。設計器中可以實時反映變更,XAML中智能感知功能可以提高開發(fā)效率。同時Visual Studio 2008支持項目模板、調試器和部署程序。Visual Studio 2008可

24、以高效開發(fā)Web應用,集成了AJAX 1.0,包含AJAX項目模板,它還可以高效開發(fā)Office應用和Mobile應用。</p><p>  SQL是英文Structured Query Language的縮寫,意思為結構化查詢語言。SQL語言的主要功能就是同各種數(shù)據(jù)庫建立聯(lián)系,進行溝通。SQL語句可以用來執(zhí)行各種各樣的操作,例如更新數(shù)據(jù)庫中的數(shù)據(jù),從數(shù)據(jù)庫中提取數(shù)據(jù)等。目前,絕大多數(shù)流行的關系型數(shù)據(jù)庫管理系統(tǒng),

25、如Oracle, Sybase, Microsoft SQL Server, Access等都采用了SQL語言標準。</p><p>  SQL Server 2005 Express Edition(僅適用于 32 位)——學習版SQL Server Express 數(shù)據(jù)庫平臺基于 SQL Server 2005。它也可以替換 Microsoft Desktop Engine (MSDE)。通過與 Micros

26、oft Visual Studio 2005 集成,SQL Server Express 簡化了功能豐富、存儲安全且部署快速的數(shù)據(jù)驅動應用程序的開發(fā)過程。</p><p>  2.3.2 開發(fā)工具</p><p>  Dreamweaver cs5,F(xiàn)lash,photoshop cs5。</p><p>  Adobe Dreamweaver CS5是一款集網(wǎng)頁

27、制作和管理網(wǎng)站于一身的所見即所得網(wǎng)頁編輯器,Dreamweaver CS5是第一套針對專業(yè)網(wǎng)頁設計師特別發(fā)展的視覺化網(wǎng)頁開發(fā)工具,利用它可以輕而易舉地制作出跨越平臺限制和跨越瀏覽器限制的充滿動感的網(wǎng)頁。</p><p>  Flash是由macromedia公司推出的交互式矢量圖和 Web 動畫的標準,由Adobe公司收購。網(wǎng)頁設計者使用 Flash 創(chuàng)作出既漂亮又可改變尺寸的導航界面以及其他奇特的效果。Flas

28、h,是一種動畫創(chuàng)作與應用程序開發(fā)于一身的創(chuàng)作軟件,到2013年1月24日為止最新的零售版本為AdobeFlash Professional CS6(2012年發(fā)布)。Adobe Flash Professional CS6為創(chuàng)建數(shù)字動畫、交互式Web站點、桌面應用程序以及手機應用程序開發(fā)提供了功能全面的創(chuàng)作和編輯環(huán)境。Flash廣泛用于創(chuàng)建吸引人的應用程序,它們包含豐富的視頻、聲音、圖形和動畫??梢栽贔lash中創(chuàng)建原始內容或者從其它A

29、dobe應用程序(如Photoshop或illustrator)導入它們,快速設計簡單的動畫,以及使用Adobe AcitonScript 3.0開發(fā)高級的交互式項目。設計人員和開發(fā)人員可使用它來創(chuàng)建演示文稿、應用程序和其它允許用戶交互的內容。Flash可以包含簡單的動畫、視頻內容、復雜演示文稿和應用程序以及介于它們之間的任何內容。通常,使用Flash[3]創(chuàng)作的各</p><p>  Adobe Photosh

30、op CS5Extended 是電影、視頻和多媒體領域的專業(yè)人士, 使用 3D 和動畫的圖形和 Web 設計人員, 以及工程和科學領域的專業(yè)人士的理想選擇。呈現(xiàn)3D圖像并將它合并到 2D 復合圖像中。輕松編輯視頻圖層上的動畫圖形, 讓時間停下來。以及使用測量、計數(shù)和可視化工具, 探查您的圖像。使用Photoshop不僅可以將圖像進行精確的加工,還可以將圖像制作成網(wǎng)頁動畫上傳到網(wǎng)頁中 。</p><p>  2.3

31、.3 sql注入原理</p><p>  SQL注入攻擊指的是通過構建特殊的輸入作為參數(shù)傳入Web應用程序,而這些輸入大都是SQL語法里的一些組合,通過執(zhí)行SQL語句進而執(zhí)行攻擊者所要的操作,其主要原因是程序沒有細致地過濾用戶輸入的數(shù)據(jù),致使非法數(shù)據(jù)侵入系統(tǒng)。根據(jù)相關技術原理,SQL注入可以分為平臺層注入和代碼層注入。前者由不安全的數(shù)據(jù)庫配置或數(shù)據(jù)庫平臺的漏洞所致;后者主要是由于程序員對輸入未進行細致地過濾,從

32、而執(zhí)行了非法的數(shù)據(jù)查詢?;诖?,SQL注入的產(chǎn)生原因通常表現(xiàn)在以下幾方面:①不當?shù)念愋吞幚?;②不安全的?shù)據(jù)庫配置;③不合理的查詢集處理;④不當?shù)腻e誤處理;⑤轉義字符處理不合適;⑥多個提交處理不當。</p><p>  2.3.4 防止sql注入</p><p>  主要有六種防止sql注入的方法。1.永遠不要信任用戶的輸入。對用戶的輸入進行校驗,可以通過正則表達式,或限制長度;對單引號和

33、</p><p>  雙"-"進行轉換等。2.永遠不要使用動態(tài)拼裝sql,可以使用參數(shù)化的sql或者直接使用存儲過程進行數(shù)據(jù)查詢存取。3.永遠不要使用管理員權限的數(shù)據(jù)庫連接,為每個應用使用單獨的權限有限的數(shù)據(jù)庫連接。</p><p>  4.不要把機密信息直接存放,加密或者hash掉密碼和敏感的信息。5.應用的異常信息應該給出盡可能少的提示,最好使用自定義的錯誤信息對原

34、始錯誤信息進行包裝6.sql注入的檢測方法一般采取輔助軟件或網(wǎng)站平臺來檢測,軟件一般采用sql注入檢測工具jsky,網(wǎng)站平臺就有億思網(wǎng)站安全平臺檢測工具。MDCSOFT SCAN等。采用MDCSOFT-IPS可以有效的防御SQL注入,XSS攻擊等。</p><p><b>  3 過程論述</b></p><p><b>  3.1 需求分析</b

35、></p><p>  3.1.1 系統(tǒng)綜合要求</p><p>  管理人員能夠通過管理員入口輸入賬號、密碼(本系統(tǒng)默認的賬號密碼都是Admin)選擇進入合同管理或者是汽車信息管理。游客通過公司的主頁實現(xiàn)對公司業(yè)務的了解,對公司信息的了解,獲得自己需求的車輛信息,獲得公司的聯(lián)系方式,以及需要租貸車輛的有關信息,進行會員注冊。</p><p>  游客進行注

36、冊,注冊后成為公司的會員,可以享受查看汽車信息,在線查詢,在線提交租貸合同。</p><p>  管理人員通過前臺進入合同管理,實現(xiàn)合同的管理。</p><p>  通過游客提交的租貸合同</p><p>  增加合同信息:通過新增的業(yè)務信息添加新的合同。</p><p>  刪除合同信息:通過指定的合同(合同的id),刪除該合同。</

37、p><p>  修改合同信息:通過需要修改的合同,修改有關合同的信息(合同的填寫時間、有關汽車的信息、租貸人姓名)。</p><p>  顯示所有的合同信息:能夠在頁面顯示所有合同的信息。</p><p>  管理員通過前臺進入汽車信息管理。</p><p>  增加汽車信息:增加有關汽車的信息(汽車的名稱、汽車的車牌號碼)。</p>

38、<p>  刪除汽車信息:通過汽車的id,刪除指定的汽車。</p><p>  修改汽車信息:通過指定的汽車id,修改汽車的名稱和汽車的車牌號碼。</p><p>  顯示所有的信息:在頁面上顯示所有的汽車信息。</p><p>  3.1.2 系統(tǒng)功能模塊設計</p><p>  本系統(tǒng)主要有以下幾大功能:游客信息功能、會員

39、業(yè)務功能、管理人員功能。如圖2所示:</p><p>  圖2 系統(tǒng)功能模塊圖</p><p>  3.2 汽車租貸系統(tǒng)的總體設計</p><p>  3.2.1 系統(tǒng)操作介紹</p><p>  首先瀏覽網(wǎng)頁,普通游客可以瀏覽公司的信息,如果是管理員,輸入管理員賬號密碼(賬號密碼本系統(tǒng)設計初都是Admin)可以進入后臺進行后臺的管理操

40、作。</p><p>  3.2.2 系統(tǒng)功能圖</p><p>  系統(tǒng)的基本系統(tǒng)功能圖如圖3所示:</p><p><b>  圖3 系統(tǒng)功能圖</b></p><p>  3.2.3 數(shù)據(jù)庫設計</p><p>  在設計數(shù)據(jù)庫時,綜合實際情況,主要設計了5個表:會員信息表、會員提交合

41、同表、汽車信息表、車輛租貸合同表和管理員信息表。</p><p>  表1是會員信息標的設計。</p><p><b>  表1 會員信息表</b></p><p>  表2是會員提交合同表的設計</p><p><b>  表2 提交合同表</b></p><p>  

42、表3是汽車信息表的設計。</p><p><b>  表3 汽車信息表</b></p><p>  表4是車輛租貸合同表的設計。</p><p>  表4 車輛租貸合同表</p><p>  表5是管理人員表的設計</p><p>  表5 管理員信息表</p><p&g

43、t;  4 汽車租貸系統(tǒng)詳細設計</p><p>  4.1 數(shù)據(jù)庫設計的實現(xiàn)</p><p>  首先建立好數(shù)據(jù)庫Carsystem,再建立表。實現(xiàn)過程在SQL2005執(zhí)行下列代碼。</p><p>  ------ 建立數(shù)據(jù)庫</p><p>  ----create database Carsystem</p><

44、p>  ---- 建立汽車信息表</p><p>  --create table CarInfo</p><p><b>  --(</b></p><p>  --id int identity(1,1) primary key,</p><p>  --carname varchar(20) not nu

45、ll,</p><p>  -- carnumber varchar(20) </p><p><b>  --)</b></p><p>  -- 建立車輛租賃表</p><p>  create table ZfInfo</p><p><b>  (</b><

46、;/p><p>  id int identity(1,1) primary key,</p><p>  createTime varchar(20) not null,</p><p>  carname varchar(20) not null,</p><p>  peoplename varchar(20) not null</

47、p><p><b>  )</b></p><p>  ---- 建立會員信息表</p><p>  --create table CarInfo</p><p><b>  --(</b></p><p>  -- id int identity(1,1) primar

48、y key,</p><p>  -- Username varchar(20) not null,</p><p>  -- Password varchar(20) not null,</p><p>  Qq varchar(20) not null,</p><p>  Phonenumber varch

49、ar(20) not null,</p><p>  Address varchar(20) not null</p><p><b>  --)</b></p><p><b>  建立提交合同表</b></p><p>  create table CarInfo</p>&

50、lt;p><b>  (</b></p><p>  id int identity(1,1) primary key,</p><p>  Name varchar(20) not null,</p><p>  Tianshu varchar(20) not null,</p><p>  Qq varch

51、ar(20) not null,</p><p>  Carinfor varchar(20) not null,</p><p>  Phonenumber varchar(20) not null,</p><p>  Daytime archar(20) not null</p><p><b>  )<

52、;/b></p><p>  ---- 建立管理人員信息表</p><p>  --create table CarInfo</p><p><b>  (</b></p><p>  id int identity(1,1) primary key,</p><p>  Name varc

53、har(20) not null,</p><p>  Password varchar(20) not null</p><p><b>  )</b></p><p>  4.1.1 數(shù)據(jù)表操作類的各種方法設計</p><p>  在完成前面的需求分析和數(shù)據(jù)庫的建立后,現(xiàn)在要完成的是數(shù)據(jù)表操作類的設,在實際的項

54、目中數(shù)據(jù)表的操作類肯定是對數(shù)據(jù)表的增刪查改,數(shù)據(jù)表的增刪查改我們一般來說是封裝在一個類或多個類,我建立的數(shù)據(jù)庫有5個數(shù)據(jù)表,相對應的是5個數(shù)據(jù)表的操作類。主要對車輛信息操作類和合同信息的操作類。</p><p>  對汽車信息標的操作類:增加汽車信息、刪除汽車信息、修改汽車信息、顯示全部汽車信息。</p><p>  對汽車租貸合同表的操作類:增加車輛租貸合同、刪除車輛租貸合同、修改車輛租

55、貸合同、顯示全部車輛租貸合同。</p><p>  4.1.2 整個系統(tǒng)構架的實現(xiàn)</p><p>  在這個項目中我們采用的是三層架構,即WEB(界面顯示層)、BLL(業(yè)務邏輯層)、DAL(數(shù)據(jù)訪問層)。WEB是調用BLL,BLL又是調用DAL。對數(shù)據(jù)庫的訪問操作全部是放在DAL中的。顯而易見數(shù)據(jù)表操作類肯定是放在DAL中的。根據(jù)這些知識,現(xiàn)在用VS2008先建立一個網(wǎng)站取名為WEB,

56、然后在該網(wǎng)站上分辨添加DAL、BLL和Model三個類庫。</p><p>  DAL(數(shù)據(jù)訪問層)的實現(xiàn):主要包括上那個類:數(shù)據(jù)庫助手類,車輛信息操作類和合同信息操作類。數(shù)據(jù)庫助手類,也就是提供各種各樣對數(shù)據(jù)庫的訪問,包括對數(shù)據(jù)庫的增刪查改。車輛信息操作類,增加汽車信息、刪除汽車信息、修改汽車信息、顯示全部汽車信息。合同信息操作類,增加車輛租貸合同、刪除車輛租貸合同、修改車輛租貸合同、顯示全部車輛租貸合同。&l

57、t;/p><p>  BLL的實現(xiàn):主要包括汽車信息表業(yè)務類CarManager.cs、合同信息表業(yè)務類ZfManager.cs。實現(xiàn)對業(yè)務的一個綜合處理。</p><p>  WEB的實現(xiàn):主要包含三個頁面:主頁Default.aspx、汽車信息管理頁Car.aspx和合同管理頁Zf.aspx。應該也要包含母版頁,考慮到該系統(tǒng)的頁面比較少,就在這里省略了。但是在實際的具體項目中不能少。<

58、;/p><p>  4.1.3 DAL的具體實現(xiàn)</p><p>  在DAL類庫中,是我們具體實現(xiàn)的對操作表的功能的設計,在這里是我們實現(xiàn)對數(shù)據(jù)庫具體的操作類。</p><p>  首先是數(shù)據(jù)庫的連接。我采用的是DAO.NET建立數(shù)據(jù)庫連接。Windows 身份驗證方式,因為我在建立數(shù)據(jù)庫的時候是采用Windows身份驗證。具體的方法如下面的代碼:</p>

59、;<p>  public SQLHelper()</p><p><b>  {</b></p><p>  string conStr = "Data Source= (local);Initial Catalog=Carsystem;Integrated Security=true";</p><p> 

60、 conn = new SqlConnection(conStr);</p><p><b>  }</b></p><p>  建立好數(shù)據(jù)庫連接,然后是實現(xiàn)各個操作類,在這里我主要展示汽車信息表操作類和合同信息表操作類的代碼如下所示:</p><p>  汽車信息表操作類各種方法的實現(xiàn)。</p><p>  其中所要用

61、到的命名空間:</p><p>  using System;</p><p>  using System.Collections.Generic;</p><p>  using System.Linq;</p><p>  using System.Text;</p><p>  using System.Dat

62、a;</p><p><b>  初始化的方法:</b></p><p>  public class CarInfoDAO</p><p><b>  {</b></p><p>  private SQLHelper sqlhelper = null;</p><p> 

63、 public CarInfoDAO()</p><p><b>  {</b></p><p>  sqlhelper = new SQLHelper();</p><p><b>  }</b></p><p>  增加汽車信息的方法:</p><p>  public

64、bool Insert(string caName, string caNumber)</p><p><b>  {</b></p><p>  bool flag = false;</p><p>  string sql = "insert into CarInfo(carname,carnumber) values('

65、" + caName + "','" + caNumber + "')";</p><p>  int res = sqlhelper.ExecuteNonQuery(sql);</p><p>  if (res > 0)</p><p><b>  {</b>&

66、lt;/p><p>  flag = true;</p><p><b>  }</b></p><p>  return flag;</p><p><b>  }</b></p><p>  刪除汽車信息的方法:</p><p>  public bo

67、ol Cardelete(string caName)</p><p><b>  {</b></p><p>  bool flag = false;</p><p>  string sql = "delete from CarInfo where carnumber='" + caName + "&#

68、39;";</p><p>  int res = sqlhelper.ExecuteNonQuery(sql);</p><p>  if (res > 0)</p><p><b>  {</b></p><p>  flag = true;</p><p><b>

69、  }</b></p><p>  return flag;</p><p><b>  }</b></p><p><b>  修改汽車的方法:</b></p><p>  public bool Carupdata(string id, string caName, string c

70、aNumber)</p><p><b>  {</b></p><p>  bool flag = false;</p><p>  string sql = "update CarInfo set carname='" + caName + "', carnumber='" +

71、 caNumber + "' where id='" + id + "'";</p><p>  int res = sqlhelper.ExecuteNonQuery(sql);</p><p>  if (res > 0)</p><p><b>  {</b></

72、p><p>  flag = true;</p><p><b>  }</b></p><p>  return flag;</p><p><b>  }</b></p><p>  取出所有的汽車信息的方法:</p><p>  public Dat

73、aTable SelectAll()</p><p><b>  {</b></p><p>  DataTable dt = new DataTable();</p><p>  string sql = "select * from CarInfo";</p><p>  dt = sqlhelp

74、er.ExecuteQuery(sql);</p><p>  return dt;</p><p><b>  }</b></p><p>  合同信息表操作類各種方法的實現(xiàn)</p><p><b>  初始化:</b></p><p>  private SQLHelpe

75、r sqlhelper = null;</p><p>  public ZfInfoDAO()</p><p><b>  {</b></p><p>  sqlhelper = new SQLHelper();</p><p><b>  }</b></p><p>  

76、增加合同信息的方法:</p><p>  public bool Insertzf(string caTime, string caCinfo, string caPeople)</p><p><b>  {</b></p><p>  bool flag = false;</p><p>  string sql =

77、 "insert into ZfInfo(createTime,carname,peoplename) values('" + caTime + "','" + caCinfo + "','" + caPeople + "')";</p><p>  int res = sqlhelpe

78、r.ExecuteNonQuery(sql);</p><p>  if (res > 0)</p><p><b>  {</b></p><p>  flag = true;</p><p><b>  }</b></p><p>  return flag;<

79、;/p><p><b>  }</b></p><p>  刪除具體合同信息的方法:</p><p>  public bool Deletezf(string caName)</p><p><b>  {</b></p><p>  bool flag = false;<

80、;/p><p>  string sql = "delete from ZfInfo where peoplename='" + caName + "'";</p><p>  int res = sqlhelper.ExecuteNonQuery(sql);</p><p>  if (res > 0)&l

81、t;/p><p><b>  {</b></p><p>  flag = true;</p><p><b>  }</b></p><p>  return flag;</p><p><b>  }</b></p><p>  

82、修改具體合同的方法:</p><p>  public bool Updatazf(string id, string caTime, string caCinfo, string caPeople)</p><p><b>  {</b></p><p>  bool flag = false;</p><p>  s

83、tring sql = "update ZfInfo set createTime='" + caTime + "', carname='" + caCinfo + "' ,peoplename='" + caPeople + "' where id='" + id + "'"

84、;;</p><p>  int res = sqlhelper.ExecuteNonQuery(sql);</p><p>  if (res > 0)</p><p><b>  {</b></p><p>  flag = true;</p><p><b>  }</

85、b></p><p>  return flag;</p><p><b>  }</b></p><p>  顯示所有的信息合同表的方法:</p><p>  public DataTable SelectAllzf()</p><p><b>  {</b><

86、/p><p>  DataTable dt = new DataTable();</p><p>  string sql = "select * from ZfInfo";</p><p>  dt = sqlhelper.ExecuteQuery(sql);</p><p>  return dt;</p>

87、<p><b>  }</b></p><p>  4.1.4 BLL的具體實現(xiàn)</p><p>  在BLL層中,我們對DAL中的各種方法進行一個再次的查詢,下面我主要展示一下汽車信息業(yè)務類的方法。</p><p><b>  所用到的命名空間:</b></p><p>  using

88、System;</p><p>  using System.Collections.Generic;</p><p>  using System.Linq;</p><p>  using System.Text;</p><p>  using DAL;</p><p>  using System.Data;&

89、lt;/p><p>  using System.Data.SqlClient;</p><p><b>  初始化:</b></p><p>  private CarInfoDAO cdao = null;</p><p>  public CarManager()</p><p><b&g

90、t;  {</b></p><p>  cdao = new CarInfoDAO();</p><p><b>  }</b></p><p>  增加汽車信息的方法:</p><p>  public bool Insert(string caName, string caNumber)</p>

91、;<p><b>  {</b></p><p>  return cdao.Insert(caName, caNumber);</p><p><b>  }</b></p><p>  刪除指定汽車的方法:</p><p>  public bool Cardelete(strin

92、g caName)</p><p><b>  {</b></p><p>  return cdao.Cardelete(caName);</p><p><b>  }</b></p><p><b>  修改汽車的方法:</b></p><p> 

93、 public bool Carupdata(string id, string caName, string caNumber)</p><p><b>  {</b></p><p>  return cdao.Carupdata(id, caName, caNumber);</p><p><b>  }</b>&l

94、t;/p><p>  取出所有汽車信息的方法:</p><p>  public DataTable SelectAll()</p><p><b>  {</b></p><p>  return cdao.SelectAll();</p><p><b>  }</b><

95、;/p><p>  4.2 汽車租貸系統(tǒng)所有類庫及類</p><p>  系統(tǒng)所有到所有的類庫及各自的類如圖4所示:</p><p><b>  圖4 類庫及類圖</b></p><p>  4.3 主頁實現(xiàn)游客訪問、管理員登陸和會員注冊與訪問</p><p>  主頁設計基本設計:頁面基本上分

96、為Logo+Banner、可變區(qū)域、管理員登錄、版權聲明四個區(qū)域,其中Logo+Banner主要顯示公司的logo和Banner介紹,主要用Photoshop設計一個形象的圖片插入上去并調節(jié)適當?shù)拇笮?。可變區(qū)域主要是給用戶展示本公司的介紹、業(yè)務等內容,采用圖片文字等內容,使游客能一看便知。登陸區(qū)域主要是用于本公司內部員工登陸進行后臺管理和游客進行會員注冊和會員登錄,簡單明了便可。最下面的應該是本網(wǎng)站的版權聲明?;卷撁嫒鐖D5所示:<

97、;/p><p>  圖5 頁面設計基本圖</p><p>  如圖所6示是整個系統(tǒng)的主頁的整個界面,logo是整個公司的名稱,中間的可變區(qū)域是主要瀏覽公司的業(yè)務信息、汽車信息等有關真?zhèn)€公司的信息,這部分是管理員在設計中插入的文字、圖片等信息。管理員登陸如可實現(xiàn)管理員登陸到后臺管理。</p><p><b>  圖6 主頁顯示圖</b></

98、p><p>  主頁的html代碼:</p><p>  <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %></p><p>  <

99、!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"></p><p>  <html xmlns="http://www.w3.org/1999/xhtml"

100、;></p><p>  <head runat="server"></p><p>  <title>汽車租賃系統(tǒng)</title></p><p>  <style type="text/css"></p><p><b>  #top&

101、lt;/b></p><p><b>  {</b></p><p>  width: 1150px;</p><p><b>  }</b></p><p><b>  #main</b></p><p><b>  {</b&g

102、t;</p><p>  width: 1150px;</p><p><b>  }</b></p><p><b>  #dl</b></p><p><b>  {</b></p><p>  width: 1150px;</p>&

103、lt;p><b>  }</b></p><p><b>  #form1</b></p><p><b>  {</b></p><p>  width:1150px;</p><p><b>  }</b></p><p>

104、;<b>  .style1</b></p><p><b>  {</b></p><p>  font-family: 宋體, Arial, Helvetica, sans-serif;</p><p>  font-size: x-large;</p><p><b>  }<

105、/b></p><p><b>  .style2</b></p><p><b>  {</b></p><p>  background-color: #FF6600;</p><p><b>  }</b></p><p><b>

106、  .style3</b></p><p><b>  {</b></p><p>  background-color: #FF3300;</p><p><b>  }</b></p><p><b>  .style4</b></p><p

107、><b>  {</b></p><p>  text-align: left;</p><p><b>  }</b></p><p><b>  </style></b></p><p><b>  </head></b>

108、</p><p><b>  <body></b></p><p>  <form id="form1" runat="server"></p><p>  <div id="top" style="width:1150px; text-alig

109、n: center;"></p><p>  <img src="內容/logo.jpg" style="height: 110px; width: 200px" /></p><p>  <img src="內容/logo1.jpg" style="height: 110px; wid

110、th: 670px" /></p><p><b>  </div></b></p><p>  <div id="main"style="width: 1150px; text-align: center;"></p><p>  <img src=&quo

111、t;內容/內容頁.jpg" style="width: 870px; height: 273px" /></p><p><b>  </div></b></p><p>  <div id="dl"</p><p>  style="width:1150px;

112、 height: 131px; background-color: #FFFFFF;" </p><p>  class="style4"></p><p>  <b><span class="style1"><span class="style2">管理員登陸&nbsp

113、;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp

114、;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p&g

115、t;<p>  會員登錄&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&

116、amp;nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><br /></p><p>  </span></b>請輸入管理員姓名:<asp:TextBox ID="TextBox1" runat="server"></asp:Tex

117、tBox></p><p>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp

118、;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp

119、;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p><p>  請輸入會員賬號:<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox></p><p><b>  <br

120、/></b></p><p>  &nbsp;密碼:<asp:TextBox ID="TextBox2" runat="server" </p><p>  Height="22px" TextMode="Password"></asp:TextBox><

121、/p><p>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&

122、amp;nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&

123、amp;nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p><p>  請輸入密碼:<asp:Tex

124、tBox ID="TextBox4" runat="server"></asp:TextBox></p><p>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

125、&nbsp;&nbsp; <br /></p><p>  &nbsp; <asp:Button ID="Button1" runat="server" BorderColor="Black" ForeColor="#333300" </p><p>  Height=

126、"24px" onclick="Button1_Click" Text="登陸合同管理" Width="115px" /></p><p>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&am

127、p;nbsp;</p><p>  <asp:Button ID="Button2" runat="server" Text="登陸汽車管理" onclick="Button2_Click" /></p><p>  &nbsp;&nbsp;&nbsp;&nbsp;&

128、amp;nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&

129、amp;nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論