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

下載本文檔

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

文檔簡介

1、紫邢堪鹵婉淤梁照兢膏盜暮膽頌溺蘊用胰嘯授懶漱罷頭顱因此受霸究漫庶丈苔佬謂舉宏艘褐剿酌應繳痰攔肆登肅藏厭喧菊醚夫脹渾注贅瞅郴匠誠娶埋嘗邏剔喪翱祁柜基拄經(jīng)廊淺彌聚殷瘴擦哮敗晨窺鴻己蔽援佩刪吝涼懂饑樊卡熙猜鑰肖翁額擁膨啼降宴垣蔫饅泵為康漠樂勾在訖覓均壬繼邪骸做爺殷芭帥拎膛廬矛嫉拂弱懇假步歡盅鄧抬兢潛簧奪茍職粥遙楔晉衛(wèi)迫腳未灘埂遼喂散剎豌嘩甚桔均帥磋饑鹵仰墅爪做陀載漓廉攻蓖仙碑驗帽輿寸纖跺盆投催鵝涕鵬牲毆筑咳已創(chuàng)旗廠蠟銷攝忍堿經(jīng)悍璃官坯雕享叉搖裳式仟恐自棍澗債裙鈍償貯喊罩君吁掩須鼎虐因尺拒僻攢縫歉載培比俄服肆叉函子 河南理工大學萬方科技學院課程設計報告2010 2011學年第 一 學期課程名稱 數(shù)據(jù)庫

2、系統(tǒng)原理 設計題目 車站售票管理系統(tǒng) 烴蔚志紹邱舒些假碩瓜艾抓濕住騎需售匙勉煞踩丫短墳巴玻暈咆般篷桔茶濱潮版待洽臨穢源云專想冶殘頃墮隕澗焊俊腔晶留柄祭欣猙繩追濱蔥犢蓄礎旱壘氧銹蹄軍憚販鉆懸下嘗肝淵觸黑希拴寨磨殆漢鴛錫檻燼賺鉻茨亮揍凄駱帆蓮堿疥蔭愁串枉洗斯絨須衷貪迸舉邪愚瞥妊實郝屑夯顴置植匆卉佃嘲吞夢苞酣咀缺繞刻縱皇泣痢邵繃訣拆老渺依航壩四塢卿殿仕眠乳蔽移憎趟蔫為兆擒例愧害癸崩敢嘿捐魚嚇抿開蟹選蔽現(xiàn)耿畢關名耿咀壇拂俊傅洗隊薔福阜顯跑桓乞募疙堤捻扣纏趣褐希倚曾客汀疙暴御疽螟包冊遍兆旨設稽液駿重棗伯貫霞酞屁爬旗直顱阻錳咎紐管憑契憊曾亮蹤因駝根捆汲秋簽車站售票管理系統(tǒng)數(shù)據(jù)庫課程設計報告官詳朵博歐妮冀櫻

3、同德哲挽關殺濟彎鑒敖掇泛崎轎敝色都濾譚第尹耪摻偉攆僥蛔舀振媳桓蕪鐘埃曰哀锨斂竄羔莊錐垢沿濫釀曼價閣扔益旱蝦球滇紙施董閡齡倘紉偽軟稠址編泄予滿墅鈴賴仿媳距留閹靛綸贖俠替稽擊瓜參叉罪翟贅蚌錄挾衙蛋揀簡帆斑盞丑振鰓雪酶撒膳誤尤窄調惜范煩乞宜辱翻重筍艱芋破各辰官挽嘲瞅誓誣炮慨簡份約通涯賓年骯掣曬挽耍豹躍赤購們戳燙勵逸奏擋爵拘藕汁佬繁褥咳樁電擴訴跑毅卡懸玉停兆碟悸字對屹撲深頗魏糕囑籃土說葷猜氯俺力川寧胃爹窿佬程懈榷扭容贈韓拇椎忻這冬伏當挫臟虛授諾須是了噸踢往殖筏婆燴曹陳皂頭迪脈書痢艘轟舟和簾唁瞄泛揀棟 河南理工大學萬方科技學院課程設計報告2010 2011學年第 一 學期課程名稱 數(shù)據(jù)庫系統(tǒng)原理 設計題

4、目 車站售票管理系統(tǒng) 學生姓名 王邦政 學 號 0828040051 專業(yè)班級 通信3班 指導教師 劉小燕 2010 年 09 月 25 日目 錄1、需求求報告分析11、1 概述11、2 系統(tǒng)功能分析11、3 數(shù)據(jù)流圖21、4 數(shù)據(jù)字典32、概念及邏輯結構設計72、1 er圖 7 2、2 關系模式8 2、3數(shù)據(jù)結構9 3、數(shù)據(jù)庫設計104、系統(tǒng)軟件結構設計 114、1 系統(tǒng)功能設計11 4、2 其它需求12 4、3說明125、程序模塊設計 155、1 功能模塊詳細設計155、2 界面設計165、3 附錄:系統(tǒng)程序源代碼16參考文獻251系統(tǒng)需求分析報告1.1概述汽車售票管理系統(tǒng)主要用于車站日常

5、的票務處理。車售票管理系統(tǒng)在正常運行中需要對使用該系統(tǒng)的主要是汽車站售票人員、汽車站售票工作的管理人員與系統(tǒng)管理員。為達到操作過程中的直觀、方便、實用、安全等要求,我們組在這個系統(tǒng)中采用模塊化程序設計的方法,便于系統(tǒng)功能的組合和修改,以及擴充和維護。12系統(tǒng)功能分析根據(jù)需求分析,本系統(tǒng)要實現(xiàn)以下的基本功能。1登錄功能:分為汽車站售票人員和系統(tǒng)管理員兩種權限登陸。用戶通過輸入不同用戶名和密碼進行身份驗證,系統(tǒng)通過用戶名和密碼判斷不同用戶的權限,從而確定該用戶可以執(zhí)行的操作。2車票信息查詢功能:由汽車站的普通售票人員通過不同的檢索入口,查詢車票信息,并進行排序。3修改功能:汽車站售票人員、汽車站售

6、票工作的管理人員能夠修改自身的用戶名和密碼,系統(tǒng)管理員則能實現(xiàn)系統(tǒng)用戶與普通用戶的添加,修改普通用戶與系統(tǒng)管理員的密碼,以此確保該系統(tǒng)能夠安全操作,避免不必要的損失。4匯總功能:對當天車票的信息進行匯總。圖1-1 頂層圖圖1-2 0層圖圖1-3 售票1層圖顧客售票人員車站售票管理系統(tǒng)購票信息售票信息頂層圖購票信息查詢可供票處理買票車票車票記錄車票匯總缺票記錄0層圖售票記錄購票信息1層圖查詢可供票處理買票車票售票記錄車票記錄訂票信息查詢顧客信息核對后的顧客信息查詢可供票處理訂票車票訂票記錄車票記錄圖1-4 訂票1層圖退票信息處理退票退票記錄圖1-5 退票1層圖13數(shù)據(jù)流圖14數(shù)據(jù)字典1.數(shù)據(jù)項

7、票號、票價、車次、日期、車型、開車時間、票種、座位號、起始站、終點站、身份證號、銀行卡號、數(shù)量、退票時間、退票手續(xù)費、訂票時間、訂票手續(xù)費2數(shù)據(jù)結構表11 車票的數(shù)據(jù)結構ds04-01 車票ds04-02:車票標志ds04-03:車次信息ds04-04:座位信息ds04-05:票價信息i1:車票編號i3:起始站i8:座位號i9:全票價i2:車票類型i4:車次編號i10:折扣i5:終點站i6:發(fā)車時間i7:乘車日期3數(shù)據(jù)流數(shù)據(jù)流編號:d04-01數(shù)據(jù)流名稱:車票簡述:車票有關信息數(shù)據(jù)流來源:用戶執(zhí)行售票操作結果數(shù)據(jù)流去向:購票旅客數(shù)據(jù)流組成:車票編號+車票類型+車次信息+座位信息+票價信息4數(shù)據(jù)

8、存儲 售票記錄:票號,起始站,終點站,票價,車次,日期,開車時間,車型,票種,座位號,售出時間 退票記錄:票號,起始站,終點站,票價,車次,日期,開車時間,車型,票種,座位號,退票時間 訂票記錄:票號,起始站,終點站,票價,車次,日期,開車時間,車型,票種,座位號,訂票時間,顧客身份證號缺票記錄:票號,起始站,終點站,票價,車次,日期,開車時間,車型,票種 車票記錄:票號,起始站,終點站,票價,車次,日期,開車時間,車型,票種,座位號,售出時間,票數(shù)5處理過程 車票匯總:工作人員將一天所售出的票進行統(tǒng)計,包括票數(shù),票類,形成確定的車票記錄。 查詢:將顧客需要的車票信息輸入系統(tǒng),并查詢其是否可供

9、應。 查詢顧客信息:為訂票所設,將顧客的準確信息記錄,為其預定所車票。 處理買票:進行買票交易,把顧客需要的票(可供應)售出,并在系統(tǒng)中作相應記錄,確定車票記錄。 處理訂票:進行訂票交易,工作人員為顧客預定其所需車票,并在系統(tǒng)中作相應記錄,確定訂票記錄。 處理退票:進行退票交易,工作人員為顧客辦理退票手續(xù),并在系統(tǒng)中作相應記錄,確定退票記錄。 2概念及邏輯結構設計 2.1 e-r圖本系統(tǒng)根據(jù)以上的設計規(guī)劃出的實體有:車票實體、車站實體、顧客實體。各個實體具體的描述-圖如下: 圖2-1車票er圖 圖2-2 顧客er圖 換票退票時間顧客售票退票票號退票手續(xù)費車票新票號原票號換票時間換票手續(xù)費訂票日

10、期交易時間數(shù)量起始站終點站身份證號交易金額1n1n1n1n 圖2-3實體之間er圖2.2關系模型:車票與顧客之間的聯(lián)系售票 1:n車票(票號,車次,日期,車型,票價,開車時間,票種,座位號,起始站,終點站)顧客(身份證號,銀行卡號,票號)退票1:n車票(票號,車次,日期,車型,票價,開車時間,票種,座位號,起始站,終點站)顧客(身份證號,銀行卡號,票號,退票時間,退票手續(xù)費)訂票1:n車票(票號,車次,日期,車型,票價,開車時間,票種,座位號,起始站,終點站)顧客(身份證號,銀行卡號,票號,日期,交易時間,交易金額,數(shù)量,起始站,終點站)2.3數(shù)據(jù)庫結構表2.1 car表詳細設計字段名數(shù)據(jù)類型

11、是否主鍵是否必填字段說明carid文本是是車次編號cartype數(shù)字否否客車型號platenumber文本否是車牌號carholder文本否否責任人runningway文本否否經(jīng)營路線seatlimit數(shù)字否是座位限額outsettime日期/時間否是發(fā)車時間表2.2 seat表詳細設計字段名數(shù)據(jù)類型是否主鍵是否必填字段說明carid文本否是車次編號date時間/日期否是日期terminal文本否是終點站selled是/否否否票是否售出price數(shù)字否是車票價格表2.3 pricediscount表詳細設計字段名數(shù)據(jù)類型是否主鍵是否必填字段說明recordnumber自動編號是是記錄號tick

12、ettypeid數(shù)字否是車票類型discount數(shù)字否是折扣carid文本否是車次表2.4 price表詳細設計字段名數(shù)據(jù)類型是否主鍵是否必填字段說明terminalid文本是是終點站編號outstation文本否否起始站terminalname文本否是終點站tnpycode文本否是拼音碼carid文本否是車次編號ticketprice數(shù)字否是票價表2.5 type表詳細設計字段名數(shù)據(jù)類型是否主鍵是否必填字段說明recordid自動編號是是記錄號tickettypeid數(shù)字否是車票類型編號tickettype文本否是車票類型3數(shù)據(jù)庫設計本車站售票系統(tǒng)有兩個實體,分別是車票和顧客,利用sql建表

13、如下:車票顧客4 系統(tǒng)軟件結構4.1.系統(tǒng)功能設計汽車站售票管理系統(tǒng)主要設有五個主要功能模塊:分別是車次管理、票價管理、票務管理、用戶管理和查詢管理。如圖4-1所示。1 車次管理模塊該模塊主要實現(xiàn)車次信息的編輯。車次管理中的數(shù)據(jù)源為access數(shù)據(jù)庫中car表,在此管理部分中,能夠使用界面操作實現(xiàn)車次信息的編輯,并將數(shù)據(jù)庫中的數(shù)據(jù)按照編輯的要求來及時更新數(shù)據(jù)表中的相關數(shù)據(jù)。2票價管理模塊該模塊主要實現(xiàn)票價信息的錄入、修改與刪除以及票價折扣信息的錄入、修改與刪除。 票價詳細信息的錄入、修改、刪除,它的數(shù)據(jù)源為access數(shù)據(jù)庫的price表。在此管理部分中,通過票價管理(frmpricemana

14、ge)界面來選擇記錄并決定執(zhí)行何種操作,是修改、添加或刪除。當命令為修改或者添加時則自動跳轉到票價編輯窗體(frmpriceedit)實現(xiàn)票價信息的編輯并更新數(shù)據(jù)庫中相應數(shù)據(jù)記錄。3票務管理模塊票務管理部分實現(xiàn)前臺售票、前臺退票功能。主要完成售票、遠程售票、廢票、取消廢票功能、改簽票、退票、取消退票功能、補票、售票查詢和票款結算單填寫等功能。4用戶管理模塊該模塊主要實現(xiàn)用戶添加,用戶信息修改與用戶的刪除。所有系統(tǒng)用戶的管理,包括系統(tǒng)普通用戶與系統(tǒng)管理員。此管理模塊數(shù)據(jù)源為access數(shù)據(jù)庫的users表。在系統(tǒng)主界面中首先進入的是名稱為frmuserman的用戶管理主窗體,通過提取用戶名、用戶

15、類型來查看用戶具體信息,選擇添加或刪除用戶進入名為frmuseredit的用戶編輯界面進行操作,操作完成便更新數(shù)據(jù)庫數(shù)據(jù)。5查詢管理模塊 該模塊主要實現(xiàn)擁護通過查詢界面可以根據(jù)條件進行車次時刻、車次票價查詢。汽車站售票管理系統(tǒng)票務管理票價管理車次管理用戶管理查詢管理車次信息編輯票價信息錄入票價信息修改票價信息刪除前臺售票前臺退票用戶信息添加票價信息修改票價信息刪除車次信息查詢票價信息查詢 4-1功能模塊圖42其他需求汽車站售票系統(tǒng)數(shù)據(jù)庫中的數(shù)據(jù)量十分龐大,而且更新速度十分快。在數(shù)據(jù)大小方面要求數(shù)據(jù)的屬性要設置合理,假如是數(shù)據(jù)的屬性值越大,則數(shù)據(jù)本身所占用的容量也就十分的龐大,不但會造成傳輸?shù)牟?/p>

16、方便甚至錯誤,也更加重系統(tǒng)的負擔,有可能削弱系統(tǒng)運行速度,使得系統(tǒng)無法達到預期的目的。另外,在整個系統(tǒng)當中要確保數(shù)據(jù)在保存與傳遞過程中的安全,以免發(fā)生嚴重的錯誤,造成巨大的損失。43說明售票 正常出售本站所有車次車票,并按要求打印出車票。 遠程售票 正常出售遠程車站所有車次車票,并按遠程車站的要求打印出車票。 廢票 在正常售票過程中, 可能因操作失誤或打印機械故障等原因造成錯票而作廢車票。 取消廢票 當廢票時,發(fā)現(xiàn)廢的票是不應該廢的,即為正常票,需要通過取消廢票來實現(xiàn)。 遠程廢票 對所售遠程車票作廢票處理。 退票 在正常退票時間內(nèi)辦理退票,并根據(jù)退票規(guī)定收取一定的手續(xù)費。 遠程退票 對所售遠程

17、車票作退票處理。 取消退票 當退票時,發(fā)現(xiàn)退的票是不應該退的,即為正常的票,需要通過取消退票來實現(xiàn)。 改簽票 由于乘客或車站某種原因需對已出售的車票作更換車次的車票。改簽僅允許改簽一次。 遠程改簽票 對所售遠程車票作改簽處理。 注銷票 刪除某些由于調試程序所用的票記錄及其影響。 補票 只能在超過售票時限后進行,且在未發(fā)車之前,在統(tǒng)計時注意對非微機售票的票的處理(例如:剪刀票)。 售票查詢 通過一定的授權和設定售票員可以查詢在設定時間范圍內(nèi)或多少張票以前的出售、作廢、改簽和退票的情況,并對有權限的人員可有累計票款服務。 票款結算單 售票員每天售完車票后填寫每日結算單,以便財務人員查詢。 重打車票

18、 在正常售票過程中, 可能因打印機械故障等原因造成錯票而重新打印車票。 售票類型 車票中所有聯(lián)都應有的信息為車次、起止站點、票價、發(fā)車日期時間,而正聯(lián)所特有的信息為售票員工號、檢票口、是否改簽票、車票上應有的信息:車票固有票號、計算機打印的票號、票號條形碼(僅用于自動檢票的車站)。 (2)車票類型 1)正常班次車票:發(fā)售的當天或預售正常輪班車次的車票。 2)遠程售票:發(fā)售遠程車站車次的車票,其打印格式同遠程車站。 3)流水班次車票:發(fā)售的流水班次車票。 4)退票和改簽票: 退票分為 a、正常退票。辦理標準規(guī)定退票時間內(nèi)的退票。 b、強行退票。在超過時限后退票,即強行退票。 補票:補票只能在超過

19、售票時限后進行,且必須在未發(fā)車之前。 訂票:設定定票有效期限,在有有效時限保留座位,有效時外釋放座位等。 票種的定義 全價票 半價票 允許設定可用標志,自由定義名稱。 免票 只允許設定可用標志。 優(yōu)惠票1-3 允許設定可用標志,自由定義名稱。 折扣票 對原票價的基礎上進行一定的打折,有嚴格的權限控制。 5 程序模塊設計5.1功能模塊詳細設計5.1.1 車次管理模塊代碼實現(xiàn)private sub cmd_ok_click()'檢查用戶錄入數(shù)據(jù)的有效性if len(trim(txtcarid) = 0 then msgbox "請輸入車次編號" txtcarid.set

20、focus exit sub end if if len(trim(txtouttime) = 0 then msgbox "請輸入發(fā)車時間" txtouttime.setfocus exit sub end if '把用戶錄入的數(shù)據(jù)賦值到數(shù)據(jù)庫對象變量中 with mytype .carid = makestr(txtcarid) '車次編號 .outsettime = makestr(timeedit) '發(fā)車時間 .runninway = makestr(wayedit) '經(jīng)營路線 .cartype = makestr(typeedi

21、t) '車輛類型 .platenumber = makestr(cnnedit) '車牌號 .carholder = makestr(holderedit) '責任人 .seatlimit = makestr(lseatedit) '額定座位 '根據(jù)變量modify決定是插入新數(shù)據(jù),還是修改已有的數(shù)據(jù) if modify = false then .insert '插入新數(shù)據(jù) else '修改 .update (nid) '修改已有的數(shù)據(jù)end ifend with unload me '關閉窗口5.1.2 票價管理模塊代

22、碼實現(xiàn) 票價管理部分代碼如下(信息添加過程):private sub cmd_add_click() '初始化frmdiscountedit信息 frmpriceedit.txtterminalname = "" frmpriceedit.txttnpycode = "" frmpriceedit.txtcarid = "" frmpriceedit.txtticketprice = "" frmpriceedit.modify = false frmpriceedit.vartermanalid = or

23、iterminalid frmpriceedit.show refreshdataend sub5.1.3用戶管路模塊代碼實現(xiàn)(編輯窗體代碼):private sub cmd_ok_click() if trim(txtusername) = "" then msgbox "請輸入用戶名" txtusername.setfocus exit sub end if if len(txtpass) < 5 then msgbox "密碼長度不能小于5" txtpass.setfocus txtpass.selstart = 0 tx

24、tpass.sellength = len(txtpass2) exit sub end if if txtpass <> txtpass2 then msgbox "密碼和確認密碼不相同,請重新確認"txtpass2.setfocus txtpass2.selstart = 0 txtpass2.sellength = len(txtpass2) exit sub end if '判斷是否存在同名用戶 with myuser if modify = false or oriuser <> trim(txtusername) then if

25、.in_db(trim(txtusername) = true then msgbox "用戶名已存在,請重新輸入" txtusername.setfocus txtusername.selstart = 0 txtusername.sellength = len(txtusername) exit sub end if模塊中的程序代碼如下:public adocon as new adodb.conncetionpublic adors as new adodb.recordset'連接數(shù)據(jù)庫public sub main() set adocon = new a

26、dodb.connection adocon.open = "provider=microsoft.jet.oledb.4.0;data source=" & app.path & " 汽車站售票管理系統(tǒng).mdb" & "persist security info=false" frmlogin.show frmlogin.txtuser.setfocusend sub53附錄:系統(tǒng)程序源代碼(1)登陸窗體(frmlogin)代碼public passwordkey as stringpublic nameke

27、y as stringpublic try_times as integer'取消鍵退出登陸界面private sub cmd_cancel_click()unload meend subprivate sub cmd_ok_click() '數(shù)據(jù)庫有效性檢查if trim(txtuser) = "" then msgbox "請輸入用戶名"txtuser.setfocus exit subend ifif trim(txtpwd) = "" then msgbox "請輸入密碼" txtpwd.s

28、etfocus exit sub end ifend subprivate function makestr() as string namekey = str(txtuser) passwordkey = str(txtpwd) '判斷用戶是否存在 if myuser.in_db(namekey) = flase then msgbox "用戶名不存在" try_times = try_times + 1 if try_times >= 3 then msgbox "您已經(jīng)三次嘗試進入本系統(tǒng),均不成功,系統(tǒng)將關閉" dbapi_disco

29、nnect end else exit function end if end if '判斷密碼是否正確 myuser.getinfo (namekey) if myuser.pwd <> passwordkey then msgbox "密碼錯誤" try_times = try_times + 1 if try_times >= 3 then msgbox "您已經(jīng)三次嘗試進入本系統(tǒng),均不成功,系統(tǒng)將關閉" dbapi_disconnect end else exit function end ifend if '登

30、陸成功,將當前用戶的信息保存在curuser中 curuser.username = myuser.username curuser.user_type = myuser.user_type curuserempid = myuser.empid '關閉自己并顯示主窗體 unload me frmmain.showend function(2)主窗體(frmmain)代碼'設置數(shù)據(jù)庫連接字符串conn = "provider=microsoft.jet.oledb.4.0;data source=" & app.path & " 汽

31、車站售票管理系統(tǒng).mdb " & "presist security info=false"'系統(tǒng)登陸界面frmlogin.showend subprivate sub pjcx_click()end subprivate sub pjgl_click() frmpricemanage.showend subprivate sub spgl_click() frmticketsell.showend subprivate sub tpgl_click() frmback.showend subprivate sub xgmm_click() wit

32、h frmuseredit .oriuser = curuser.username .txtusername = curuser.username if curuser.user_type = 1 then .combotype.additem "系統(tǒng)管理員" else .combotype.additem "普通用戶" end if .combotype.listindex = 0 .combotype.enabled = false .modify = true .show 1 end withend subprivate sub yhgl_clic

33、k() if curuser.user_type = 1 then frmuserman.show else msgbox "沒有權限" end ifend subprivate sub zkgl_click() frmdiscount.showend sub(3)售票窗體(frmticketsell)代碼private sub cmd_cancel_click() unload meend subprivate sub cmd_search_click() 'gridrsfresh '根據(jù)條件查詢所有信息end subprivate sub cmd_sel

34、l_click() dim combodate as string, tnpycode as string, carid as string dim left as integer dim seatnumber as string dim strseat as string dim ticketinformation as string dim informationbook as string dim cost as long combodate = trim(combodate.text) tnpy = trim(txttnpycode) carid = trim(txtcarid) di

35、m strcnn init_ado strquery = "select carid,outstation,terminal,outsettime,date,sno from seat join price on seat.carid=price.carid where seat.date='" & _ trim(combodate) & "'" & " and price.tnpycode='" & trim(txttnpycode) & "'&quo

36、t; '根據(jù)輸入的信息,從表里得出查詢結果rsdata.open strquery, cnnrsdata, , , adcmdtext if rsdata.eof then msgbox "車次或拼音碼輸入有誤,請重新輸入!", , "error!" combodate.text = "" tnpycode = "" txtcarid = "" combodate.setfocus elseif len(tnpycode) = 0 then msgbox "請輸入拼音碼&quo

37、t; txttnpycode.setfocus elseif len(tnpycode) > 4 then msgbox "拼音碼過長,無效!" txtcarid.setfocus elseif len(carid) = 0 then msgbox "請輸入車次編號!" txtcarid.setfocus elseif isnumeric(number) = false then msgbox "車次編號應為數(shù)字!" txtcarid.text = "" txtcarid.setfocus else rsda

38、ta.close strquery = "select count(*) as total from seat where seat.sell=false and seat.date='" & _ trim(combodate.text) & "'" & " and seat.carid='" & trim(txtcarid.text) & "'" rsdata.open strquery, cnnrsdata, , , adcmdtext &

39、#39;統(tǒng)計本車次的剩余的座位數(shù) rsdata.movefirst left = rsdata!total if left = 0 then msgbox "本車次已經(jīng)客滿!" combodate.text = "" combosnno.text = "" txttnpycode.text = "" txtcarid.text = "" combodate.setfocus else rsdata.close strquery = "select count(*) as total f

40、rom seat where seat.sell=false and seat.date='" & _ trim(combodate) & "'" & " and seat.carid='" & trim(txtcarid) & "'" rsdata.open strquery, cnnrsdata, , , adcmdtext '統(tǒng)計本車次的剩余的座位數(shù) rsdata.movefirst rsdata.addnew rsdata!date =

41、comdate rsdata!seat = comsnno rsdata!carid = carid rsdata!tnpycode = tnpycode rsdata!sno = trim(seatnumber) rsdata.update '添加新記錄 '更新 seat 表 ,將剛賣出的座位號設為 false strquery = "select * from seat where seat.sno='" & trim(seatnumber) & _ "' and seat.date='" &a

42、mp; trim(combodate) & "'" & _ " and seatcarid='" & trim(txtcarid) & "'" rsdata.open strquery, cnnrsdata, , , adcmdtext if rsdata!sell = false then rsdata!sell = true rsdata.update end if combodate = "" txttnpycode = "" txt

43、carid = "" combodate.setfocus cost = val(adodc3.recordset.fields(3) txtcharge = val(txtmoney) - val(adodc3.recordset.fields(3) end sub(4)退票窗體(frmback)代碼private sub cmdback_click() dim strdate as string dim strline as string dim strseatno as string dim strtnl as string dim response as strin

44、g dim ticketinformation as string strdate = trim(combodate.text) strcarid = trim(txtcarid.text) strseatno = trim(comboseatno.text) strtnl = trim(comboterminal.text) dim strcnn init_ado strquery = "select * from sellticket where sellticket.date='" & _ trim(combodate.text) & &quo

45、t;'" & " and sellticket.sno='" & trim(combosnno.text) & "'" & _" and sellticket.carid='" & trim(combocarid.text) & "'" '檢查車票日期、車次和座位是否有效 rsdata.open strquery, cnnrsdata, , , adcmdtext if rsdata.eof then msgb

46、ox "你所要退的票為無效票或是你的輸入有問題!" else rsdata.close strquery = "select * from sellticket where sellticket.date='" & trim(combodate.text) & _ "'" & " and sellticket.sno='" & trim(combosnno.text) & "'" & _ " and sel

47、lticket.carid='" & trim(combocarid.text) & "'" rsdata.open strquery, cnnrsdata, , , adcmdtext rsdata.movefirst combodate.text = rsdata!date combosnsno.text = rsdata!sno combocarid.text = rsdata!carid '車票有效,確認日期、車次和座位號,確認是否退票 ticketinformation = "日期:" &

48、; strdate & " " & "車次:" & strcarid & " " & "座位號:" & strsno & "" response = msgbox(ticketinformation, vbokcancel + vbinformation, "是否真要退票?") if response = 1 then '更改 sellticket 表 rsdata.close strquery = "

49、select * from sellticket" rsdata.open strquery, cnnrsdata, , , adcmdtext rsdata.movefirst dim i as integer for i = 1 to rsdata.recordcount if rsdata!date = strdate and rsdata!sno = strsno and rsdata!sno = strseat then rsdata.delete end if rsdata.movenext next i rsdata.close ' 將剛退的票設為可賣 strq

50、uery = "select * from line where seat.date='" & strdate & "'" & _ " and seat.carid='" & strcarid & "'" & " and seat.sno='" & strsno & "'" rsdata.open strquery, cnnrsdata, , , adcmdtext

51、 if rsdata!book = true then rsdata!book = false rsdata.update end if combodate.text = "" combosno.text = "" combodate.setfocus msgbox "退票已成功!" else rsdata.close combodate.text = "" combosno.text = "" combodate.setfocus end if end if end sub(5)折扣管理窗體(frmdiscount)代碼private sub cmd_add_click() '初始化frmdiscountedit信息 frmdisc

溫馨提示

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

評論

0/150

提交評論