




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 大連外國語學(xué)院 .NET WinForm編程課程設(shè)計(jì) .NET WinForm編程課程設(shè)計(jì) 題目: 停車場管理系統(tǒng) 學(xué)院/系 軟件學(xué)院 專 業(yè) 信息管理與信息系統(tǒng)專業(yè)(日英強(qiáng)化) 年 級 2009級 學(xué) 號(hào) 009880924 作者姓名 劉雷 2012年 7月 5日摘 要隨著我國現(xiàn)代化進(jìn)程的不斷加快,私家車的數(shù)量急劇增加,各類停車場的車流量不斷增多,對機(jī)動(dòng)車的保管越來越成為社會(huì)倍受關(guān)注的問題。本論文針對現(xiàn)在普遍采用的人工收費(fèi)管理方法存在的弊端,提出了一套由C# 開發(fā)設(shè)計(jì)的小區(qū)停車場管理系統(tǒng),數(shù)據(jù)庫采用SqlServer 建立,使用ODBC 訪問數(shù)據(jù)庫,使用ADO 操作數(shù)據(jù)庫,采用流行的C/S
2、 結(jié)構(gòu),也就是客戶端/服務(wù)器模式。本課題研究的主要內(nèi)容根據(jù)不同的情況將車主分為兩種然后合理化停車的一個(gè)系統(tǒng)。第一種是固定車主,通過物業(yè)購買固定車位,可以選擇月付費(fèi)也可以選擇年付費(fèi)。固定車主的優(yōu)勢在于無論什么情況都擁有自己的停車位置不會(huì)被別人占用。第二種是臨時(shí)車主,采用的是一次性付費(fèi),記錄進(jìn)入時(shí)間和出去時(shí)間,然后進(jìn)行繳費(fèi)。小區(qū)停車庫進(jìn)出口分別擁有2個(gè)車道。管理員通過系統(tǒng)的查詢功能辨別車主是否是固定車主,如果是固定車主就開放1車道進(jìn)入固定車主的停車庫 如果是臨時(shí)車主就開放2車道進(jìn)入臨時(shí)車主停車庫。根據(jù)該系統(tǒng)的功能共分為七個(gè)模塊:基礎(chǔ)設(shè)置模塊、停車位管理模塊、固定車輛管理模塊、車輛進(jìn)出登記模塊、記錄
3、查詢模塊,文中對各模塊的功能、操作界面、工作流程做了詳細(xì)的介紹。關(guān)鍵詞: 管理系統(tǒng),C#,SqlServer,C/S目 錄1 緒論11.1 選題意義11.2 小區(qū)停車管理系統(tǒng)的發(fā)展現(xiàn)狀11.3 本系統(tǒng)概述12 系統(tǒng)設(shè)計(jì)32.1 系統(tǒng)技術(shù)概要32.1.1 .NET平臺(tái)概述32.1.2 WinForm程序概述32.1.3 C#語言概述32.1.4 SQL Server 2005簡介32.2 總體設(shè)計(jì)32.2.1 系統(tǒng)物理環(huán)境配置32.2.2 功能結(jié)構(gòu)設(shè)計(jì)32.3 數(shù)據(jù)庫設(shè)計(jì)43 系統(tǒng)實(shí)現(xiàn)63.1 系統(tǒng)首頁實(shí)現(xiàn)63.2 登陸模塊實(shí)現(xiàn)63.3 系統(tǒng)設(shè)置實(shí)現(xiàn)73.4管理員用戶管理73.5 流動(dòng)車位收費(fèi)設(shè)
4、置73.6停車場區(qū)域管理73.7固定車位管理73.8固定車輛信息管理73.9車輛進(jìn)出登記73.10歷史記錄查詢73.11退出系統(tǒng)73.3 答案模塊實(shí)現(xiàn)73.3 答案模塊實(shí)現(xiàn)73.3 答案模塊實(shí)現(xiàn)73.3 答案模塊實(shí)現(xiàn)73.3 答案模塊實(shí)現(xiàn)73.3 答案模塊實(shí)現(xiàn)71 緒論1.1 選題意義小區(qū)停車場管理系統(tǒng)的設(shè)計(jì)目的是要將車輛出入停車場以及對其收費(fèi)等信息通過計(jì)算機(jī)進(jìn)行管理。為收費(fèi)登記人員提供便利。在調(diào)研分析的基礎(chǔ)上,通過對現(xiàn)在工作流程的整合和改進(jìn),希望探索出一種停車收費(fèi)流程模式,從中領(lǐng)會(huì)系統(tǒng)工程的思想,掌握系統(tǒng)開發(fā)的流程和方法,不斷總結(jié)經(jīng)驗(yàn)和教訓(xùn)。隨著社會(huì)信息化的不斷發(fā)展和停車場管理工作的日益完善
5、,停車收費(fèi)登記會(huì)越來越依賴信息系統(tǒng)的支持,所以本系統(tǒng)的開發(fā)要盡量依據(jù)停車場的實(shí)際情況,認(rèn)識(shí)到調(diào)研的重要性,切實(shí)做到從實(shí)際出發(fā),開發(fā)出具有一定使用價(jià)值的小區(qū)停車場管理系統(tǒng)。開發(fā)小區(qū)停車場管理系統(tǒng)主要是為以后商業(yè)設(shè)施的信息化管理做基礎(chǔ),同時(shí)也為小區(qū)停車場管理系統(tǒng)的開發(fā)過程提供一個(gè)模式,以后通過不斷強(qiáng)化系統(tǒng)性能,優(yōu)化系統(tǒng)功能,提高停車場現(xiàn)代化管理水平。小區(qū)停車場管理系統(tǒng)的實(shí)施具有如下現(xiàn)實(shí)意義:第一,使車輛出入的登記收費(fèi)操作過程更加簡便。第二,系統(tǒng)形成列表對入庫車輛進(jìn)行統(tǒng)計(jì),方便查詢。第三,數(shù)據(jù)安全性高,不易丟失。1.2 小區(qū)停車管理的發(fā)展現(xiàn)狀 隨著計(jì)算機(jī)產(chǎn)業(yè)的迅速發(fā)展,電子計(jì)算機(jī)已廣泛的應(yīng)用于信息管
6、理、文字處理、輔助設(shè)計(jì)、輔助教學(xué)及人們的日常生活中。特別是在計(jì)算機(jī)的操作系統(tǒng)具有了圖形化的界面后,使用計(jì)算機(jī)已經(jīng)不再是某些專業(yè)人員的專利,各行各業(yè)的人們不需要經(jīng)過專業(yè)化的訓(xùn)練就能自如的在計(jì)算機(jī)上進(jìn)行各種復(fù)雜的操作。時(shí)下,為了能創(chuàng)造更大的經(jīng)濟(jì)效益和方便管理,越來越多的管理設(shè)施迫切需要引入現(xiàn)代化的管理手段,而計(jì)算機(jī)的大容量操作,精確的計(jì)算,使它成為設(shè)施管理不可缺少的手段之一,但隨著計(jì)算機(jī)應(yīng)用的不斷深入,設(shè)施對軟件的需求也不斷增加,越來越多的設(shè)施希望擁有適合自己需要的特殊軟件來滿足自己的特殊要求。對于當(dāng)今停車場題來說,其車輛進(jìn)出量大,各種信息管理內(nèi)容復(fù)雜,查詢和管理出入車輛信息和車輛設(shè)計(jì)信息等工作由
7、人工完成將是很累的,也許還很不切實(shí)際,不僅浪費(fèi)了許多人力物力資源,而且還很容易出現(xiàn)差錯(cuò),有一個(gè)符合要求的軟件對其進(jìn)行智能便了,對所有信息有了一個(gè)全局的掌握。對于一名專業(yè)的信息技術(shù)人員來說,如何最大限度地利用車輛管理部門多年來在數(shù)據(jù)庫系統(tǒng)上的投資,是每一個(gè)從事信息技術(shù)工作的專業(yè)人員都應(yīng)該考慮的問題?,F(xiàn)在全國的很多大型停車場的車輛出入登記都采用了計(jì)算機(jī)管理,這樣就需要一種管理軟件來為車輛者服務(wù),協(xié)助他們來完成管理數(shù)量巨大的車輛出入登記收費(fèi)這么一個(gè)龐大的工作。1.3 本系統(tǒng)概述小區(qū)停車管理系統(tǒng),即實(shí)現(xiàn)小區(qū)停車的信息化登記查詢系統(tǒng),是適應(yīng)我國現(xiàn)代化進(jìn)程加快,私家車數(shù)量急劇增加,停車管理難的現(xiàn)狀而發(fā)展的
8、信息化管理系統(tǒng)。其核心思想是使停車收費(fèi)管理實(shí)現(xiàn)科學(xué)化、規(guī)范化,增強(qiáng)工作人員對選課流程的管理能力,從而提高工作效率,并將帶動(dòng)停車場的其他信息化建設(shè),推動(dòng)停車場的信息化水平更上一層樓。本文首先介紹了小區(qū)停車系統(tǒng)發(fā)展的現(xiàn)狀,然后提出一個(gè)基于小區(qū)停車管理系統(tǒng)的數(shù)字信息化領(lǐng)域的架構(gòu),并對相關(guān)關(guān)鍵技術(shù)進(jìn)行了討論,最后說明了小區(qū)停車管理系統(tǒng)在數(shù)字信息化領(lǐng)域的應(yīng)用前景。本課題使用Visual Studio 2008作為開發(fā)工具,開發(fā)語言可以是C#,后臺(tái)數(shù)據(jù)庫可采用SQL Server 2005數(shù)據(jù)庫。小區(qū)停車管理系統(tǒng)主要由系統(tǒng)設(shè)置,停車位管理,固定車輛管理,車輛進(jìn)出登記,歷史記錄查詢五個(gè)部分組成。本課題主要功
9、能詳解如下:系統(tǒng)設(shè)置:主要功能包括密碼的修改,管理員用戶的添加與修改,收費(fèi)標(biāo)準(zhǔn)的設(shè)置等。停車位管理:主要功能實(shí)現(xiàn)車輛區(qū)域管理與固定車位管理,包括添加停車位區(qū)域,停車位區(qū)域管理,添加固定車位,固定車位的管理等。固定車輛管理:對小區(qū)車輛信息進(jìn)行登記并實(shí)現(xiàn)小區(qū)固定車輛的管理 。車輛進(jìn)出登記:主要通過車輛類型,車主姓名,記錄編號(hào),車牌號(hào)碼,聯(lián)系方式,樓棟門牌等信息對停放車輛進(jìn)行管理。歷史記錄查詢:實(shí)現(xiàn)對以往登記過的車輛信息進(jìn)行檢索。 22 智能QA設(shè)計(jì)2.1 系統(tǒng)技術(shù)概要2.1.1 .NET平臺(tái)概述2.1.2 WinForm程序概述2.1.3 C#語言概述2.1.4 SQL Server 2005簡介
10、SQL Server 是一個(gè)關(guān)系數(shù)據(jù)庫管理系統(tǒng)。它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同開發(fā)的,于1988 年推出了第一個(gè)OS/2 版本。在Windows NT 推出后,Microsoft與Sybase 在SQL Server 的開發(fā)上就分道揚(yáng)鑣了,Microsoft 將SQL Server 移植到Windows NT系統(tǒng)上,專注于開發(fā)推廣SQL Server 的Windows NT 版本。Sybase 則較專注于SQL Server在UNIX 操作系統(tǒng)上的應(yīng)SQL Server安裝界面用。SQL Server 2005 數(shù)據(jù)庫引擎提供完整的XML 支持
11、。它還具有構(gòu)成最大的Web 站點(diǎn)的數(shù)據(jù)存儲(chǔ)組件所需的可伸縮性、可用性和安全功能。SQL Server 2005 程序設(shè)計(jì)模型與 Windows DNA 構(gòu)架集成,用以開發(fā) Web 應(yīng)用程序,并且SQL Server 2005 支持 English Query 和 Microsoft 搜索服務(wù)等功能,在Web 應(yīng)用程序中包含了用戶友好的查詢和強(qiáng)大的搜索功能。同一個(gè)數(shù)據(jù)庫引擎可以在不同的平臺(tái)上使用,從運(yùn)行 Microsoft Windows® 98 的便攜式電腦,到運(yùn)行 Microsoft Windows 2005 數(shù)據(jù)中心版的大型多處理器服務(wù)器。SQL Server 2005 企
12、業(yè)版支持聯(lián)合服務(wù)器、索引視圖和大型內(nèi)存支持等功能,使其得以升級到最大 Web 站點(diǎn)所需的性能級別。2.2 總體設(shè)計(jì)2.2.1 系統(tǒng)物理環(huán)境配置當(dāng)前開發(fā)本系統(tǒng)硬件平臺(tái)的配置:1CPU:T6600 2.20GHz。2內(nèi)存:2.00 GB(三星 PC3-8500F DDR3 SDRAM 1066MHz)。3硬盤:320GB。4基本的輸入、輸出設(shè)備。系統(tǒng)軟件平臺(tái)的配置:如果說硬件是一個(gè)系統(tǒng)的身體,那么軟件則是一個(gè)系統(tǒng)的靈魂,一個(gè)系統(tǒng)設(shè)計(jì)的好壞,不僅要有正確的軟件開發(fā)思想,也應(yīng)該有良好的軟件開發(fā)工具,投資規(guī)劃與保險(xiǎn)模塊所采用的軟件配置環(huán)境為:1操作系統(tǒng):Windows 7旗艦版Service Pack1
13、。2數(shù)據(jù)庫軟件:Microsoft SQL Server 2005。3系統(tǒng)開發(fā)軟件:Visual Studio 2008。2.2.2 功能結(jié)構(gòu)設(shè)計(jì)系統(tǒng)功能結(jié)構(gòu)圖如圖2-1所示。圖2-1 系統(tǒng)功能結(jié)構(gòu)圖本系統(tǒng)總體上由兩個(gè)模塊組成:管理員模塊和普通用戶模塊。下面就圖2-1,給予分別描述。1管理員模塊組成:(1) 管理員管理子模塊(2) 收費(fèi)標(biāo)準(zhǔn)設(shè)置管理子模塊(3) 停車位區(qū)域與固定車輛管理子模塊(添加,刪除與檢索)(4) 車輛進(jìn)出登記(5) 歷史記錄查詢2普通用戶模塊組成:(1) 用戶登錄管理子模塊(2) 固定車輛管理子模塊(3) 車輛進(jìn)出登記管理(4) 歷史記錄查詢2.2.3 數(shù)據(jù)庫設(shè)計(jì)管理員信
14、息表如表2-1所示。表2-1 管理員信息表字段名說 明類 型長 度可否為空主鍵ID用戶編號(hào)varchar4否是 ADName用戶名稱varchar20否否 ADpass用戶密碼varchar20是否停車場區(qū)域劃分表如表2-2所示。表2-2 停車場區(qū)域劃分表字段名說 明類 型長 度可否為空主鍵ID自動(dòng)編號(hào)int4否是 Pname區(qū)域名稱varchar20否否 Ptype停車位類型int2000否否 Pnum包含車位數(shù)int8否否流動(dòng)停車位價(jià)格表2-3所示。表2-3流動(dòng)停車位價(jià)格表字段名說 明類 型長 度可否為空主鍵ID自動(dòng)編號(hào)int4否是 Price價(jià)格 float否否固定停車位詳細(xì)表如表2-4
15、所示。表2-4 固定停車位詳細(xì)信息表字段名說 明類 型長 度可否為空主鍵ID自動(dòng)編號(hào)int 4否是 PID所屬停車位區(qū)域int50否否 Cno車位編號(hào)varchar20否否 Price售價(jià) float 50否否 State是否賣出int小區(qū)車輛登記表如表2-5所示。表2-5小區(qū)車輛登記表字段名說 明類 型長 度可否為空主鍵CarNo賬單編號(hào)varchar 20否是UName車主姓名varchar50否否UTel聯(lián)系方式varchar20否否UAddress樓棟門牌varchar 100否否CPID是否購買固定位int4否否車輛進(jìn)出停車表如表2-6所示。表2-6車輛進(jìn)出停車表字段名說 明類 型長
16、 度可否為空主鍵ID自動(dòng)編號(hào)int 4否是OrderNo系統(tǒng)編號(hào)varchar20否否UID是否登記車輛int20否否CTyp固定或流動(dòng)車位int 20否否CarNo賬單編號(hào)varchar20否否UName車主姓名varchar20否否Utel聯(lián)系方式varchar20否否UAddress樓棟門牌varchar100否否Price流動(dòng)車位費(fèi)用float20否否BegTime開始停車時(shí)間datetime20否否EndTime離開時(shí)間datetime20否否AllPrice流動(dòng)車位總費(fèi)用float20否否3 系統(tǒng)實(shí)現(xiàn)3.1 系統(tǒng)首頁實(shí)現(xiàn)用戶成功登錄后,進(jìn)入主界面窗口,在此窗口用戶可以進(jìn)入系統(tǒng)其他模
17、塊:系統(tǒng)設(shè)置、停車位管理、固定車輛管理、車輛進(jìn)出登記、歷史記錄查詢、退出系統(tǒng)等;用戶還可以快速瀏覽到小區(qū)當(dāng)前停車位使用情況,快捷方便,確保工作信息準(zhǔn)確無誤;用戶還可以針對車輛進(jìn)出進(jìn)行登記,提高工作效率。首頁界面如圖3-1所示。圖3-1 首頁界面3.2 登陸模塊實(shí)現(xiàn)運(yùn)行系統(tǒng),打開登錄界面,用戶輸入用戶名和登錄密碼,點(diǎn)擊“確定”按鈕,通過SQL語句系統(tǒng)將自動(dòng)將用戶輸入信息與數(shù)據(jù)庫信息匹配, 數(shù)據(jù)庫中存在相應(yīng)的信息,用戶將可以成功登錄系統(tǒng),反之用戶登錄失敗,系統(tǒng)將提示用戶重新登錄。登陸界面如圖3-2所示。圖3-2 登陸界面3.3系統(tǒng)設(shè)置實(shí)現(xiàn)在進(jìn)行密碼修改功能時(shí),系統(tǒng)需要用戶輸入舊密碼(ADPass
18、控件)、新密碼(ADPass1控件)、確認(rèn)密碼(ADPass2控件), 點(diǎn)擊“修改”按鈕,系統(tǒng)執(zhí)行 button1_Click修改事件,首先驗(yàn)證用戶是否完整輸入,以及輸入的新密碼和確認(rèn)密碼是否一致。如下所示:if (ADPass.Text.Trim().Equals("")ADPass.Focus();MessageBox.Show("請輸入舊密碼.");return;if (ADPass1.Text.Trim().Equals("")ADPass1.Focus();MessageBox.Show("請輸入新密碼."
19、;);return;elseif (!ADPass2.Text.Trim().Equals(ADPass1.Text.Trim()ADPass2.Focus();MessageBox.Show("請輸入兩次輸入密碼不一致.");return;如果用戶沒有完整輸入,系統(tǒng)暫停,返回重新輸入。如果用戶完整輸入,系統(tǒng)繼續(xù)往下運(yùn)行,系統(tǒng)將繼續(xù)驗(yàn)證用戶輸入的 舊密碼是否正確,密碼正確,系統(tǒng)繼續(xù)運(yùn)行,密碼錯(cuò)誤系統(tǒng)暫停,返回重新輸入,如下代碼所示:DataTable dt = SqlHelper.ExecQuerySql("select ID,ADName,ADPass,ADNo
20、,ADFlag from AdminInfo where id=" + lab_uid.Text.Trim() + " and ADPass=N'" + ADPass.Text.Trim() + "'");if (dt.Rows.Count > 0)int i = SqlHelper.ExecUpdateSql("update AdminInfo set ADPass=N" + ADPass.Text.Trim() + "'' where id=" + lab_uid
21、.Text.Trim() + "");if (i > 0)MessageBox.Show("密碼修改成功.");elseMessageBox.Show("密碼修改失敗.");ADPass.Focus();return;系統(tǒng)通過創(chuàng)建 SQL語句,調(diào)用 SqlHelper 類的ExecQuerySql 方法,向數(shù)據(jù)庫中匹配修改數(shù)據(jù),返回執(zhí)行影響的記錄數(shù)目,如果等于 0,表示修改失敗,沒有影響數(shù)據(jù)庫記錄數(shù),如果大于0,表示修改成功。系統(tǒng)設(shè)置界面如圖3-3所示。圖3-3 系統(tǒng)設(shè)置界面 3.4 管理員用戶管理 圖 3-4 管理員用戶管理此
22、功能模塊只有系統(tǒng)“總管理員”權(quán)限才能進(jìn)入,“普通”管理員權(quán)限不能進(jìn)入。在此模塊“總管理員”可以添加、修改、刪除、查詢所有系統(tǒng)管理員的信息,雙擊記錄列表,進(jìn)入記錄修改頁面。如下代碼:/綁定數(shù)據(jù)private void BindList()DataTable dt = SqlHelper.ExecQuerySql("select '' as iid,ID,ADName as 用戶名,case isnull(ADFlag,0) when 1 then N'總管理員' else N'普通管理員' end as 管理員權(quán)限 from AdminI
23、nfo order by ADFlag desc,ADName");for (int i = 0; i < dt.Rows.Count; i+)dt.Rowsi0 = (i + 1).ToString();gv_1.ReadOnly = true;gv_1.DataSource = dt;gv_1.Columns1.Visible = false;private void button1_Click(object sender, EventArgs e)DataTable dt = SqlHelper.ExecQuerySql("select '' a
24、s iid,ID,ADName as 用戶名,case isnull(ADFlag,0) when 1 then N'總管理員' else N'普通管理員' end as 管理員權(quán)限 from AdminInfo where 1=1 and (ADName like N'%" + ObjName.Text.Trim() + "%') order by ADFlag desc,ADName");for (int i = 0; i < dt.Rows.Count; i+)dt.Rowsi0 = (i + 1).To
25、String();gv_1.ReadOnly = true;gv_1.DataSource = dt;gv_1.Columns1.Visible = false; 圖 3-5 管理員詳細(xì)信息在此窗口,可以實(shí)現(xiàn)管理員信息添加、信息修改、信息刪除以及詳細(xì)信息查看。添加代碼如下:首先判斷添加的用戶名是否存在,用戶名存在,不能繼續(xù)添加, if (SqlHelper.ExecQuerySql("select id from AdminInfo where ADName=N'" + ADName.Text.Trim() + "'").Rows.Cou
26、nt > 0)MessageBox.Show("輸入用戶名已存在,不能重復(fù)添加.");ADName.Focus();return;/添加int i = SqlHelper.ExecUpdateSql(string.Format("insert into AdminInfo(ADName,ADPass,ADNo,ADFlag) values(N'0',N'1',N'2',3)", ADName.Text.Trim(), ADPass.Text.Trim(), "", adflag);
27、if (i > 0) /添加成功MessageBox.Show("信息添加成功.");this.Hide();elseMessageBox.Show("信息添加失敗.");ADName.Focus();return;修改代碼如下:首先判斷修改的用戶名是否存在,用戶名存在,不能繼續(xù)添加,if (SqlHelper.ExecQuerySql("select id from AdminInfo where ADName=N'" + ADName.Text.Trim() + "' and id<>&
28、quot; + lab_id.Text.Trim().Rows.Count > 0)MessageBox.Show("輸入用戶名已存在,不能修改.");ADName.Focus();return;/添加int i = SqlHelper.ExecUpdateSql(string.Format("update AdminInfo set ADName=N'0',ADPass=N'1',ADNo=N'2',ADFlag=3 where id=4", ADName.Text.Trim(), ADPass.T
29、ext.Trim(), "", adflag, lab_id.Text.Trim();if (i > 0) /修改成功MessageBox.Show("信息修改成功.");this.Hide();elseMessageBox.Show("信息修改失敗.");ADName.Focus();return;刪除代碼如下:int i = SqlHelper.ExecUpdateSql("delete AdminInfo where id=" + lab_id.Text.Trim();if (i > 0) /刪除
30、成功MessageBox.Show("信息刪除成功.");this.Hide();elseMessageBox.Show("信息刪除失敗.");ADName.Focus();return;3.5流動(dòng)車位收費(fèi)設(shè)置 圖 3-6 流動(dòng)車輛收費(fèi)標(biāo)準(zhǔn)管理此功能模塊只有系統(tǒng)“總管理員”權(quán)限才能進(jìn)入,“普通”管理員權(quán)限不能進(jìn)入。在此模塊“總管理員”可以設(shè)置系統(tǒng)中流動(dòng)車位的費(fèi)用,供系統(tǒng)收費(fèi)使用。 首先判斷是否完整輸入,只有完整輸入才能進(jìn)行下一步,否則系統(tǒng)返回,提示輸入,代碼如下:if (Price.Text.Trim() = "")MessageBo
31、x.Show("請輸入收費(fèi)價(jià)格.");Price.Focus();return; 其次判斷本次輸入是修改還是添加數(shù)據(jù),即數(shù)據(jù)庫中是否已經(jīng)存在價(jià)格信息。添加:通過 Insert into 語句直接向數(shù)據(jù)庫中添加一條價(jià)格記錄信息,修改:則是在現(xiàn)有數(shù)據(jù)記錄基礎(chǔ)上,直接通過Update語句修改記錄。 代碼如下:if (lab_id.Text != "0")/添加int i = SqlHelper.ExecUpdateSql(string.Format("update PriceInfo set Price=N'0' where id=1
32、", Price.Text.Trim(), lab_id.Text.Trim();if (i > 0) /修改成功MessageBox.Show("收費(fèi)價(jià)格修改成功.");this.Hide();elseMessageBox.Show("收費(fèi)價(jià)格修改失敗.");Price.Focus();return;else/添加int i = SqlHelper.ExecUpdateSql(string.Format("insert into PriceInfo(Price) values(0)", Price.Text.Trim
33、();if (i > 0) /添加成功MessageBox.Show("收費(fèi)價(jià)格添加成功.");this.Hide();elseMessageBox.Show("收費(fèi)價(jià)格添加失敗.");Price.Focus();return;3.6 停車場區(qū)域管理 圖3-7停車區(qū)域管理小區(qū)的停車車場可以劃分為多個(gè)區(qū)域,合適安排使用,有的區(qū)域?qū)iT停放固定車位,有的區(qū)域?qū)iT停放流動(dòng)車輛,每個(gè)區(qū)域停放固定數(shù)量的車輛,這樣即方便管理員的操作,也確保信息統(tǒng)計(jì)準(zhǔn)確。代碼如下:/綁定數(shù)據(jù)private void BindList()DataTable dt = SqlHelp
34、er.ExecQuerySql("select '' as iid,ID,PName as 區(qū)域名稱,PNum as 車位個(gè)數(shù),case isnull(PType,0) when 1 then N'固定車位' else N'流動(dòng)車位' end as 車位類型 from PlaceInfo order by PName");for (int i = 0; i < dt.Rows.Count; i+)dt.Rowsi0 = (i + 1).ToString();gv_1.ReadOnly = true;gv_1.DataSo
35、urce = dt;gv_1.Columns1.Visible = false;private void button1_Click(object sender, EventArgs e)DataTable dt = SqlHelper.ExecQuerySql("select '' as iid,ID,PName as 區(qū)域名稱,PNum as 車位個(gè)數(shù),case isnull(PType,0) when 1 then N'固定車位' else N'流動(dòng)車位' end as 車位類型 from PlaceInfo where 1=1
36、and (PName like N'%" + ObjName.Text.Trim() + "%') order by PName");for (int i = 0; i < dt.Rows.Count; i+)dt.Rowsi0 = (i + 1).ToString();gv_1.ReadOnly = true;gv_1.DataSource = dt;gv_1.Columns1.Visible = false;private void gv_1_CellDoubleClick(object sender, DataGridViewCellE
37、ventArgs e)if (e.RowIndex < (gv_1.Rows.Count - 1)/雙擊數(shù)據(jù)時(shí),取得數(shù)據(jù)id ,并顯示修改頁面string id = gv_1.Rowse.RowIndex.Cells1.Value.ToString();PlaceInfoAdd cadd = new PlaceInfoAdd(id);this.Close();cadd.Show();3.7固定停車位管理 圖 3-8 固定停車位管理小區(qū)的固定車位是指一些業(yè)主可以通過購買的方式長期使用自己的車位,固定車位明碼標(biāo)價(jià),業(yè)主可以根據(jù)自己情況選擇,無需害怕回來的晚或者小區(qū)停放車輛過多而導(dǎo)致沒有地方停
38、車。代碼如下:public CarParkMgr(string uid)InitializeComponent();BindList(); /加載頁面/綁定數(shù)據(jù)private void BindList()DataTable dt = SqlHelper.ExecQuerySql("select '' as iid,a.ID,b.PName as 停車區(qū)域,a.CNo as 車位編號(hào),Price as '銷售價(jià)格(元)',case isnull(a.state,0) when 1 then N'已賣出' else N'空閑
39、9; end as 使用情況 from CarParkInfo a left join PlaceInfo b on a.PID=b.id where 1=1 order by PID,CNo");for (int i = 0; i < dt.Rows.Count; i+)dt.Rowsi0 = (i + 1).ToString();gv_1.ReadOnly = true;gv_1.DataSource = dt;gv_1.Columns1.Visible = false;private void button1_Click(object sender, EventArgs
40、e)DataTable dt = SqlHelper.ExecQuerySql("select '' as iid,a.ID,b.PName as 停車區(qū)域,a.CNo as 車位編號(hào),Price as '銷售價(jià)格(元)',case isnull(a.state,0) when 1 then N'已賣出' else N'空閑' end as 使用情況 from CarParkInfo a left join PlaceInfo b on a.PID=b.id where 1=1 and (a.CNo like N'
41、;%" + ObjName.Text.Trim() + "%' or b.PName like N'%" + ObjName.Text.Trim() + "%') order by a.PID,a.CNo");for (int i = 0; i < dt.Rows.Count; i+)dt.Rowsi0 = (i + 1).ToString();gv_1.ReadOnly = true;gv_1.DataSource = dt;gv_1.Columns1.Visible = false;/gv_1.Columns2
42、.Visible = false;private void gv_1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)if (e.RowIndex < (gv_1.Rows.Count - 1)/雙擊數(shù)據(jù)時(shí),取得數(shù)據(jù)id ,并顯示修改頁面string id = gv_1.Rowse.RowIndex.Cells1.Value.ToString();CarParkAdd cadd = new CarParkAdd(id);this.Close();cadd.Show();3.8固定車輛信息管理 圖 3-9 固定車輛信息管
43、理固定車輛是指小區(qū)業(yè)主將自己的車輛登記,系統(tǒng)中保存業(yè)主及其車輛信息,方便統(tǒng)計(jì)管理。業(yè)主可以選擇使用流動(dòng)車位,或者購買自己的固定車位,2種方式為業(yè)主提供方便。代碼如下:public CarInfoMgr(string uid)InitializeComponent();BindList(); /加載頁面/綁定數(shù)據(jù)private void BindList()DataTable dt = SqlHelper.ExecQuerySql("select '' as iid,a.ID,a.CarNO as 車輛編號(hào),a.UName as 車主,a.UTel as 聯(lián)系方式,a.
44、UAddress as 樓棟門牌,case isnull(a.CPID,0) when 0 then N'流動(dòng)車位' else N'固定車位' end as 使用車位,c.PName+'-'+b.CNo+'(' + convert(nvarchar,b.Price) + '元)' as 車位信息,a.UPriceInfo as 備注 from CarInfo a left join CarParkInfo b on a.CPID=b.ID left join PlaceInfo c on b.PID=c.ID wh
45、ere 1=1 order by CarNO");for (int i = 0; i < dt.Rows.Count; i+)dt.Rowsi0 = (i + 1).ToString();gv_1.ReadOnly = true;gv_1.DataSource = dt;gv_1.Columns1.Visible = false;private void button1_Click(object sender, EventArgs e)DataTable dt = SqlHelper.ExecQuerySql("select '' as iid,a.I
46、D,a.CarNO as 車輛編號(hào),a.UName as 車主,a.UTel as 聯(lián)系方式,a.UAddress as 樓棟門牌,case isnull(a.CPID,0) when 0 then N'流動(dòng)車位' else N'固定車位' end as 使用車位,c.PName+'-'+b.CNo+'(' + convert(nvarchar,b.Price) + '元)' as 車位信息,a.UPriceInfo as 備注 from CarInfo a left join CarParkInfo b on a
47、.CPID=b.ID left join PlaceInfo c on b.PID=c.ID where 1=1 and (a.CNo like N'%" + ObjName.Text.Trim() + "%' or b.PName like N'%" + ObjName.Text.Trim() + "%') order by a.PID,a.CNo");for (int i = 0; i < dt.Rows.Count; i+)dt.Rowsi0 = (i + 1).ToString();gv_1.Rea
48、dOnly = true;gv_1.DataSource = dt;gv_1.Columns1.Visible = false;private void gv_1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)if (e.RowIndex < (gv_1.Rows.Count - 1)/雙擊數(shù)據(jù)時(shí),取得數(shù)據(jù)id ,并顯示修改頁面string id = gv_1.Rowse.RowIndex.Cells1.Value.ToString();CarInfoAdd cadd = new CarInfoAdd(id);thi
49、s.Close();cadd.Show(); 圖 3-10固定車輛信息管理員在此窗口可以添加、修改、刪除業(yè)主登記車輛信息。添加代碼:判斷是修改還是添加,當(dāng)管理員添加固定車輛信息時(shí),系統(tǒng)首先驗(yàn)證信息是否完整輸入,完整輸入進(jìn)入下一步,驗(yàn)證輸入的車牌號(hào)碼是否已存在信息,存在通過彈出窗口提示用戶信息已存在,不能重復(fù)輸入,不存在將信息保存數(shù)據(jù)庫。if (lab_id.Text != "0")/修改 ,判斷用戶名是否存在if (SqlHelper.ExecQuerySql("select id from CarInfo where CarNO=N'" + C
50、arNO.Text.Trim() + "' and id<>" + lab_id.Text.Trim().Rows.Count > 0)MessageBox.Show("輸入車牌號(hào)碼已存在,不能修改.");CarNO.Focus();return;/添加int i = SqlHelper.ExecUpdateSql(string.Format("update CarInfo set CarNO=N'0',UName=N'1',UTel=N'2',UAddress=N
51、9;3',CPID=4,UPriceInfo=N'5' where id=6", CarNO.Text.Trim(), UName.Text.Trim(), UTel.Text.Trim(), UAddress.Text.Trim(), adflag, UPriceInfo.Text.Trim(), lab_id.Text.Trim();if (i > 0) /修改成功if (adflag != "0" && lab_oldid.Text != adflag)/記錄固定車位銷售情況SqlHelper.ExecUpdat
52、eSql("update CarParkInfo set state=1 where id=" + adflag);SqlHelper.ExecUpdateSql("update CarParkInfo set state=0 where id=" + lab_oldid.Text);MessageBox.Show("信息修改成功.");this.Hide();elseMessageBox.Show("信息修改失敗.");CarNO.Focus();return;else/判斷添加用戶名是否存在if (SqlHel
53、per.ExecQuerySql("select id from CarInfo where CarNO=N'" + CarNO.Text.Trim() + "'").Rows.Count > 0)MessageBox.Show("輸入?yún)^(qū)域名已存在,不能重復(fù)添加.");CarNO.Focus();return; int i = SqlHelper.ExecUpdateSql(string.Format("insert into CarInfo(CarNO,UName,UTel,UAddress,CPID
54、,UPriceInfo,addtime) values(N'0',N'1',N'2',N'3',4,N'5',getdate()", CarNO.Text.Trim(), UName.Text.Trim(), UTel.Text.Trim(), UAddress.Text.Trim(), adflag, UPriceInfo.Text.Trim();if (i > 0) /添加成功/記錄固定車位銷售情況if (adflag != "0" )SqlHelper.ExecUpdate
55、Sql("update CarParkInfo set state=1 where id=" + adflag);MessageBox.Show("信息添加成功.");this.Hide();elseMessageBox.Show("信息添加失敗.");CarNO.Focus();return;39車輛進(jìn)、出登記圖 3-11 車輛外出登記在系統(tǒng)主頁面中 輸入車牌號(hào)碼,選擇 “外出登記”或者“進(jìn)入登記”按鈕,系統(tǒng)將自動(dòng)進(jìn)入車輛登記界面,如圖 5-11 即為車輛外出登記,系統(tǒng)根據(jù)輸入的 車牌號(hào)碼自動(dòng)列表車輛在系統(tǒng)中的信息,以及車輛停放時(shí)錄
56、入的信息,以及進(jìn)入小區(qū)時(shí)間,如果車輛是使用的流動(dòng)車位,點(diǎn)擊“計(jì)算費(fèi)用”按鈕,系統(tǒng)將自動(dòng)計(jì)算車輛的停車費(fèi)用。如果是固定車位車輛,則只登記信息,無需收取費(fèi)用。代碼如下:private void BindPage(string carno)EndTime.Text = DateTime.Now.ToString();DataTable dtmn = SqlHelper.ExecQuerySql("select a.ID,a.OrderNo,a.UID,a.Ctyp,a.CarNO,a.UName,a.Utel,a.UAddress,a.price,a.BegTime,a.EndTime,a.AllPrice,c.PName+'-'+b.CNo+'(' + convert(nvarchar,b.Price) + '元)' as carparkinfo from OrderList a left join CarParkInfo b on a.CTyp=b.ID left join PlaceInfo c on b.PID=c.ID where a.CarNO=N'" + carno + "' and a.AllPrice=0");if (dtmn.Rows.Count >
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030中國男士針織服裝行業(yè)發(fā)展研究與產(chǎn)業(yè)戰(zhàn)略規(guī)劃分析評估報(bào)告
- 2025至2030中國甲型流感病毒H3N2亞型感染藥物行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢及投資規(guī)劃深度研究報(bào)告
- 2025至2030中國珠寶租賃行業(yè)市場深度研究及發(fā)展前景投資可行性分析報(bào)告
- 心理健康在班級管理中的重要性探討
- 政策效果評估中的數(shù)據(jù)挖掘與處理技術(shù)
- 智慧教室在特殊教育中的應(yīng)用探索
- 智慧城市燈光秀創(chuàng)新與技術(shù)的結(jié)合
- 設(shè)備維修知識(shí)培訓(xùn)
- 教育與技術(shù)的深度結(jié)合下的激勵(lì)與薪資新思考
- 新興技術(shù)在企業(yè)培訓(xùn)中的運(yùn)用及效果評估報(bào)告
- 幼兒園玩教具明細(xì)表
- 旅游接待業(yè) 習(xí)題及答案匯總 重大 第1-10章 題庫
- 隋唐人的日常生活
- 你比劃我猜搞笑題目500題
- 2022年江蘇省公安廳招聘警務(wù)輔助人員和雇員筆試試題及答案
- 畢業(yè)50周年同學(xué)聚會(huì)邀請函匯編4篇
- 寧夏西吉縣公開招考10名城市社區(qū)工作者高頻考點(diǎn)題庫模擬預(yù)測試卷(共1000練習(xí)題含答案解析)
- 亞科科技(安慶)有限公司高端生物緩沖劑及配套項(xiàng)目(一期)環(huán)境影響報(bào)告書
- 土地評估報(bào)告書范文(通用6篇)
- 2023-2024學(xué)年江蘇省常州市初中語文八年級下冊期末通關(guān)考試題
- 通快激光發(fā)生器trucontrol操作手冊
評論
0/150
提交評論