freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于bs架構(gòu)的火車站售票管理系統(tǒng)(已改無錯字)

2022-10-26 09:28:15 本頁面
  

【正文】 第 22 頁 吉林大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 第 5 章 系統(tǒng)實(shí)現(xiàn) 本章主要講如何在前面分析和設(shè)計(jì)的基礎(chǔ)上通過 和sqlserver2020 來實(shí)現(xiàn)售票 系統(tǒng)。下面將詳細(xì)介紹每個(gè)功能模塊是如何實(shí)現(xiàn)。 在講系統(tǒng)實(shí)現(xiàn)之前,現(xiàn)講一下 是如何對數(shù)據(jù)庫進(jìn)行操作的,因?yàn)楸鞠到y(tǒng)的所有模塊基本上都涉及到數(shù)據(jù)庫操作。 SQLserver2020 數(shù)據(jù)庫屬于關(guān)系型數(shù)據(jù)庫,而關(guān)系型數(shù)據(jù)庫中最重要的也是最基礎(chǔ)的是數(shù)據(jù)表 ,數(shù)據(jù)表是一系列相關(guān)數(shù)據(jù)的集合,每張數(shù)據(jù)表可分為行和列,每一行是一條記錄,每一列是一個(gè)字段,為了存儲數(shù)據(jù),可以建立相應(yīng)的數(shù)據(jù)表,使得數(shù)據(jù)以一條一條的記錄方式存儲在數(shù)據(jù)表中,當(dāng)然這些都是用數(shù)據(jù)庫管理軟件來實(shí)現(xiàn)的。 數(shù)據(jù)庫和數(shù)據(jù)表創(chuàng)建好后,我們就可以對數(shù)據(jù)庫進(jìn) 行讀寫操作, 是用 來對數(shù)據(jù)庫進(jìn)行操作的, 是一組有 .NET Framework 提供的對象類的名稱,用于數(shù)據(jù)存儲中的數(shù)據(jù)交互,需要注意的是, 使用的是數(shù)據(jù)存儲的概念,而不是數(shù)據(jù)庫的概念,就是說, 不但可以處理數(shù)據(jù)庫中的數(shù)據(jù) ,還可以處理其他存儲方式中的數(shù)據(jù),例如 XML 格式, Excel 格式和文本文件格式中的數(shù)據(jù)。 與 ado 相比有更大的可伸縮性和互操作性,它的一大特點(diǎn)是可以對斷開的數(shù)據(jù)集進(jìn)行操作。在 Web 應(yīng)用程序中,由于用戶在使用網(wǎng)頁訪問數(shù)據(jù)庫時(shí),網(wǎng)絡(luò)一般是斷開的,只有當(dāng)用戶發(fā)出請求時(shí)才與數(shù)據(jù)庫建立連接,一旦請求完畢,就斷開連接,這樣做的最大好處就是可以節(jié)約服務(wù)器的資源,所以 這個(gè)特性可以很大程度上提高應(yīng)用程序的效率。 建立數(shù)據(jù)庫連接的方法很多,如果使用的 OLE DB 編程接口,就要使用 OleDbConnection 對象,如果使用的是 SQL Server 編程接口,就要使用 Sqlconnection 對象(本系統(tǒng)使用的就是 Sqlconnection 對象) [3]。 如果要與數(shù)據(jù)庫中的某一張表建立連接,在服務(wù)器資源管理器中找到 吉林大學(xué)畢業(yè)論文 第 23 頁 吉林大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 對應(yīng)的表,把 它拖到對應(yīng)的頁面中去,系統(tǒng)會自動生成 sqlDataAdapter對象和 sqlConnection 對象,我們可以用 sqlConnection 來生成數(shù)據(jù)集dataset 對 sqlDataAdapter 按照提示向?qū)ё龊唵蔚呐渲茫涂梢栽诔绦蚶镎{(diào)用它。 登陸模塊 實(shí)現(xiàn)原理 用戶輸入用戶名和密碼點(diǎn)擊登錄后,系統(tǒng)首先判斷用戶名和密碼是否為空,若為空,則顯示輸入信息不完整,若都不為空,則以用戶名查詢用戶表,將查詢到的信息填入數(shù)據(jù)集,若數(shù)據(jù)集中信息小于一行,則用戶非法,反之,則登陸成功,進(jìn)入系統(tǒng)頁面。 關(guān)鍵代碼 點(diǎn)擊 ” 登陸 ” 按扭后執(zhí)行下面代碼: private void Button_denglu_Click(object sender, e) { if(()==Closed) ()。 // 如果數(shù)據(jù)庫連接狀態(tài)為關(guān)閉,打開數(shù)據(jù)庫連接 if(()!=amp。amp。.Trim()!=) //如果用戶名和密碼欄不為空 { string sql=select * from [user] where 用 戶 名=39。+()+39。and 密碼=39。+()+39。 吉林大學(xué)畢業(yè)論文 第 24 頁 吉林大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 //構(gòu)造查詢語句:以用戶名為條件查詢數(shù)據(jù)庫, =sql。 ()。 //把查詢結(jié)果填充到數(shù)據(jù)集里面 if([0].0) //如果查詢結(jié)果不為空 { Session[username]=()。 // 把當(dāng)前用戶名紀(jì)錄在 Session[username]。 ()。 //跳轉(zhuǎn)到系統(tǒng)主界面。 } else (this,用戶名或密碼輸入有誤,請重新輸入! )。 //如果查詢結(jié)果為空,提示錯誤信息。 } else { (this,用戶名或密碼輸入不完整! )。 //如果用戶名和密碼欄由空值,提示錯誤信息。 Session[username]=null。 } 吉林大學(xué)畢業(yè)論文 第 25 頁 吉林大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 } 注冊模塊 實(shí)現(xiàn)原理 注冊模塊里有兩種注冊方式:代售點(diǎn)注冊和企業(yè)用戶注冊。代售點(diǎn)指的是火車票售票窗口,企業(yè)則指的是學(xué)校,公司等企業(yè)類型用戶。這兩種不同的注冊方式要求用戶填寫的注冊信息不同,但是它們的注冊信息是存放在同一張用戶表里面的。系統(tǒng)從用戶表里的兩個(gè)字段來區(qū)分兩種注冊方式:一是“代售點(diǎn)編號”字段,如果是代售點(diǎn)注冊,則這里有系統(tǒng)自動分給的一個(gè)編號,如果是企業(yè)用戶注冊,該字段為空;二是通過“用戶類型來區(qū)分”,如果是代售點(diǎn)注冊,用戶類型為“ 1”,如果是企業(yè)用戶注冊,該字段值為“ 2”,在注冊頁面當(dāng)用戶點(diǎn)擊兩個(gè) RadioButton 按鈕:代售點(diǎn)注冊和企業(yè)用戶注冊,系統(tǒng)會自動把這兩個(gè)組件的 AutoPostBack 屬性的值都為 True,并且它們 Grounpname 相同,點(diǎn)擊兩個(gè) RadioButton 出現(xiàn)的用戶信息填寫框不同。這里是把兩種用戶注冊信息放到一個(gè)頁面里,在頁面的 page_load 事件里,判斷是那種注冊方式,顯示信息欄。 當(dāng)用戶點(diǎn)擊確定(注冊)按鈕時(shí),系統(tǒng)首先判斷頁面上所有的信息欄有沒有空,有空則提示“ 信息輸入不完整”,否則進(jìn)入下一步判斷,用戶注冊頁面這里要求用戶名 616 個(gè)字符,密碼 816 個(gè)字符,如果輸入信息都滿足條件,把用戶的注冊信息存儲到用戶表里面,然后系統(tǒng)跳轉(zhuǎn)到注冊成功頁面,然后自動回到用戶登錄頁面,這里也可以手動點(diǎn)擊回到用戶登錄頁面。 Button_queding_Click 事件(提交事件) ◆ Button_queding_Click 事件的核心代碼如下: =insert into [user] (序號 ,用戶名 ,密碼 ,聯(lián)系方式 ,負(fù)責(zé)人 ,代售點(diǎn)編號 ,具體地址 ,身 吉林大學(xué)畢業(yè)論文 第 26 頁 吉林大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 份證 , 用戶類型 ) values(39。+xuhao+39。,39。+xingming+39。,39。+mima+39。,39。+lxfs+39。,39。+fzr+39。,39。+bianhao+39。,39。+dz+39。,39。+sfz+39。,39。+yonghuleixing+39。)。// 構(gòu)造 sql插入語句 if(()==Closed) ()。//打開數(shù)據(jù)庫連接 ()。//執(zhí)行插入語句 ()。//跳轉(zhuǎn)到注冊成功信息頁面 ◆ 獲取 IP的代碼如下 : =。 ◆獲取瀏覽器版本號的代碼如下: =。 系統(tǒng)主界面 系統(tǒng)主界面是所有其它所有模塊的入口,主界面上的所有按鈕鼠標(biāo)點(diǎn)擊事件主要執(zhí)行兩種代碼:一是直接跳轉(zhuǎn)如: ()。, “ ”是其它功能頁面的名稱。 二是在主界面的上彈出新的窗口,如: string msg。 msg = script language=39。javascript39。 msg+= (39。yh 個(gè)人39。,39。height=220,width=650,top=150,left=200,toolbar=no,menubar=no,scrollbars=no,resizable=no,locatio n, nn=no,status=no39。)。 //設(shè) 吉林大學(xué)畢業(yè)論文 第 27 頁 吉林大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 置彈出窗口的大小及位置 msg +=/script。 ( 個(gè)人信息 ,msg)。// 執(zhí)行javascript 腳本 售票模塊 實(shí)現(xiàn)原理 在買票頁面,用戶需要輸入購買的車次,開車時(shí)間,起始站,終點(diǎn) 站,座位類型,是不是學(xué)生票,票數(shù),等信息。這里要注意的是:當(dāng)用戶輸入車次后,直接去點(diǎn)起始站和終點(diǎn)站的下拉菜單是沒有可選值的,正確定操作是輸入車次后,點(diǎn)確定,系統(tǒng)會根據(jù)車次把該車次的詳細(xì)路段信息綁定到起始站和終點(diǎn)站的下拉菜單里面,為什么要輸入車次后點(diǎn)擊確定? 這就是 B/S結(jié)構(gòu)系統(tǒng)得特點(diǎn),要想得到結(jié)果必須要把數(shù)據(jù)提交給后臺服務(wù)器,如果只是輸入車次不點(diǎn)確定,后臺無法或者車次信息。同樣的道理,當(dāng)上面的車票信息都填寫完后要點(diǎn)擊價(jià)格按鈕,系統(tǒng)會根據(jù)車次信息把價(jià)格計(jì)算出來,顯示給用戶。計(jì)算出來價(jià)格后,用戶就可以點(diǎn)擊購買按 鈕,進(jìn)行買票。點(diǎn)擊購買按鈕后,系統(tǒng)首先從 Senssion[“ name” ]里面得到當(dāng)前登錄的用戶名,根據(jù)用戶名在用戶表里面找到該用戶的用戶類型,根據(jù)用戶類型得出該用戶的提前買票時(shí)間,然后把當(dāng)前的系統(tǒng)時(shí)間和開車時(shí)間求差值,把這個(gè)差值和提前買票時(shí)間做個(gè)比較 ,如果差值大于提前買票時(shí)間,提示“不在購票期限內(nèi)!”。否則,在訂票表里面添加買票紀(jì)錄 ,在車次信息表里把對應(yīng)的車次對應(yīng)座位類型的票數(shù)減去購買的票數(shù)。最后給出買票詳單,買票詳單上顯示了車票的具體信息,這些字段信息是如何獲得的?通常有兩種方法:一,買票操作成功后, 調(diào)用買票詳單頁面,通過 URL把所有的車票信息傳遞過去;二,調(diào)用買票詳單頁面時(shí),只傳遞車次,詳單頁面的 page_load 事件里面直接獲取車次,根據(jù)車次去訂票表里面查找 吉林大學(xué)畢業(yè)論文 第 28 頁 吉林大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 購票信息,再把它們顯示出來,本系統(tǒng)用的是第二種方法。買票詳單上面有打印按鈕,點(diǎn)擊它可以把車票打印出來。 綁定車次代碼 DropDownList_qsz(起始站下拉框)和 DropDownList_zdz(終點(diǎn)站下拉框)兩個(gè)下拉框開始時(shí)是空的,當(dāng)用戶輸入車次后,點(diǎn)擊“確定 ” 按鈕,系統(tǒng)會根據(jù)車次從數(shù)據(jù)庫里面的 ticketsinf 表查詢該車次的 所有沿途站點(diǎn),并把它綁定到 DropDownList_qsz 和 DropDownList_zdz 上,用戶就可以從 DropDownList_qsz和 DropDownList_zdz里面分別選擇起始站和終點(diǎn)站。 Button_quding_click(確定車次)事件里綁定起始站的核心代碼如下: dsbegin=new DataSet()。 //存放起始站的查詢結(jié)果 sql=SELECT 出發(fā)站 FROM ticketsinf。 /* 構(gòu)造查詢語句 sql+= where 車次 =39。+ ()+39。 */ if(()==Closed) /*打開數(shù)據(jù)庫連接 ()。 */ =sql。 /*執(zhí)行查詢操作 ()。 */ =。 吉林大學(xué)畢業(yè)論文 第 29 頁 吉林大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 //以下為 綁定起始站代碼 =[0].ToString()。 =[0].Columns[0].ToString()。 =[0].Columns[0].ToString()。 ()。 價(jià)格計(jì)算原理及代碼 火車票價(jià)格計(jì)算參數(shù)有四張表,它們分別是“普通列車硬座價(jià)格表”,“普通列車臥鋪價(jià)格表”,“空調(diào)列車硬座價(jià)格表”,“空調(diào)列車臥鋪價(jià)格表” 他們的大體結(jié)構(gòu)如下: 表 51 2. 普通列車臥鋪價(jià)格表 吉林大學(xué)畢業(yè)論文 第 30 頁 吉林大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 表 52 3. 空調(diào)列車硬座價(jià)格表 表 53 4. 空調(diào)列車臥鋪價(jià)格表 表 54 本系統(tǒng)數(shù)據(jù)庫中有四張表 吉林大學(xué)畢業(yè)論文 第 31 頁 吉林大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 ( putongliechejiage,putonglichewopujiage,kongtiaoliejiage,kongtiaoliechewopujiage) ,分別與 上面四張表
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1