


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
TOC\o"1-5"\h\z\o"CurrentDocument"一、 課題背景與意義 1\o"CurrentDocument"1.1概述 1\o"CurrentDocument"1.2意義 1\o"CurrentDocument"1.3數(shù)據(jù)庫優(yōu)勢 1\o"CurrentDocument"1.4開發(fā)環(huán)境 2\o"CurrentDocument"二、 需求分析 3\o"CurrentDocument"2.1業(yè)務(wù)需求分析 3\o"CurrentDocument"2.2功能需求 3\o"CurrentDocument"2.3數(shù)據(jù)需求 4\o"CurrentDocument"2.4性能需求 5\o"CurrentDocument"三、 系統(tǒng)總體設(shè)計(jì) 6\o"CurrentDocument"3.1系統(tǒng)組成 6\o"CurrentDocument"3.2數(shù)據(jù)庫設(shè)計(jì) 7\o"CurrentDocument"概念結(jié)構(gòu)設(shè)計(jì) 7\o"CurrentDocument"邏輯結(jié)構(gòu)設(shè)計(jì) 8\o"CurrentDocument"3.3物理結(jié)構(gòu)設(shè)計(jì) 9確定數(shù)據(jù)庫的存儲結(jié)構(gòu) 10調(diào)試分析 10\o"CurrentDocument"3.4數(shù)據(jù)庫模式定義 20\o"CurrentDocument"四、 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 21\o"CurrentDocument"4.1模塊簡述 21\o"CurrentDocument"4.2模塊設(shè)計(jì) 21\o"CurrentDocument"五、 完畢語 32\o"CurrentDocument"六、 參考文獻(xiàn) 34、課題背景與意義1.1概述信息時(shí)代已經(jīng)來臨,信息處理的利器一一計(jì)算機(jī)應(yīng)用于火車站售票的日常管理為火車站售票的現(xiàn)代化帶來了從未有過的動(dòng)力和機(jī)遇,為火車站票務(wù)管理領(lǐng)域的飛速開展提供了無限潛力。采用計(jì)算機(jī)管理信息系統(tǒng)已成為火車站票務(wù)管理科學(xué)化和現(xiàn)代化的重要標(biāo)志,給火車站票務(wù)帶來了明顯的經(jīng)濟(jì)效益和社會(huì)效益。 采用數(shù)據(jù)技術(shù)建立的管理系統(tǒng)不僅能提高出售/預(yù)定車票的效率,還能減少錯(cuò)誤發(fā)生的概率,方便用戶的查詢訂購車票。降低工作人員的工作量,防止購票人員在車站無效的等票,可以調(diào)高購置者買到票的機(jī)率,這樣的作用在春運(yùn)期間最為顯著,因?yàn)樵诖哼\(yùn)的時(shí)候車站里許多人是在無效的等票,不僅造成車站里人員管理的困難,還使本可以買到票的人無辜浪費(fèi)時(shí)間在侯票上。 目前火車票的訂購僅僅依靠手工操作,已現(xiàn)有的工作人員很難應(yīng)付車票訂購頂峰時(shí)刻的大量數(shù)據(jù)處理問題,同時(shí)還會(huì)出現(xiàn)由此帶來的旅客查詢問題,導(dǎo)致火車誤點(diǎn)情況。本次設(shè)計(jì)擬開發(fā)一個(gè)火車票訂購系統(tǒng),可以降低人工操作,提高工作效率,同時(shí)方便乘客查詢1.2意義火車票訂購一直是困擾我們的一個(gè)老問題,也是社會(huì)效勞的一個(gè)難點(diǎn),訂票的查詢以與車票信息的查詢時(shí)期一個(gè)最根本的業(yè)務(wù),從便面上看,這只是一個(gè)最簡單的局部,但是它涉與到管理以與客戶效勞的多個(gè)方面,因此設(shè)計(jì)了本火車票訂購系統(tǒng)來實(shí)現(xiàn)票務(wù)的查詢。1.3數(shù)據(jù)庫優(yōu)勢數(shù)據(jù)庫管理的特點(diǎn)很多,它比傳統(tǒng)的數(shù)據(jù)管理擁有很多優(yōu)點(diǎn)。以下就是數(shù)據(jù)庫的優(yōu)勢。一、數(shù)據(jù)結(jié)構(gòu)化。所謂“整體〞結(jié)構(gòu)化是指在數(shù)據(jù)庫中的數(shù)據(jù)不再僅僅針對某一個(gè)應(yīng)用,而是面向全組織的;不僅數(shù)據(jù)部是結(jié)構(gòu)化的,而且整體也是結(jié)構(gòu)化的,數(shù)據(jù)之間是有聯(lián)系的。二、數(shù)據(jù)的共享性高,冗余度低,易擴(kuò)充。數(shù)據(jù)共享可以減少數(shù)據(jù)的冗余,節(jié)約存儲空間。數(shù)據(jù)共享還能夠防止數(shù)據(jù)之間的不相容性和不一致性。三、數(shù)據(jù)獨(dú)立性高。包括物理獨(dú)立性和數(shù)據(jù)的邏輯獨(dú)立性。物理的獨(dú)立性是指用戶的應(yīng)用程序與存儲在磁盤上的數(shù)據(jù)庫中的數(shù)據(jù)是相互獨(dú)立的。邏輯獨(dú)立性是指用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨(dú)立的。四、數(shù)據(jù)是由DBMS統(tǒng)一管理和控制的。包含〔1數(shù)據(jù)的平安性保護(hù)〔2〕數(shù)據(jù)的完整性檢查〔3〕并發(fā)控制〔4〕數(shù)據(jù)庫恢復(fù)1.4開發(fā)環(huán)境工具軟件利用Visio2007和SQLSever2000數(shù)據(jù)庫來開發(fā)這個(gè)火車票訂購系統(tǒng)二、需求分析在構(gòu)造系統(tǒng)時(shí),首先從需求出發(fā)構(gòu)造數(shù)據(jù)庫表,然后再由數(shù)據(jù)庫表結(jié)合需求劃分系統(tǒng)功能模塊。這樣,就把一個(gè)大的系統(tǒng)分解成了幾個(gè)小系統(tǒng),使整個(gè)系統(tǒng)的功能更加詳細(xì)易于理解,同時(shí)易于實(shí)現(xiàn)系統(tǒng)的整體設(shè)計(jì)。本系統(tǒng)分為二個(gè)功能,分別是用戶管理和車次/車票管理,其所能實(shí)現(xiàn)的功能:1、 實(shí)現(xiàn)用戶登錄、用戶添加。2、 實(shí)現(xiàn)對車次的刪除和車次根本信息的添加。3、 實(shí)現(xiàn)售票的根本管理。4、 實(shí)現(xiàn)對車次根本信息的查詢。2.1業(yè)務(wù)需求分析從實(shí)際角度出發(fā),對于用戶要提供方便快捷的車票查詢和訂票效勞, 對于車站工作人員,那么是要能夠方便明朗的對車次信息進(jìn)行增刪修改操作和車票的訂售操作,提高車次的編組效率,是車次資源得到充分利用,并可以提高車票的出售效率降低工作人員的工作量。2.2功能需求在數(shù)據(jù)操作界面需要有用戶登錄窗口和車次信息操作窗口,這需要有實(shí)現(xiàn)用戶登錄的功能和車次查詢、添加、車票出售的功能。這是火車訂票系統(tǒng)的根本功能,只有實(shí)現(xiàn)了這幾個(gè)功能一個(gè)火車訂票系統(tǒng)才能開始運(yùn)作,在本系統(tǒng)中實(shí)現(xiàn)了用戶的登錄添加和車票的根本信息操作。功能列表編號功能名稱功能說明1.1用戶登錄用戶輸入用戶名和密碼登錄系統(tǒng)1.2用戶添加增加用戶和對所添加的用戶權(quán)限進(jìn)行設(shè)定2.1添加車次添加車次的根本信息2.2刪除車次刪除車的根本信息3.1隹酋售票對車票銷售/預(yù)定的操作4.1車次查詢對車次根本信息的查詢2.3數(shù)據(jù)需求系統(tǒng)處理的對象有:用戶信息:用戶名、用戶密碼、用戶權(quán)限。車次信息:車次號、票價(jià)、起始站、目的站、開車時(shí)間、到站時(shí)間、實(shí)時(shí)座位數(shù)系統(tǒng)處理如圖:2.1系統(tǒng)底層數(shù)據(jù)流圖
2.2用戶系統(tǒng)與車次信息系統(tǒng)間數(shù)據(jù)流圖圖數(shù)據(jù)項(xiàng)名數(shù)據(jù)項(xiàng)含義存儲結(jié)構(gòu)IDC-1username用戶名1Char(30)IDC-2Password登錄密碼[Char(30)[IDC-3Radio用戶權(quán)限1Char(30)IDC-4Trainno車次號Char(30)IDC-5Price票價(jià)Money(8)IDC-6Availableseat座位數(shù);lnt(4) 「IDC-7Startstation起始站Char(30)IDC-8Endstation目的站Char(30)IDC-9Starttime發(fā)車時(shí)間[Char(30):IDC-10Arrivetime到站時(shí)間Char(30)2.3數(shù)據(jù)字典2.4性能需求為了保證系統(tǒng)能夠長期、平安、穩(wěn)定、可靠、高效的運(yùn)行,本系統(tǒng)應(yīng)該滿足以下的性能需求。1.準(zhǔn)確性和與時(shí)性系統(tǒng)處理的準(zhǔn)確性和與時(shí)性是系統(tǒng)的必要性能。系統(tǒng)應(yīng)能與時(shí)而且準(zhǔn)確的根據(jù)用戶權(quán)限與所輸入的信息做出響應(yīng)。由于本系統(tǒng)的查詢功能對于整個(gè)系統(tǒng)的功能和性能完成舉足輕重。作為系統(tǒng)的很多數(shù)據(jù)來源,而車票的數(shù)量和時(shí)間又影響用戶的決策活動(dòng),其準(zhǔn)確性和與時(shí)性很大程度上決定了系統(tǒng)的成敗。 在系統(tǒng)開發(fā)過程中,必須采用一定的方法保證系統(tǒng)的準(zhǔn)確性和與時(shí)性。2.平安性網(wǎng)上訂票系統(tǒng)中涉與到的數(shù)據(jù)是客運(yùn)公司相當(dāng)重要的信息,系統(tǒng)要保證用戶的權(quán)限,對于車次等信息用戶只享有查詢效勞,不得更改;系統(tǒng)還要提供方便的手段供系統(tǒng)維護(hù)人員進(jìn)行數(shù)據(jù)備份、日常平安管理、以與系統(tǒng)意外崩潰時(shí)數(shù)據(jù)的恢復(fù)等工作。同時(shí)系統(tǒng)還要保證對數(shù)據(jù)庫進(jìn)行與時(shí)更新,保證數(shù)據(jù)一致。三、系統(tǒng)總體設(shè)計(jì)3.1系統(tǒng)組成系統(tǒng)開發(fā)的總體目標(biāo)是實(shí)現(xiàn)火車票訂/售票管理的系統(tǒng)化和自動(dòng)化,保證車票售出和車次信息管理的正確無誤,確保車票和車次管理的有效。在本系統(tǒng)中分為兩個(gè)子系統(tǒng),分別是用戶子系統(tǒng)和車次信息子系統(tǒng),主要任務(wù)是對用戶信息、車次信息、車票信息等操作與外理。本系統(tǒng)為C/S結(jié)構(gòu)、運(yùn)行平臺為微軟VC++6.0以上版本。以與SQLSever2000以上版本。以下列圖3.1為系統(tǒng)功能結(jié)構(gòu)圖:3.1功能模塊圖3.2數(shù)據(jù)庫設(shè)計(jì)概念結(jié)構(gòu)設(shè)計(jì)概念設(shè)計(jì)階段主要是將需求分析階段得到的用戶需求抽象為信息結(jié)構(gòu) 〔概
念模型〕的過程。根據(jù)之前的分析,數(shù)據(jù)庫應(yīng)該主要的實(shí)體有用戶和車票信息經(jīng)過分析得到的實(shí)體關(guān)系圖、E-R圖如下:查詢方式目的地發(fā)車日期用戶信息座位類型訂票方式總價(jià)發(fā)車日期訂購日訂購票數(shù)訂票票退票票-退票方訂單號'用戶名1L J##號r r車號L jr 岀發(fā)地L j廣查詢方式目的地發(fā)車日期用戶信息座位類型訂票方式總價(jià)發(fā)車日期訂購日訂購票數(shù)訂票票退票票-退票方訂單號'用戶名1L J##號r r車號L jr 岀發(fā)地L j廣性別車次信息查詢到達(dá)時(shí)刻Yr \剩余票數(shù)票價(jià)開出時(shí)間車號##訂票信息1火車票訂購E-R圖322邏輯結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)的任務(wù)就是把概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的根本 E-R圖轉(zhuǎn)化為與選用DBM產(chǎn)品所支持的數(shù)據(jù)模型有相符合的邏輯結(jié)構(gòu)。將上圖的E-R圖轉(zhuǎn)化為以下的關(guān)系模型。關(guān)系的碼用橫線標(biāo)出。用戶〔號用戶名、性別、〕訂票信息〔訂單號、號、車號、發(fā)車時(shí)間、訂購日期、訂購票數(shù)〕車次〔車號、發(fā)車日期、出發(fā)地、目的地、開出時(shí)刻、到達(dá)時(shí)刻、剩余票數(shù)、票價(jià)、座位類型〕以上是實(shí)體以與其屬性。查詢〔號、車號、發(fā)車日期、查詢方式〕訂票〔訂單號、訂票方式〕退票〔訂單號、退票方式〕以上是聯(lián)系與其屬性。火車站網(wǎng)上訂票系統(tǒng)數(shù)據(jù)庫中各個(gè)表格的設(shè)計(jì)結(jié)果如表 2.1――表2.6所示。每個(gè)表格表示在數(shù)據(jù)庫中的一個(gè)表。表2-1車次信息字段名數(shù)據(jù)類型是否可空說明車號char(10):NOTNULL〔主鍵〕出發(fā)地char(20)NOTNULL目的地char(20)NOTNULL發(fā)車日期DatetimerNOTNULL〔主鍵〕—開出時(shí)刻DatetimeNOTNULL到達(dá)時(shí)刻DatetimeNOTNULL剩余票數(shù)intrNOTNULL票價(jià)Char(10)NOTNULL表2-2訂票信息字段名數(shù)據(jù)類型是否可空說明訂單號Char(10)NOTNULL〔主鍵〕號Char(18)NOTNULL〔外鍵〕車號char(10)NOTNULL〔外鍵〕發(fā)車日期datetimeNOTNULL〔外鍵〕訂購日期datetimeNOTNULL訂購票數(shù)IntNOTNULL總價(jià)MoneyNOTNULL表2-3用戶表字段名數(shù)據(jù)類型是否可空說明號char(20):NOTNULL〔主鍵〕用戶名char(20)NOTNULL性別Char(2)char(20)表2-4訂票表字段名數(shù)據(jù)類型是否可空說明訂單號char(20):NOTNULL〔主鍵〕訂票方式Char(20)表2-5退票表字段名數(shù)據(jù)類型是否可空說明訂單號char(20)[notnull〔主鍵〕訂票方式Char(20)表2-6查詢表字段名數(shù)據(jù)類型是否可空說明號char(20):NOTNULL〔主鍵〕車號char(10)NOTNULL〔主鍵〕發(fā)車日期Datetime:NOTNULL〔主鍵〕查詢方式char(20)3.3物理結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫在物理設(shè)備上的存儲結(jié)構(gòu)與存取方法稱為數(shù)據(jù)庫的物理結(jié)構(gòu), 它依賴于選定的數(shù)據(jù)庫系統(tǒng)。對于數(shù)據(jù)庫查詢事務(wù),需要得到如下信息:查詢的關(guān)系。通過連接查詢可以將車次和用戶之間互聯(lián);通過訂票和退票可以將用戶和訂票信息互聯(lián),從而將每個(gè)表聯(lián)系在一起,構(gòu)成一個(gè)相關(guān)聯(lián)的數(shù)據(jù)庫。查詢條件所涉與到的屬性。查詢涉與到的屬性是〔號、車號、發(fā)車日期〕;訂票涉與到的屬性是〔訂票號〕;退票所涉與到的屬性〔訂票號〕。連接條件所涉與到的屬性〔號、訂單號、車號-發(fā)車日期、訂單號〕。對于數(shù)據(jù)更新,需要得到如下信息:被更新的關(guān)系。每個(gè)關(guān)系上的更新操作條件所涉與的屬性。修改操作要改變的屬性值。需要注意的是,數(shù)據(jù)庫上運(yùn)行的事務(wù)會(huì)不斷的變化、增加或減少,以后需要根據(jù)上述設(shè)計(jì)信息的變化調(diào)整數(shù)據(jù)庫的物理結(jié)構(gòu)。3.3.1確定數(shù)據(jù)庫的存儲結(jié)構(gòu)1、確定數(shù)據(jù)的存放位置存放于C盤,并且分配2M的空間,而且文件的存儲空間可以隨著數(shù)據(jù)庫的增大而增大,即文件增長不受限制。文件的增長按百分比進(jìn)行,增長百分比為10%。2、確定系統(tǒng)配置數(shù)據(jù)庫可以公共訪問,可以翻開任意個(gè)數(shù)據(jù)庫對象,存分配高于 2M的存空間。332調(diào)試分析在原有系統(tǒng)的數(shù)據(jù)有一小局部已經(jīng)輸入到了數(shù)據(jù)庫后, 就可以開始對數(shù)據(jù)庫系統(tǒng)進(jìn)行聯(lián)合調(diào)試,這又成為數(shù)據(jù)庫的試運(yùn)行。運(yùn)行前先要對數(shù)據(jù)庫進(jìn)行備份,如下:再進(jìn)行簡單的數(shù)據(jù)庫操作,如:建立根本表SQL語句為:createtable 訂票信息(訂單號char(10)primarykey,號char(20),車號char(10),
發(fā)車日期datetime,訂購日期datetime,訂購票數(shù)int,總價(jià)int,foreignkey(號)references用戶〔號〕,foreignkey(車號)references車次〔車號〕,foreignkey(發(fā)車日期〕references車次〔發(fā)車日期〕〕;運(yùn)行結(jié)構(gòu)截圖:列名蛇類型允許空char10char20車昌cliar10J炭車日期如曲亡sy訂購日期ditatimes訂購票數(shù)ilit4vint4V丨與刁征號 左呂k車Fl即訂同詡■曾愉E?diI370710219(^11^-TN3010-12-L320lO-l£-3I11&2](H72l^]2M94:LO2021-1-162021-1-23591C7&0D437C^?i99005DT1?TWaoio-iori2021-9=272no十茁TJ10ra6l9Tf0n?TKTflsoio-o-ri2OIOT-E0I13n-ThfliiyicamsiFT"nfixnr-暨囲aoio-5-??010-<-30c£也YJ膽5*19791MT?T1UI12021-10-^?01Q-10-1I丹90760116即謳航釜i7iBlZ010-1-1£OOF-:2-30I21032L輻口進(jìn)證1牡翻2021^r6201O-T-CT5esoraoio<T253飢an世壬盤g3010=5-220IO-*-2A4160EM門3010^11joioa-t339OTOOL?32475151 TITCAzuio^io-Bmcrio-z£1350rreaig^23^10193E0(J£l^XZ94Z01D-5-2L45C7&f?l4^2'1廠:3^帕宋;T252UJ0-12-13£D1O-1£-Ifl£Z3£OT66L5醴飢加T253010-12-19201(M2-fl2232其余的建表類似,在此不一一列舉修改根本表向用戶表增加“地址〞列,數(shù)據(jù)類型為字符串型SQL語句為:altertable用戶add地址char〔20〕;運(yùn)行結(jié)構(gòu)截圖:身份證導(dǎo) 丨用口K 件湘.地址21653619&207127:趙剛218762WTilOllE!匪墩27B326198711297i^T王明3247S610871122H李華3^74219661C0Z5-J^麗371C54£19g0050T3!張萌惟3TOT821909112T3-圭明4232TS197911U2:胡明4235461^0206215!陳潔4725361^61120&4;張華S211271^360^273:亍一632745igS70£307-秦剛73:24561^7910174:趙哲玄男男mn-353X-BSX-1521732749^&3425681514230327&1507462S8635^172846152154322S41345263657&15O3264416T15O42B4323T1B7432155331307421S54&<HULL>Wl>OIVLL)<NVLL><1UI£><NULL><MUIX><1IULX><HULL><MULL>W±><HULL><NVLL><MULL><WULL>將用戶表中的的數(shù)據(jù)類型改為變長字符串型SQL語句為:altertable用戶altercolumnvarchar(20);運(yùn)行結(jié)果截圖:列名敷龍決型底度允許空|1;:,.'■:IMSItScliar20用戶名charEQ性剔cliarIDrarchar20地址char如V數(shù)據(jù)查詢查詢號為2的個(gè)人信息,SQL語句為:select*from用戶where號=2;1身粉證號用戶名性別57?S392463 |查詢?nèi)w用戶的號,SQL語句為:select用戶名,號from用戶;運(yùn)行結(jié)果截圖:
托戶名身份證號1張小平221853619820T127248342T8326198711297S2]56李華7孫麗34874210661002&4328張萌佳3T0542199005073B789李明1011陳潔124T263613丁一1415趙哲13243.fi19701017435B查詢車票價(jià)格低于100元的車次:SQL語句為:select車號from車次where票價(jià)<100;運(yùn)行結(jié)果截圖為:1車哥hjK2942K5503T2S2查詢王姓客戶的信息SQL語句為:select*from用戶where用戶名like'%';運(yùn)行結(jié)果截圖:烏御正號用戶名i&it烏御正號用戶名i&it2]ears1954121942^2]ears1954121942^2]aT62137S10UE277hTJLL3^0542159305D7351S4725361J31120542763^0542159305D7351S4725361J3112054276張萌佳6472&1615032^436NULLNULL按總票價(jià)的升序?qū)⒂唵翁柵帕蠸QL按總票價(jià)的升序?qū)⒂唵翁柵帕蠸QL語句為:select訂單號,總價(jià)from訂票信息orderby總價(jià)asc;運(yùn)行結(jié)果截圖:1訂單號總價(jià)07680513217081136317SS134E407580065E9C07GS04noT076801lie8375810ISOg0768082181007S81423211075815232120768033C2130758025S114070807079151753121358查詢從出發(fā)的所有車次的總票價(jià)SQL語句為:selectsum(票價(jià))from車次where出發(fā)地='';運(yùn)行結(jié)果截圖:〔無列名〕334求乘坐車號大于一次的車號SQL語句為:select車號from訂票信息groupby車號havingcount(*)>=2;運(yùn)行結(jié)果截圖:I車號rdK2S4pjX5E0pT1C0AT25連接查詢:查詢號為2乘客的車次信息SQL語句為:select車次.*from用戶,車次,查詢where用戶.號二查詢.號and車次.車號二查詢.車號and車次.發(fā)車日期=查詢.發(fā)車日期and用戶.號=2;嵯MBSM 1.W1慚ami咄(????卿撕 21皿jHTis用哪⑨嵌套查詢:查詢與明同乘一列火車的旅客的號SQL語句:select號from訂票信息where車號in(select車號from訂票信息,用戶where訂票信息.號=用戶.號and用戶名='明');身份證號123數(shù)據(jù)更新插入數(shù)據(jù)向車次表添加一組數(shù)據(jù):“T26〞、“2021-12-15〞、“〞、“22:10〞、“次日06:54〞、“硬座〞、42、118,SQL語句為:insertinto車次values('T26',2021-12-15,'','','22:10','次日06:54',42,118,'硬座');運(yùn)行結(jié)構(gòu)截圖:(所影響的行數(shù)為1行)hMigE酬 it刪 0HiSi** I修改數(shù)據(jù)由于雪天路滑將發(fā)車日期為2021-12-13車次為T25的到達(dá)時(shí)可改為次日09:20SQL語句為:update車次set到達(dá)時(shí)刻='次日09:20'where車號='T25'and發(fā)車日期='2021-12-13';帀mmti和削砌朋@山題二刪除數(shù)據(jù)乘客2由于個(gè)人原因不能乘坐當(dāng)日車次,他選擇退票,請為其刪除信息記錄。SQL語句為:deletefrom用戶where號='2';deletefrom訂票,訂票信息where訂票.訂單號=訂票信息.訂單號and號='2';運(yùn)行結(jié)果截圖:
1訂單號1號出打呂 倖號臨車刖F訂購口陽訂購率為D|riBbLl |37078219EQH273-T25aJia-12-lr2Q1CH12-^1]1E07GEC221£872105412194:140£曲iD…昨201Ch1-23 Ml07CCC47n54£]SSCOTlT3!72022DlDrlO-l201Cb9ET2110OTCPrs2115W19^07127;E55C2riiD^fl-e20ICrT-;911307€?6■53274S]?87CH3lJT.辰站201.>5-2仙wsa2QU0?G8C7732454127010174:T1QCA201^10-L16T9QTWC627032619C71129TIJ1201EM-120C9-12-2012坤0假旳3ZI45T]^FFn7143-ESCZDlDf-S-CZDICrT-^T565076S1O47253t]K:1120W:£2^42O1DH5-220iCH4-£ji囪0766112L&76£1976101IS:XS加2021-9-6eoicne-i307661232175^]S671122H?10CA2OID-J&-92021-10-223350tfflJBU4/5Mh]^i?ZI5:EMa_H0^5-220lir4-^j45076814S2ll21i6EeO32T3!T25201>32-13S010-12-102 232OTCSIS423278127311112:7252QL0-32-13202112-a2£32也n「_目』?■?El-Bn-』>.InnBn-Jvmn目目no3..~9-n「_目』?■?El-Bn-』>.InnBn-Jvmn目目no3..~9-工H5-SI-s..~5._訂單號I訂票方式諮培話話話絡(luò)話曙話貉話話箔咯岡岡阿電電洌電諮培話話話絡(luò)話曙話貉話話箔咯岡岡阿電電洌電FJ電阿電電阿網(wǎng)T&80107&8CJ20T&8040T&8D5QT陰M0T&807076.80807&S0907&8100TB8110T&812OT&013QT&814075615運(yùn)行結(jié)果中已經(jīng)不含乘客2的信息了視圖①建立選擇用網(wǎng)絡(luò)查詢車次用戶的視圖SQL語句為:createviewnetasselect號from查詢where查詢方式='網(wǎng)絡(luò)';27332619891L297621343742196510025<3252112719660B2732636327451987083074T3245619T91D1743501顯S1& 1醜 1恤出腳序盤 1曲護(hù)尬序.rtftj 1頁就E號£iti二卜網(wǎng)剰丑洱蘋式l-K曠中站謹(jǐn)弓FTUltnMElA為垃=?MWJ戛粉理JE185ifrlO:Jj7]EI^3S1W91LZ?tJ34ST4219i6100253flG7KiMUlL2T3:仏養(yǎng)帳M!加能J54〒密誨1仙訂凹昭52MZ^19:fifla27362^7051^:70^07②更新視圖
將號為2的乘客改為1SQL語句為:updatenetset號='';身餡證粵 121S53619820712T248丨£T832E1^09HZST621348T421966100〔E543E42354019&2062152434725361^8112064276521127165£T451^a70B30T41973Z45&19T91017435B刪除視圖SQL語句為:dropviewnet;總之,視圖的操作與表的操作根本一致,在此不必贅述。經(jīng)過一系列驗(yàn)證數(shù)據(jù)庫的調(diào)試正常,可以進(jìn)行數(shù)據(jù)庫的操作。3.4數(shù)據(jù)庫模式定義列名數(shù)據(jù)類型取值約束可否為空說明TrainnoChar〔30〕可車次號StartstationChar〔30〕可起始站EndstationChar〔30〕可目的站StarttimeChar〔30〕可發(fā)車時(shí)間ArrivetimeChar〔30〕可到站時(shí)間PriceMoney〔8〕可票價(jià)AvailableseatInt〔4〕可實(shí)時(shí)座位數(shù)四、系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)4.1模塊簡述本火車管理系統(tǒng)重要的所有模塊主要是分為用數(shù)據(jù)庫的類三個(gè)局部, 下面對三個(gè)個(gè)局部進(jìn)行再分類,共有9個(gè)模塊。模塊類別模塊編號模塊名稱公共模塊模塊功能用戶T——1USER用戶登錄模塊T——2ADDUSER添加用戶車次信息T——3SEARCH查詢車次T——4INSERT插入車次T——5DeleteT——6DELETENO刪除車次號T——7SELL隹酋售票T——8TICKETSELL連接模塊T——9ADOConn連接數(shù)據(jù)庫4.2模塊設(shè)計(jì)下面給出模塊的背景,設(shè)計(jì)思路,算法,界面以與關(guān)鍵代碼,比擬簡單的模塊就僅給界面設(shè)計(jì)以與算法設(shè)計(jì),比擬復(fù)雜的模塊會(huì)給出相應(yīng)的數(shù)據(jù)庫有關(guān)觸發(fā)器,存儲過程和視圖的設(shè)計(jì)。而本系統(tǒng)重的模塊主要有一下幾個(gè):1、用戶模塊User模塊是公共模塊,車次信息和連接模塊也用到User,模塊。user_類是為系統(tǒng)用戶表創(chuàng)立的一個(gè)類:要利用ADO?問數(shù)據(jù)庫,類的成員變量對應(yīng)表的列,類的成員函數(shù)對應(yīng)表的操作。但本系統(tǒng)不是為每一個(gè)表都創(chuàng)立了類。1、其頁面設(shè)計(jì):給用戶一個(gè)好的登錄界面,提供友善的人機(jī)界面,為用戶的使用提供方便。同時(shí)也是為后面用戶操作其他功能提供了權(quán)限依據(jù), 防止出現(xiàn)用戶權(quán)限的不確定造成整個(gè)系統(tǒng)不同模塊的錯(cuò)誤操作,使整個(gè)訂票業(yè)務(wù)遭到破壞。用戶模塊代碼:voidUSER::On0K(){//TODO:AddextravalidationhereUpdateData(1);if(m_user==""||m_psd==""){MessageBox("請?zhí)詈糜脩裘蛎艽a!");}else{ADOConnadoconn;adoconn.OnlnitADOConn();//調(diào)試_bstr_tsqltemp;sqltemp="select*fromaaaaawhereusernamelike'"+m_user+"%'andpasswordlike'"+m_psd+"%'";_RecordsetPtrm_precordset;m_precordset=adoconn.GetRecordSet(sqltemp);adoconn.ExecuteSQL(sqltemp);if(m_precordset->adoEOF==O)〃記錄集沒有移動(dòng)到最后{MessageBox("登入成功");GetDlgltem(ID_SEARCH)->EnableWindow(FALSE);}if(m_precordset->adoEOF!=0){//GetDlgltem(ID_ADDUSER)->EnableWindow(FALSE);}adoconn.ExitConnect();〃CDialog::OnOK();}}2、車次信息模塊車次添加實(shí)現(xiàn)了車次能跟上需求的變化,使得系統(tǒng)管理員能根據(jù)需要添加車次,讓售票員能為購置者提供優(yōu)質(zhì)的效勞。車次添加程序:voidINSERT::。nOK(){//TODO:AddextravalidationhereUpdateData(l);if(m_Trainno=="〞 &m_Startstation=二"" &m_Endstation=二"" &m_Starttime==""&m_Arrivetime=="〞&m_Price=="〞){MessageBox("請完善空格");}else{ADOConnadoconn;adoconn.OnlnitADOConn();//調(diào)試_bstr_tsqltemp;sqltemp="insert into salevalues('"+m_Trainno+"','"+m_Startstation+"','"+m_Endstation+"','"+m_Starttime+"T"+m_Arrivetime+"',20,〞'+m_Price+"')";
〃sqltemp="insertinto〃sqltemp="insertintoemployeesvalues(〞'+employee_id+"T"+employee_name+"T"+sex+"T"+department_id+"T"+title_id+"T"+work_time+"')";//(trainno,startstation,endstation,starttime,arrivetime,availableseat,price)〃_RecordsetPtrm_precordset;〃m_precordset=adoconn.GetRecordSet(sqltemp);adoconn.ExecuteSQL(sqltemp);MessageBox("插入成功");adoconn.ExitConnect();CDialog::OnOK();}}3、刪除車次刪除車次的操作是對添加車次操作的補(bǔ)充, 有了刪除操作才能讓車次添加車次順利的執(zhí)行。刪除車次代碼:voidDELETENO::OnOK(){//TODO:AddextravalidationhereUpdateData(l);ADOConnadoconn;adoconn.OnlnitADOConn();〃調(diào)試_bstr_tsqltemp;sqltemp="deletefromsalewheretrainno='"+m_Trainno+"'";〃_RecordsetPtrm_precordset;〃m_precordset=adoconn.GetRecordSet(sqltemp);adoconn.ExecuteSQL(sqltemp);MessageBox(‘刪除成功");adoconn.ExitConnect();〃CDialog::OnOK();}4、車票出售/預(yù)定在這個(gè)局部模塊中可以實(shí)現(xiàn)對不同車次車票的出售 /預(yù)定功能,并且在頁面對話框中能知道車次的實(shí)時(shí)信息,以便確定該車次的車票還能不能向外面出售或預(yù)定。車票出售/預(yù)定代碼:voidTICKETSELL::DoDataExchange(CDataExchange*pDX){CDialog::DoDataExchange(pDX);〃{{AFX_DATA_MAP(TICKETSELL)//NOTE:theClassWizardwilladdDDXandDDVcallshere//}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(TICKETSELL,CDialog)〃{{AFX_MSG_MAP(TICKETSELL)//NOTE:theClassWizardwilladdmessagemapmacroshere//}}AFX_MSG_MAPEND_MESSAGE_MAP()5、車次查詢此模塊是面向用戶使用的,用戶在購置或預(yù)定車票前可以通過該對話框頁面實(shí)現(xiàn)不同車次在不同站之間的詳細(xì)查詢,可提高用戶得到票的概率,提高用戶在購置或預(yù)定票的效率。車次查詢:voidSEARCH::。nOK(){UpdateData(l);intj=0;intnItem;//清原來的列表紀(jì)錄ADOConnadoconn;adoconn.OnlnitADOConn();m_list.DeleteAllltems();_bstr_tsql;//利用數(shù)據(jù)庫,重新填充紀(jì)錄//sql="execsearch_by_employeename'"+m_name+"〞';〃sql="execsearch_by_employeename'"+m_name+"%'";like〃sql="select *fromemployeejiansuo whereemployee_namelike'"+m_name+"%'";//根據(jù)記錄集,填充列表框if(m_Startstation=="〞&&m_Endstation=="〞&&m_Trainno==""){MessageBox〔"請?zhí)顚戃嚧位蚱鹗己徒K點(diǎn)站"〕;elseif(m_Startstation==""&&m_Endstation==""&&m_Trainno!="")sql="select*fromsalewheretrainno=〞'+m_Trainno+"〞';_RecordsetPtrm_precordset;m_precordset=adoconn.GetRecordSet(sql);while(m_precordset->adoEOF==0)〃記錄集沒有移動(dòng)到最后{nItem=m」ist.lnsertltem(j,(char*)(_bstr_t)m_precordset->GetCollect("trainno"));m_list.SetltemText(nItem,1,(char*)(_bstr_t)m_precordset->GetCollect("startstation"));m_list.SetltemText(nltem,2,(char*)(_bstr_t)m_precordset->GetCollect("endstation"));m」ist.SetltemText(nltem,3,(char*)(_bstr_t)m_precordset->GetCollect("starttime"));m」ist.SetltemText(nltem,4,(char*)(_bstr_t)m_precordset->GetCollect("arrivetime"));m」ist.SetltemText(nltem,5,(char*)(_bstr_t)m_precordset->GetCollect("availableseat"));m」ist.SetltemText(nltem,6,(char*)(_bstr_t)m_precordset->GetCollect("price"));//下移一條記錄m_precordset->MoveNext();}adoconn.ExitConnect();}elseif(m_Startstation!=""&&m_Endstation!=""&&m_Trainno!=""){sql"selectfromsalewheretrainno='"+mTrainno+"'andstartstation='"+m_Startstation+"'andendstation='"+m_Endstation+"'";_RecordsetPtrm_precordset;m_precordset=adoconn.GetRecordSet(sql);while(m_precordset->adoEOF==0)〃記錄集沒有移動(dòng)到最后{nItem=m」ist.lnsertltem(j,(char
*)(_bstr_t)m_precordset->GetCollect("trainno"));m_list.SetltemText(nItem,1,(char*)(_bstr_t)m_precordset->GetCollect("startstation"));m」ist.SetltemText(nltem,2,(char*)(_bstr_t)m_precordset->GetCollect("endstation"));m」ist.SetltemText(nltem,3,(char*)(_bstr_t)m_precordset->GetCollect("starttime"));m」ist.SetltemText(nltem,4,(char*)(_bstr_t)m_precordset->GetCollect("arrivetime"));m」ist.SetltemText(nltem,5,(char*)(_bstr_t)m_precordset->GetCollect("availableseat"));m」ist.SetltemText(nltem,6,(char*)(_bstr_t)m_precordset->GetCollect("price"));//下移一條記錄m_precordset->MoveNext();}adoconn.ExitConnect();}elseif(m_Startstation!=""&&m_Endstation!=""&&m_Trainno==""){andsql="select*fromsalewherestartstation=〞'+m_Startstation+"'endstation='"+m_Endstation+"'";and_RecordsetPtrm_precordset;m_precordset=adoconn.GetRecordSet(sql);while(m_precordset->adoEOF==0)〃記錄集沒有移動(dòng)到最后{nItem=m」ist.lnsertltem(j,(char*)(_bs
溫馨提示
- 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)僅提供信息存儲空間,僅對用戶上傳內(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年演藝行業(yè)管理專業(yè)考試試題及答案
- 2025年網(wǎng)絡(luò)工程與管理知識考試試題及答案
- 2025年經(jīng)濟(jì)學(xué)碩士研究生入學(xué)考試題及答案
- 2025年基礎(chǔ)數(shù)學(xué)知識與應(yīng)用能力考試卷及答案
- 2025年國際標(biāo)準(zhǔn)化與質(zhì)量管理考試試題及答案
- 2025年甘肅省武威市涼州區(qū)金沙鎮(zhèn)招聘專業(yè)化管理大學(xué)生村文書筆試模擬試題帶答案詳解
- 特崗培訓(xùn)日常管理制度
- 特殊工作安全管理制度
- 特殊緊急信息管理制度
- 特殊藥物使用管理制度
- 2025圖解《政務(wù)數(shù)據(jù)共享?xiàng)l例》V1.0學(xué)習(xí)解讀
- 2025年人教版(2024)初中英語七年級下冊期末考試測試卷及答案
- (2025)事業(yè)編考試題庫(附含答案)
- 女性美學(xué)課堂企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力項(xiàng)目商業(yè)計(jì)劃書
- 部編版2024-2025學(xué)年四年級下冊語文期末測試卷(含答案)
- 2025年醫(yī)保政策考試題庫及答案:基礎(chǔ)解讀與醫(yī)保政策法規(guī)試題試卷
- 2025至2030年中國液化設(shè)備行業(yè)投資前景及策略咨詢研究報(bào)告
- 行政-接機(jī)流程及禮儀(定稿)
- 2024 - 2025學(xué)年人教版三年級下冊美術(shù)期末考試試卷及答案
- 上海嘉定區(qū)2025年公開招聘農(nóng)村(村務(wù))工作者筆試題帶答案分析
- 2025長城汽車人才測評答案
評論
0/150
提交評論