車站售票管理系統(tǒng)大數(shù)據(jù)庫課設(shè)_第1頁
車站售票管理系統(tǒng)大數(shù)據(jù)庫課設(shè)_第2頁
車站售票管理系統(tǒng)大數(shù)據(jù)庫課設(shè)_第3頁
車站售票管理系統(tǒng)大數(shù)據(jù)庫課設(shè)_第4頁
車站售票管理系統(tǒng)大數(shù)據(jù)庫課設(shè)_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、車站售票管理系統(tǒng)大數(shù)據(jù)庫課設(shè)車站售票管理系統(tǒng)大數(shù)據(jù)庫課設(shè)52/52車站售票管理系統(tǒng)大數(shù)據(jù)庫課設(shè)適用文檔中文大綱本文針對車站的售票實(shí)質(zhì)狀況,依照軟件工程的結(jié)構(gòu)化設(shè)計思想,經(jīng)過項目的需求分析、大綱設(shè)計、詳細(xì)設(shè)計,以及編碼實(shí)現(xiàn)和調(diào)試等步驟設(shè)計開發(fā)了車站售票系統(tǒng)。并運(yùn)用E-R圖和數(shù)據(jù)庫邏輯結(jié)構(gòu)、系統(tǒng)流程圖、以及程序流程圖,對該系統(tǒng)的數(shù)據(jù)需求、數(shù)據(jù)庫、系統(tǒng)軟件結(jié)構(gòu)、系統(tǒng)流程、以及辦理過程等進(jìn)行認(rèn)識析和設(shè)計。工具軟件利用VS2012開發(fā)工具和SQLServer2012數(shù)據(jù)庫來開發(fā)這個車站售票管理系統(tǒng)。該系統(tǒng)要解決的是車站售票工作所要解決的問題,可以滿足車站售票的基本要求,包含票務(wù)管理、盤問、報表打印、車次

2、管理、賬戶管理、更正密碼等六個方面的功能。該系統(tǒng)能運(yùn)用到車站售票的工作中,依據(jù)用戶的需求,設(shè)置其權(quán)限,并快捷方便的為用戶供給服務(wù)。文案大全適用文檔目錄1前言12大綱設(shè)計22.1.系統(tǒng)需求分析22.2.系統(tǒng)結(jié)構(gòu)設(shè)計42.3.功能模塊設(shè)計43詳細(xì)設(shè)計83.1系統(tǒng)數(shù)據(jù)庫設(shè)計8看法結(jié)構(gòu)設(shè)計8邏輯結(jié)構(gòu)設(shè)計83.2系統(tǒng)主要功能模塊設(shè)計123.3各模塊的主要算法對應(yīng)的原代碼154調(diào)試與運(yùn)轉(zhuǎn)結(jié)果及存在的主要問題365課程設(shè)計小結(jié)606參照文件61文案大全適用文檔前言課程設(shè)計的目的:依照關(guān)系型數(shù)據(jù)庫的基根源理,綜合運(yùn)用所學(xué)的基本知識,以小組為單位,設(shè)計開發(fā)一個小型的管理信息系統(tǒng)。經(jīng)過對一個實(shí)質(zhì)問題的分析、設(shè)計與

3、實(shí)現(xiàn),將原理與應(yīng)用相結(jié)合,使學(xué)生學(xué)會如何把書籍上學(xué)到的知識用于解決實(shí)質(zhì)問題,培育學(xué)生的著手能力,另一方面,使學(xué)生能深入理解和靈巧掌握教課內(nèi)容。課程設(shè)計的要求:觀察市長途汽車站、火車站售票業(yè)務(wù),設(shè)計車站售票管理系統(tǒng)。要求:擁有方便、快速的售票功能,包含車票的預(yù)定和退票功能,可以支持集體的預(yù)定票和退票。能正確地認(rèn)識售票狀況,供給多種盤問和統(tǒng)計功能,如車次的盤問、時刻表的盤問等;能按狀況所需實(shí)現(xiàn)對車次的改正、票價的變動及調(diào)換功能;完美的報表系統(tǒng);具備必定的保護(hù)功能,如數(shù)據(jù)安全管理(含備份與恢復(fù))、操作員管理、權(quán)限設(shè)置等;該系統(tǒng)的開發(fā)環(huán)境為vs2012和sqlserver2012,是基于c#以及sql

4、server數(shù)據(jù)庫開發(fā)的一個車站售票管理系統(tǒng)。我們小組有我以及同班同學(xué)嚴(yán)鑫劍,分工為:嚴(yán)鑫劍負(fù)責(zé)開發(fā)用戶登錄、票務(wù)管理、盤問三個子模塊,自己負(fù)責(zé)開發(fā)車次管理、賬戶管理、更正密碼三個子模塊。其余由于不知道如何詳細(xì)在c#環(huán)境下運(yùn)用觸發(fā)器以及報表打印,因此系統(tǒng)頂用到的觸發(fā)器以及報表打印功能是我們兩個共同達(dá)成的。文案大全適用文檔大綱設(shè)計2.1.系統(tǒng)需求分析本系統(tǒng)是嚴(yán)鑫劍與司房昭同學(xué)共同開發(fā)的,集車站售票退票,線路盤問更正,車次管理,報表打印,賬戶管理等功能為一體的應(yīng)用軟件。車站售票管理系統(tǒng),為車站快速便利售票供給了一個較好的解決方案。本系統(tǒng)擁有以下功能:擁有方便、快速的售票功能,包含車票的預(yù)定和退票功

5、能,可以支持集體的預(yù)定票和退票。能正確地認(rèn)識售票狀況,供給多種盤問和統(tǒng)計功能,如車次的盤問、時刻表的盤問等。能按狀況所需實(shí)現(xiàn)對車次的改正、票價的變動及調(diào)換功能。完美的報表系統(tǒng)。具備必定的保護(hù)功能,如數(shù)據(jù)安全管理(含備份與恢復(fù))、操作員管理、權(quán)限設(shè)置等。在開發(fā)過程中,依照軟件工程的步驟,從設(shè)計到開發(fā)采納了面向?qū)ο蟮乃枷牒图夹g(shù),采納了SQLSERVER2012數(shù)據(jù)庫,使得本系統(tǒng)可以方便的和其余子系統(tǒng)進(jìn)行數(shù)據(jù)交換。同時,注意從軟件的圖形應(yīng)用界面上優(yōu)化軟件質(zhì)量,使得本系統(tǒng)擁有很強(qiáng)的可操作性。開發(fā)的系統(tǒng)的一般描述車站售票管理系統(tǒng)采納C/S系統(tǒng)結(jié)構(gòu),結(jié)合車站的實(shí)質(zhì)需要,對票務(wù)管理和線路、車次信息進(jìn)行高效有

6、序的管理,供給豐富的管理和分析功能,用戶界面友善,能滿足車站售票管理的軟件,文案大全適用文檔提升車站工作效率。本系統(tǒng)旨在車站管理人員與售票人員工作更加方便,以減少工作人員的負(fù)擔(dān)??焖俚膶π畔⑦M(jìn)行管理,輸入,輸出,查找,更正,刪除的操作,是大批的工作更加的詳細(xì)化,直觀化,合理化。產(chǎn)品功能開發(fā)的系統(tǒng)軟件擁有數(shù)據(jù)的更新,借閱的判斷,數(shù)據(jù)的管理等功能。用戶特色本軟件的使用對象是車站管理員與售票員。可以方便的利用該軟件進(jìn)行車站售票的各種操作。一般拘束(1)本系統(tǒng)作為C/S結(jié)構(gòu)的一個應(yīng)用系統(tǒng),不行防范的要遇到C/S結(jié)構(gòu)的拘束。在其實(shí)行的各個階段都要遵從它的一些規(guī)劃,包含功能設(shè)計、系統(tǒng)配置和計劃。(2)硬件

7、環(huán)境。IntelPentium166MHz或以上;內(nèi)存:需要最少512MHZ;網(wǎng)絡(luò)容量:少于50人需16Mb/s的令版環(huán)網(wǎng)和10Mb/s可以牽強(qiáng)滿足要求,建議100Mb/s的以太網(wǎng)也許更高。設(shè)備需求:打印機(jī)。(3)軟件環(huán)境運(yùn)轉(zhuǎn)于Windows7及更高版本的操作系統(tǒng)之上。SQLServer2012數(shù)據(jù)庫。假設(shè)和依照本系統(tǒng)要求擁有較高的靠譜性和保密性。關(guān)于不一樣的用戶給予不一樣的權(quán)限,關(guān)于各個用戶的信息要安全穩(wěn)固的儲存。本系統(tǒng)開發(fā)的時間為:2012年12月20日至2013年01月日。文案大全適用文檔2.2.系統(tǒng)結(jié)構(gòu)設(shè)計本系統(tǒng)主要由六個模塊構(gòu)成分別為:用戶登錄,票務(wù)管理,盤問,報表打印,更正密碼,車

8、次管理,賬戶管理。經(jīng)過這個六個模塊,可以實(shí)現(xiàn)對車票的銷售與退訂,車次的盤問、更正、增加與刪除,線路的盤問、更正,增加與刪除,用戶信息更正等等。經(jīng)過這下功能在本系統(tǒng)的實(shí)現(xiàn),系統(tǒng)的使用者可以相當(dāng)方便的對售票進(jìn)行方便的管理。在權(quán)限方面,分為管理員與售票員,功能區(qū)分,管理效率提升。車站售票管理系統(tǒng)結(jié)構(gòu)圖車站售票管理系統(tǒng)票查報修車賬用務(wù)詢表改次戶戶管功打密管管登理能印碼理理錄購?fù)藞F(tuán)團(tuán)車線打頁打打修修車車賬賬賬票票體體次路印面印印改改次次戶戶戶功功購?fù)瞬椴樵O(shè)設(shè)預(yù)功車票錄刪添修刪能能票票詢詢置置覽能次價入除加改除2.3.功能模塊設(shè)計本系統(tǒng)經(jīng)過各個模塊與數(shù)據(jù)庫之間的調(diào)用,實(shí)現(xiàn)了售票管理所需的各個功能,方便使用

9、。文案大全適用文檔登錄模塊基于車站售票的實(shí)質(zhì)狀況,關(guān)于本系統(tǒng)的使用者,設(shè)置為管理員與售票員兩種,方便管理。系統(tǒng)管理員能享有盤問,報表打印,更正用戶密碼,車次管理,賬戶管理五種功能。而售票員可以進(jìn)行票務(wù)管理,盤問,報表打印,更正密碼四種操作。關(guān)于不一樣的用戶,恩賜不一樣的權(quán)限,享有不一樣的操作。票務(wù)管理這是售票員用戶獨(dú)有的操作模塊,主要負(fù)責(zé)車站的售票退票工作。為了滿足人們購票需要,加入了集體購票與集體退票功能。在售票過程中,第一要進(jìn)行條件盤問。在本系統(tǒng)中,則是依照出發(fā)站與到達(dá)站為盤問依照,并顯示盤問結(jié)果。出入要乘坐的車次,選擇購票。關(guān)于車票不足的車次則不可以購買。在購買車票時,如選擇的座位已售出

10、,能提示不可以購買,選擇其余座位。選擇正確的座位,則購票成功。關(guān)于集體購票,相同的需要先進(jìn)行盤問,輸入乘坐車次,關(guān)于車票,座位的各種狀況恩賜判斷,第一保證節(jié)余的車票數(shù)目不小于售票數(shù)目才能進(jìn)行集體售票。在進(jìn)行集體售票的座位選擇時,加入了一個循環(huán),在達(dá)成集體訂票以前,關(guān)于座位狀況向來恩賜判斷,直至車票購買達(dá)成,循環(huán)結(jié)束。退票功能第一需要盤問車票所屬車次,盤問成功后,彈出輸入坐位號界面窗口,輸入已經(jīng)購買過的座位號,選擇退票,則會成功退票。關(guān)于退票中的車次信息,座位信息都演進(jìn)行判斷,關(guān)于不存在的信息要恩賜提示,方面操作。在使用集體退票功能時,也是需要輸入所屬車次,不一樣的是還需輸入需要退票的數(shù)目,用來

11、做循環(huán)。成功判斷退票后,挨次輸入退票的座位號,直至退票達(dá)成。在輸入退票座位號是,假如未達(dá)成所有退票,就中斷了操作,指揮進(jìn)行已經(jīng)輸入坐位號的退票操作,關(guān)于未輸入的不會有影響,對節(jié)余票數(shù)也是正常顯示。盤問操作在本系統(tǒng)中,包含了兩種盤問。一種為車次盤問。輸入正確文案大全適用文檔的車次,則會在Datagridview顯示出關(guān)于本車次的詳細(xì)信息,包含車次,始發(fā)站,終點(diǎn)站,價格,余票,限載人數(shù)詳細(xì)信息,方便操作人員進(jìn)行其余操作。另一種線路盤問則需要輸入初步站與終點(diǎn)站,則會出現(xiàn)所有這個路線因此車次的詳細(xì)信息。關(guān)于不正確的信息都要恩賜錯誤報告。報表打印更正密碼為了保證用戶的安全系,以及管理員的權(quán)限操作,可以進(jìn)

12、行密碼更正。在更正時,需要輸入用戶名及其次用戶的原密碼才能進(jìn)行密碼更正操作。關(guān)于用戶名不存在或密碼錯誤都要進(jìn)行報錯。再確認(rèn)新密碼后可以更正成功。車次管理此模塊為管理員特有模塊,是為了可以是管理員依據(jù)實(shí)質(zhì)情況對車次,票價進(jìn)行變動,便于車站的系統(tǒng)管理?;诠芾韱T可能需要改正某個車次的路線,特加入了車次更正功能方便其操作。輸入需要更正的車次,以及實(shí)質(zhì)的始發(fā)站及終點(diǎn)站,假如車次存在,即可達(dá)成更正。關(guān)于不正常的輸入要恩賜提示。依據(jù)實(shí)質(zhì)狀況,車票價格不行能是一模一樣的,因此加入改動票價功能是十分必需的,輸入始發(fā)站與終點(diǎn)站和需要更正成的價格。假如輸入的這條線路存在,則依照你輸入的價格進(jìn)行更正。假如輸入線路不

13、存在,則恩賜提示。車次錄入功能則是管理員管理車次最重要的一個功能,輸入車次號,始發(fā)站,終點(diǎn)站,發(fā)車時間,價格,限載人數(shù)。假如輸入數(shù)據(jù)沒有問題則可以達(dá)成錄入操作。車次刪除功能是為了管理員刪除那些無用的車次信息而設(shè)定的操作。輸入需要刪除的車次,假如數(shù)據(jù)庫信息里有輸入的車次,則達(dá)成刪除信息,如沒有,則恩賜提示。賬戶管理此功能也是管理員特有操作。為了保證系統(tǒng)的安全性,以及文案大全適用文檔系統(tǒng)操作員權(quán)限的區(qū)分,此功能可以用來增加和刪除用戶,也可以更正賬戶的權(quán)限。對系統(tǒng)的安全性有所改進(jìn)。系統(tǒng)辦理流程圖賬戶更正確認(rèn)登錄選擇權(quán)限賬戶管理選擇管理項賬戶增加更正錄入賬戶刪除更正用戶名與密碼判口令文件更正成功或失定

14、敗選擇車票輸入數(shù)車次盤問據(jù)確認(rèn)登陸個人售票集體售票票務(wù)管理功能選擇盤問選擇盤問條車次、線路件信息個人退票集體退票密碼更正輸入數(shù)線路盤問據(jù)選擇車票輸入用戶名車次管理密碼錄入口令文件判斷用戶車改車車數(shù)據(jù)顯示更正次動次次修票錄刪改價入除更正成功或失敗信息管理更正成功或失口令文件敗文案大全適用文檔詳細(xì)設(shè)計3.1系統(tǒng)數(shù)據(jù)庫設(shè)計看法結(jié)構(gòu)設(shè)計依據(jù)需求分析,E-R圖表示的看法模型以下:E-R圖邏輯結(jié)構(gòu)設(shè)計由E-R圖變換成為的關(guān)系模型以下:用戶表(用戶名,密碼,身份種類)車次信息表(車次編號,初步站,終點(diǎn)站,出發(fā)時間,票價,余票,限載人數(shù))車票信息表(車次編號,座位號)文案大全適用文檔用戶表主碼為用戶名,每一個

15、非主屬性既不部分依賴于碼,也不傳達(dá)依賴于碼,因此切合3NF。車次信息表主碼為車次編號,每一個非主屬性既不部分依賴于碼,也不傳達(dá)依賴于碼,因此切合3NF。車票信息表主碼為車次編號和座位號,每一個非主屬性既不部分依賴于碼,也不傳達(dá)依賴于碼,因此切合3NF。按以上關(guān)系模式在sqlserver2012中建立的表,以下所示:用戶信息表車次信息表車票信息表文案大全適用文檔建立外碼,保持參照完好性。Trainno表中的trainno為主碼,ticket表中seat,trainno為主碼,因此trainno為ticket表的外碼。為了讓ticket表中座位號更加規(guī)范化,因此增加check拘束。輸入表達(dá)式為:(

16、seatbetween1and99)觸發(fā)器的應(yīng)用:為了更好的同步車票余票信息,為ticket表建立觸發(fā)器gengxingjian,每當(dāng)ticket表插入數(shù)據(jù)時,對應(yīng)的車次余票減1。文案大全適用文檔觸發(fā)器gengxinjia每當(dāng)有數(shù)據(jù)刪除時,關(guān)于車次余票加1。建立gengxinjian觸發(fā)器:Select*fromticketGOCreatetriggergengxinjianonticketafterinsertasbegindeclaretrainnonvarchar(10);selecttrainno=trainnofrominsertedupdateTrainnosetlastticke

17、t=lastticket-1wheretrainno=trainnoend建立gengxinjia觸發(fā)器:Select*fromticketGoCreatetriggergengxinjiaonticketafterdeleteasbegindeclaretrainnonvarchar(10);selecttrainno=trainnofromdeletedupdateTrainnosetlastticket=lastticket+1wheretrainno=trainnoend文案大全適用文檔3.2系統(tǒng)主要功能模塊設(shè)計關(guān)于本系統(tǒng)的使用者,設(shè)置為管理員與售票員兩種,方便管理。系統(tǒng)管理員能享有盤

18、問,報表打印,更正用戶密碼,車次管理,賬戶管理五種功能。而售票員可以進(jìn)行票務(wù)管理,盤問,報表打印,更正密碼四種操作。登錄模塊流程圖登陸界面輸入用戶名密碼選擇用戶種類管理員帳戶售票員賬戶數(shù)據(jù)庫判斷用戶名密碼有誤登陸成功這是售票員用戶獨(dú)有的操作模塊,主要負(fù)責(zé)車站的售票退票工作。為了滿足人們購票需要,加入了集體購票與集體退票功能。文案大全適用文檔票務(wù)管理流程圖票務(wù)管理售票集體售票退票集體退票輸入始發(fā)終點(diǎn)站輸入退票車次退票車次票數(shù)顯示車次輸入坐位號選擇車次選擇車次票數(shù)輸入坐位號判斷座位存在判斷座位悠閑銷售成功出退票成功在本系統(tǒng)中,包含了兩種盤問。一種為車次盤問。輸入正確的車次,另一種線路盤問則需要輸入

19、初步站與終點(diǎn)站。關(guān)于不正確的信息都要恩賜錯誤報告。盤問流程圖盤問功能車次盤問線路盤問輸入盤問車次輸入初步終點(diǎn)站判斷能否存在判斷線路存在顯示所有顯示車次車次文案大全適用文檔在更正時,需要輸入用戶名及其次用戶的原密碼才能進(jìn)行密碼更正操作。關(guān)于用戶名不存在或密碼錯誤都要進(jìn)行報錯。再確認(rèn)新密碼后可以更正成功。更正密碼流程圖更正密碼輸入用戶名,原密碼,新密碼判斷用戶能否存在提示輸入信息有誤更正成功此模塊為管理員特有模塊,包含車次更正,票價變動,車次刪除,車次錄入四個功能,方便管理員操作。車次管理流程圖車次管理車次更正變動票價車次錄入車次刪除輸入需要變動車次輸入變動的始發(fā)站輸入新車次的各種輸入需要刪除的車

20、的新始發(fā)站終點(diǎn)站終點(diǎn)站及新票價詳細(xì)信息次判斷能否存在車次判斷能否存在路線錄入成功判斷能否存在車次更正成功更正成功刪除成功文案大全適用文檔此功能也是管理員特有操作,可以用來增加和刪除用戶,也可以更正賬戶的權(quán)限。對系統(tǒng)的安全性有所改進(jìn)。用戶管理流程圖賬戶管理賬戶更正賬戶增加賬戶刪除輸入用戶名輸入用戶名密碼輸入刪除用戶名選擇用戶種類選擇用戶種類判斷用戶存在判斷用戶存在達(dá)成增加達(dá)成刪除達(dá)成更正3.3各模塊的主要算法對應(yīng)的原代碼在系統(tǒng)原代碼中含有大批的數(shù)據(jù)庫連接,和關(guān)閉的代碼,過于重復(fù),故有時會省略此部分代碼。登錄模塊登錄模塊的主要算法是:把輸入的數(shù)據(jù)與數(shù)據(jù)庫中存放用戶信息的用戶表進(jìn)行比對,假如一致,則

21、登陸成功。登錄功能主要的源代碼為:stringsql=select*fromLoginwhereusername=+textBox1.Text+andpassword=+textBox2.Text+andtype=+comboBox1.Text+;tryDataSetds=newsqlConnect().Getds(sql);if(ds.Tables0.Rows.Count0)stringusertype;usertype=ds.Tables0.Rows02.ToString();文案大全適用文檔MessageBox.Show(登陸成功,登錄,MessageBoxButtons.OK,Mess

22、ageBoxIcon.Information);Mainmain=newMain();main.Show();if(usertype=售票員)main.account.Enabled=false;main.trainmanagement.Enabled=false;if(usertype=管理員)main.piaowu.Enabled=false;this.Hide();elseMessageBox.Show(用戶名或密碼錯誤,請重新輸入!,登錄,MessageBoxButtons.OKCancel,MessageBoxIcon.Information);this.textBox1.Clear

23、();this.textBox2.Clear();this.textBox1.Focus();盤問模塊盤問的算法就是把用戶輸入的數(shù)據(jù)看作盤問條件,從數(shù)據(jù)庫里面盤問出相關(guān)信息。思路是相同的,因此在此寫此中的線路查詢源代碼:stringsql=selecttrainnoas車次,starttimeas發(fā)車時間,priceas價格,lastticketas余票,numberas限載人數(shù)fromTrainnowhere1=1;文案大全適用文檔DataSetds=newDataSet();SqlDataAdapterda;SqlConnectionconn=newSqlConnection(DataSo

24、urce=SIFANGZHAO-PC;InitialCatalog=ticket;IntegratedSecurity=True;);if(textBox2.Text.Equals()&textBox3.Text.Equals()MessageBox.Show(請輸入始發(fā)站也許終點(diǎn)站);elsetryif(textBox2.Text.Trim().Equals()=false)sql+=andstart=+textBox2.Text.Trim()+;if(textBox3.Text.Trim().Equals()=false)sql+=andfinish=+textBox3.Text.Trim

25、()+;SqlCommandcomm=newSqlCommand(sql,conn);da=newSqlDataAdapter(comm);da.Fill(ds);dataGridView2.DataSource=ds.Tables0;catchMessageBox.Show(盤問信息失?。?;finallyconn.Close();票務(wù)管理文案大全適用文檔票務(wù)管理的算法主要分為購票和退票兩個主要的算法。購票算法中第一需要依據(jù)始發(fā)站與終點(diǎn)站,盤問出可以到達(dá)的車次,再依據(jù)購票者的選擇選擇車次,再選擇座位,至此購票達(dá)成。購票的算法:盤問的代碼:stringsql=selecttrainnoas車次

26、,starttimeas發(fā)車時間,priceas價格,lastticketas余票,numberas限載人數(shù)fromTrainnowherestart=+textBox1.Text.Trim()+andfinish=+textBox2.Text.Trim()+;DataSetds=newDataSet();SqlDataAdapterda;SqlConnectionconn=newSqlConnection(DataSource=SIFANGZHAO-PC;InitialCatalog=ticket;IntegratedSecurity=True;);if(textBox1.Text.Equa

27、ls()|textBox2.Text.Equals()MessageBox.Show(請輸入初步站和終點(diǎn)站);elsetrySqlCommandcomm=newSqlCommand(sql,conn);da=newSqlDataAdapter(comm);da.Fill(ds);dataGridView1.DataSource=ds.Tables0;catchMessageBox.Show(盤問信息失??!);finallyconn.Close();文案大全適用文檔接下來輸入車次,假如是集體購票還需要輸入數(shù)目,選擇購買的時候,檢查一下選擇的車次余票能否大于也許等于需要購買的數(shù)目,假如輸入的車次無

28、效也許票數(shù)不足,應(yīng)該進(jìn)行提示。代碼以下:if(textBox7.Text.Trim().Equals()|textBox8.Text.Trim().Equals()=false)Int32nu;objectisnull;SqlConnectionconnnn=newSqlConnection(DataSource=SIFANGZHAO-PC;InitialCatalog=ticket;IntegratedSecurity=True;);stringsqll=selectlastticketfromTrainnowheretrainno=+textBox7.Text.Trim()+;SqlCom

29、mandcmddd;tryconnnn.Open();cmddd=newSqlCommand(sqll,connnn);isnull=(object)cmddd.ExecuteScalar();nu=Convert.ToInt32(isnull);finallyconnnn.Close();stringnum=textBox8.Text.Trim();Int32temp=Convert.ToInt32(num);if(nu=temp&isnull!=null)trytry文案大全適用文檔MessageBox.Show(選擇班次成功,請選擇座位!);tuanmaitm=newtuanmai(th

30、is.textBox7.Text.Trim(),textBox8.Text.Trim();tm.Show();catchMessageBox.Show(購票失?。?錯誤,MessageBoxButtons.RetryCancel,MessageBoxIcon.Information);catchMessageBox.Show(購票失?。?;elseMessageBox.Show(購票失敗,票數(shù)不足!也許輸入車次錯誤,不存在此車次!);elseMessageBox.Show(未輸入班次也許票的數(shù)目,購票失敗!請重新輸入!);接下來是選座位,選擇座位的時候,系統(tǒng)會顯示該車次已經(jīng)售出的票的座位號。假

31、如用戶輸入的座位號大于限載量,也許小于0,也許已經(jīng)售出,應(yīng)該給出相關(guān)提示信息。假如座位號合法有效,可以購買。則購買成功。購買成功后,在這里我們用到了上課學(xué)習(xí)到的觸發(fā)器,每購買一張票成功,將售票的車次的余票數(shù)目減1。而且假如是集體購票,假如集體購票成功,將選擇座位文案大全適用文檔窗體關(guān)閉,防范無窮買票。保證系統(tǒng)的正常運(yùn)轉(zhuǎn)。源代碼以下:選擇座位:SqlConnectionconnn=newSqlConnection(DataSource=SIFANGZHAO-PC;InitialCatalog=ticket;IntegratedSecurity=True;);stringsqll=select*f

32、romticketwheretrainno=+checi+andseat=+textBox1.Text.Trim()+;SqlCommandcmdd;tryconnn.Open();cmdd=newSqlCommand(sqll,connn);number=(object)cmdd.ExecuteScalar();finallyconnn.Close();if(number=null)trySqlConnectionconn=newSqlConnection(DataSource=SIFANGZHAO-PC;InitialCatalog=ticket;IntegratedSecurity=Tr

33、ue;);stringsql=insertintoticket(trainno,seat)values(+checi+,+textBox1.Text.Trim()+);SqlCommandcmd;tryconn.Open();文案大全適用文檔cmd=newSqlCommand(sql,conn);cmd.ExecuteNonQuery();MessageBox.Show(選擇座位成功,購買成功!);count+;if(count=amount)MessageBox.Show(購票達(dá)成!);this.Close();catchMessageBox.Show(選擇座位失敗,購買失??!,錯誤,Mes

34、sageBoxButtons.RetryCancel,MessageBoxIcon.Information);finallyconn.Close();catchMessageBox.Show(選擇座位失敗,購買失??!);elseMessageBox.Show(選擇座位失敗,該座位已經(jīng)賣出!);else文案大全適用文檔MessageBox.Show(座位號超出限載量,請重新輸入坐位號!);textBox1.Clear();觸發(fā)器的使用:在ticket表建立觸發(fā)器,每當(dāng)有數(shù)據(jù)插入表中,就更新相應(yīng)車的的余票數(shù)目。觸發(fā)器的代碼為:USEticketGO/Object:Triggerdbo.gengxi

35、njianScriptDate:2013/1/316:47:16/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOALTERtriggerdbo.gengxinjianondbo.ticketafterinsertasbegindeclaretrainnonvarchar(10);selecttrainno=trainnofrominsertedupdateTrainnosetlastticket=lastticket-1wheretrainno=trainnoend退票的算法第一輸入需要退票的車次,假如是集體退票還需要輸入退票速來。假如車次無效,應(yīng)該給出提示

36、信息。假如有效,則輸入退票的座位號。假如輸入的座位號不合法,如次座位未售出,超出限載量等,應(yīng)該給出相關(guān)提示信息。假如合法,則將其從車票信息表中刪除。退票的時候,我們也使用到了觸發(fā)器,每當(dāng)有信息從車票信息表中刪除,就更新相應(yīng)的車次的余票。源代碼以下:intzuowei=Convert.ToInt32(textBox1.Text.Trim();intshuliang;文案大全適用文檔SqlConnectioncon=newSqlConnection(DataSource=SIFANGZHAO-PC;InitialCatalog=ticket;IntegratedSecurity=True;);st

37、ringsqlll=selectnumberfromTrainnowheretrainno=+checi+;SqlCommandcmddd;trycon.Open();cmddd=newSqlCommand(sqlll,con);shuliang=(int)cmddd.ExecuteScalar();finallycon.Close();if(zuowei0&zuowei=shuliang)objectnumber;SqlConnectionconn=newSqlConnection(DataSource=SIFANGZHAO-PC;InitialCatalog=ticket;Integrat

38、edSecurity=True;);stringsql=select*fromticketwheretrainno=+checi+andseat=+textBox1.Text.Trim()+;SqlCommandcmd;tryconn.Open();cmd=newSqlCommand(sql,conn);number=(object)cmd.ExecuteScalar();finallyconn.Close();if(number!=null)文案大全適用文檔SqlConnectionconnn=newSqlConnection(DataSource=SIFANGZHAO-PC;Initial

39、Catalog=ticket;IntegratedSecurity=True;);stringsqll=deletefromticketwheretrainno=+checi+andseat=+textBox1.Text.Trim()+;SqlCommandcmdd;tryconnn.Open();cmdd=newSqlCommand(sqll,connn);cmdd.ExecuteNonQuery();MessageBox.Show(退票成功!);count+;if(count=amount)MessageBox.Show(退票達(dá)成!);this.Close();catchMessageBo

40、x.Show(退票失??!,錯誤,MessageBoxButtons.RetryCancel,MessageBoxIcon.Information);finallyconnn.Close();elseMessageBox.Show(該車次還沒有銷售此座位,請重新輸入!);else文案大全適用文檔MessageBox.Show(座位號超出限載量,請重新輸入坐位號!);textBox1.Clear();觸發(fā)器的代碼:USEticketGO/Object:Triggerdbo.gengxingjiaScriptDate:2013/1/316:46:31/SETANSI_NULLSONGOSETQUOT

41、ED_IDENTIFIERONGOALTERtriggerdbo.gengxingjiaondbo.ticketafterdeleteasbegindeclaretrainnonvarchar(10);selecttrainno=trainnofromdeletedupdateTrainnosetlastticket=lastticket+1wheretrainno=trainnoend報表打印盤問相關(guān)信息,而后再加上打印功能,達(dá)成了報表打印的功能。由于以前有連接數(shù)據(jù)庫,盤問相關(guān)信息的代碼。在這里今后,不在重復(fù)寫此類相關(guān)代碼,只寫相關(guān)要點(diǎn)性代碼。盤問相關(guān)源代碼:SqlConnectioncon

42、n=newSqlConnection(DataSource=SIFANGZHAO-PC;InitialCatalog=ticket;IntegratedSecurity=True;);stringsql=selecttrainnoas車次,startas始發(fā)站,finishas終點(diǎn)站,starttimeas發(fā)車時間,priceas價格,(number-lastticket)*priceas當(dāng)次班車所售出票的總價fromTrainnoWheretrainnolike+textBox1.Text+%;SqlDataAdapteradapter=newSqlDataAdapter(sql,conn)

43、;DataSetda=newDataSet();文案大全適用文檔adapter.Fill(da);dataGridView1.DataSource=da.Tables0.DefaultView;更正密碼更正密碼的算法:依據(jù)輸入的信息,與數(shù)據(jù)庫中的數(shù)據(jù),進(jìn)行校驗。假如正確,則更正密碼。假如不正確,則給出相關(guān)提示信息。相關(guān)源代碼:objectisnull;SqlConnectionconn=newSqlConnection(DataSource=SIFANGZHAO-PC;InitialCatalog=ticket;IntegratedSecurity=True;);SqlCommandcmd;s

44、tringupdatestr;updatestr=updateloginsetpassword=+textBox3.Text+whereusername=+textBox1.Text+andpassword=+textBox2.Text+;if(this.textBox3.Text.Equals(this.textBox4.Text)tryconn.Open();cmd=newSqlCommand(updatestr,conn);isnull=cmd.ExecuteScalar();if(isnull!=null)MessageBox.Show(密碼更正成功!,密碼更正,MessageBoxB

45、uttons.OK,MessageBoxIcon.Information);this.Close();elseMessageBox.Show(密碼更正失敗,輸入了無效的用戶名,請重新輸入!);文案大全適用文檔catchMessageBox.Show(密碼更正失敗,原密碼輸入錯誤!,錯誤,MessageBoxButtons.RetryCancel,MessageBoxIcon.Information);finallyconn.Close();elseMessageBox.Show(兩次輸入的新密碼不一致!,錯誤,MessageBoxButtons.OK,MessageBoxIcon.Warnin

46、g);this.textBox3.Clear();this.textBox4.Clear();車次管理車次管理包含車次更正、車次錄入、車次刪除、票價更正。車次更正的算法:輸入車次編號,以及更正的相關(guān)信息。假如車次編號無效,要給出相關(guān)的提示信息。要點(diǎn)性源代碼以下:SqlConnectionconn=newSqlConnection(DataSource=SIFANGZHAO-PC;InitialCatalog=ticket;IntegratedSecurity=True;);stringsql=updateTrainnosetstart=+textBox2.Text.Trim()+,finish

47、=+textBox3.Text.Trim()+wheretrainno=+textBox1.Text.Trim()+;SqlCommandcmd;文案大全適用文檔tryconn.Open();cmd=newSqlCommand(sql,conn);isnull=cmd.ExecuteNonQuery();if(isnull=1)MessageBox.Show(車次改正成功!);elseMessageBox.Show(車次改正失敗,輸入了無效的車次,請重新輸入!);車次錄入輸入車次錄入的相關(guān)信息,系統(tǒng)進(jìn)行校驗,假如合法規(guī)增加到數(shù)據(jù)庫。要點(diǎn)性源代碼:trySqlConnectionconn=new

48、SqlConnection(DataSource=SIFANGZHAO-PC;InitialCatalog=ticket;IntegratedSecurity=True;);stringsql=insertintoTrainno(trainno,start,finish,starttime,price,lastticket,number)values(+textBox7.Text.Trim()+,+textBox8.Text.Trim()+,+textBox9.Text.Trim()+,+textBox10.Text.Trim()+,+textBox11.Text.Trim()+,+textB

49、ox12.Text.Trim()+,+textBox12.Text.Trim()+);SqlCommandcmd;tryconn.Open();cmd=newSqlCommand(sql,conn);cmd.ExecuteNonQuery();文案大全適用文檔MessageBox.Show(錄入成功!);textBox7.Clear();textBox8.Clear();textBox9.Clear();textBox10.Clear();textBox11.Clear();textBox12.Clear();catchMessageBox.Show(錄入失??!,錯誤,MessageBoxBu

50、ttons.RetryCancel,MessageBoxIcon.Information);finallyconn.Close();catchMessageBox.Show(錄入失?。?;車次刪除依據(jù)輸入的車次信息,系統(tǒng)進(jìn)行校驗,假如存在,則刪除成功。假如不存在,給出提示信息,輸入了無效信息。要點(diǎn)性源代碼:SqlConnectionconn=newSqlConnection(DataSource=SIFANGZHAO-PC;InitialCatalog=ticket;IntegratedSecurity=True;);stringsql=deletefromTrainnowheretrainn

51、o=+textBox13.Text.Trim()+;SqlCommandcmd;tryconn.Open();文案大全適用文檔cmd=newSqlCommand(sql,conn);isnull=cmd.ExecuteNonQuery();if(isnull=1)MessageBox.Show(刪除車次成功!);textBox1.Clear();elseMessageBox.Show(刪除失敗,輸入了無效的車次號);票價更正票價更正的算法:依據(jù)輸入的信息,系統(tǒng)校驗,看能否存在該線路。假如存在,進(jìn)行票價更正。給出更正成功信息,不然錯誤提示信息。要點(diǎn)性源代碼:trySqlConnectioncon

52、n=newSqlConnection(DataSource=SIFANGZHAO-PC;InitialCatalog=ticket;IntegratedSecurity=True;);stringsql=updateTrainnosetprice=+textBox6.Text.Trim()+wherestart=+textBox4.Text.Trim()+andfinish=+textBox5.Text.Trim()+;SqlCommandcmd;tryconn.Open();cmd=newSqlCommand(sql,conn);isnull=cmd.ExecuteNonQuery();if

53、(isnull=1)MessageBox.Show(改價成功!);elseMessageBox.Show(輸入初步站也許終點(diǎn)站有誤,文案大全適用文檔不存在此線路!);catchMessageBox.Show(改價失??!,錯誤,MessageBoxButtons.RetryCancel,MessageBoxIcon.Information);finallyconn.Close();catchMessageBox.Show(改價失??!);賬戶管理賬戶管理包含賬戶更正、賬戶增加、賬戶刪除。賬戶更正依據(jù)輸入的賬戶信息,進(jìn)行系統(tǒng)校驗。假如存在則更正賬戶信息,不然給出失敗提示信息。要點(diǎn)性源代碼:intis

54、null;if(textBox1.Text.Equals()|comboBox1.Text.Equals()MessageBox.Show(請輸入需要更正的的帳戶信息);elsetrySqlConnectionconn=newSqlConnection(Data文案大全適用文檔Source=SIFANGZHAO-PC;InitialCatalog=ticket;IntegratedSecurity=True;);stringsql=updateloginsettype=+comboBox1.Text.Trim()+whereusername=+textBox1.Text.Trim()+;SqlCommandcmd;tryconn.Open();cmd=newSqlCommand(sql,conn);isnull=cmd.ExecuteNonQuery();if(isnull=1)MessageBox.Show(更正成功!);textBox1.Clear();elseMessageBox.Show(更正失敗

溫馨提示

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

評論

0/150

提交評論