![車票查詢預(yù)訂系統(tǒng)實(shí)習(xí)報(bào)告.doc_第1頁(yè)](http://file.renrendoc.com/FileRoot1/2020-1/12/18a4bf52-6743-45c9-8660-67816ca72619/18a4bf52-6743-45c9-8660-67816ca726191.gif)
![車票查詢預(yù)訂系統(tǒng)實(shí)習(xí)報(bào)告.doc_第2頁(yè)](http://file.renrendoc.com/FileRoot1/2020-1/12/18a4bf52-6743-45c9-8660-67816ca72619/18a4bf52-6743-45c9-8660-67816ca726192.gif)
![車票查詢預(yù)訂系統(tǒng)實(shí)習(xí)報(bào)告.doc_第3頁(yè)](http://file.renrendoc.com/FileRoot1/2020-1/12/18a4bf52-6743-45c9-8660-67816ca72619/18a4bf52-6743-45c9-8660-67816ca726193.gif)
![車票查詢預(yù)訂系統(tǒng)實(shí)習(xí)報(bào)告.doc_第4頁(yè)](http://file.renrendoc.com/FileRoot1/2020-1/12/18a4bf52-6743-45c9-8660-67816ca72619/18a4bf52-6743-45c9-8660-67816ca726194.gif)
![車票查詢預(yù)訂系統(tǒng)實(shí)習(xí)報(bào)告.doc_第5頁(yè)](http://file.renrendoc.com/FileRoot1/2020-1/12/18a4bf52-6743-45c9-8660-67816ca72619/18a4bf52-6743-45c9-8660-67816ca726195.gif)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件開發(fā)綜合技能訓(xùn)練汽車票預(yù)訂系統(tǒng)設(shè)計(jì)專業(yè)軟件工程學(xué)生姓名羅劍班級(jí)B計(jì)算機(jī)074學(xué)號(hào)0710604414指導(dǎo)教師張靜林完成日期2011.1.6信息學(xué)院目 錄1 課題綜述11.1 課題來(lái)源11.2 程序所實(shí)現(xiàn)的功能11.3軟硬件運(yùn)行環(huán)境及開發(fā)工具12 系統(tǒng)分析12.1 系統(tǒng)需求分析12.2功能模塊圖13 系統(tǒng)設(shè)計(jì)13.1 數(shù)據(jù)庫(kù)設(shè)計(jì)13.2車票查詢信息處理對(duì)話框的設(shè)計(jì)14 代碼編寫14.1 具體代碼15 程序調(diào)試15.1 上機(jī)過(guò)程中出現(xiàn)的問(wèn)題和解決方案15.2 程序的擴(kuò)展方案16 程序運(yùn)行界面17 小結(jié)11 課題綜述1.1 課題來(lái)源本次軟件實(shí)習(xí)將用C#制作一個(gè)車票查詢預(yù)訂系統(tǒng),具有一般系統(tǒng)的數(shù)據(jù)處理功能,如數(shù)據(jù)錄入、增加、修改、刪除等。1.2 程序所實(shí)現(xiàn)的功能本系統(tǒng)通過(guò)C# Winforms技術(shù)完成的功能如下:(1)可以實(shí)現(xiàn)車票信息的增加、刪除。(2)可以實(shí)現(xiàn)車票的基本信息的瀏覽。(3)可以實(shí)現(xiàn)車票的預(yù)訂及預(yù)訂信息的刪除、修改(4)管理員登錄密碼的修改1.3軟硬件運(yùn)行環(huán)境及開發(fā)工具本次軟件設(shè)計(jì)的運(yùn)行環(huán)境:Windows XP操作系統(tǒng),Microsoft Visual Studio 2005以上編譯環(huán)境。開發(fā)工具為C#和Access。C#概述:Microsoft Visual C# 2005(讀作 C#)是一種編程語(yǔ)言,它是為生成在 .NET Framework 上運(yùn)行的多種應(yīng)用程序而設(shè)計(jì)的。C# 簡(jiǎn)單、功能強(qiáng)大、類型安全,而且是面向?qū)ο蟮摹# 憑借它的許多創(chuàng)新,在保持 C 樣式語(yǔ)言的表示形式和優(yōu)美的同時(shí),實(shí)現(xiàn)了應(yīng)用程序的快速開發(fā)。Visual Studio 支持 Visual C#,這是通過(guò)功能齊全的代碼編輯器、項(xiàng)目模板、設(shè)計(jì)器、代碼向?qū)?、功能?qiáng)大且易于使用的調(diào)試器以及其他工具實(shí)現(xiàn)的。通過(guò) .NET Framework 類庫(kù),可以訪問(wèn)多種操作系統(tǒng)服務(wù)和其他有用的精心設(shè)計(jì)的類,這些類可顯著加快開發(fā)周期。52 系統(tǒng)分析2.1 系統(tǒng)需求分析(1)前臺(tái)部分1.前臺(tái)營(yíng)業(yè):用戶通過(guò)此對(duì)車票進(jìn)行購(gòu)買,該功能可以查看到車票的車次、售價(jià)、車票的類型;2.預(yù)定車票:其功能和前臺(tái)營(yíng)業(yè)功能基本類似,它是通過(guò)對(duì)時(shí)間的設(shè)置來(lái)進(jìn)行車票的預(yù)定;3.退回車票:客戶購(gòu)買了車票后發(fā)生了不可避免的問(wèn)題,這里就可以對(duì)購(gòu)買的車票進(jìn)行退訂或是退購(gòu),這里也是通過(guò)對(duì)時(shí)間的設(shè)定來(lái)進(jìn)行退回車票;4.汽車票信息查詢:該功能包括售票信息查詢、訂票信息查詢、運(yùn)營(yíng)計(jì)劃查詢;5.售票信息查詢:以列表的形式將已經(jīng)購(gòu)買的車票信息進(jìn)行匯總,并在該頁(yè)中顯示出來(lái);6.訂票信息查詢:該功能和售票信息查詢功能相同,也是以列表的形式將預(yù)定的車票信息進(jìn)行匯總,并在該頁(yè)中顯示出來(lái);7.運(yùn)營(yíng)計(jì)劃查詢:該功能是以列表的形式將停運(yùn)和正在運(yùn)營(yíng)的車次分開顯示出來(lái),從而可以對(duì)車輛進(jìn)行有效的調(diào)度;8.營(yíng)業(yè)統(tǒng)計(jì):該功能包括日售票統(tǒng)計(jì)、月售票統(tǒng)計(jì)、季度售票統(tǒng)計(jì);9.日售票統(tǒng)計(jì):這里將一天的銷售情況進(jìn)行統(tǒng)計(jì)并在此顯示出來(lái);10.月售票統(tǒng)計(jì):和日售票統(tǒng)計(jì)相似,將每月的銷售情況進(jìn)行統(tǒng)計(jì)并在此顯示出來(lái);11.線路查詢:以列表的形式把將要查詢的起始城市的里程顯示出來(lái);12.管理員登錄:當(dāng)管理員要對(duì)車票的信息進(jìn)行管理時(shí),管理員可以通過(guò)此登錄到后臺(tái)對(duì)車票等信息進(jìn)行添加、刪除、修改等操作;(2)后臺(tái)部分1.運(yùn)營(yíng)設(shè)置:該功能包括基礎(chǔ)參數(shù)設(shè)置、車票設(shè)置、車次設(shè)置、調(diào)度設(shè)置、車票價(jià)格線路設(shè)置;2.基礎(chǔ)參數(shù)設(shè)置:該功能包括賣票時(shí)間設(shè)置、訂票時(shí)間設(shè)置、退票時(shí)間設(shè)置;3.車次設(shè)置:這里包括了對(duì)車次的增加、修改、刪除的操作;4.調(diào)度設(shè)置:對(duì)停運(yùn)和正在運(yùn)營(yíng)的車次進(jìn)行調(diào)度;5.線路設(shè)置:線路設(shè)置中包括的增加線路,就是增加起始城市之間里程的信息。2.2功能模塊圖該系統(tǒng)的功能模塊圖如下圖所示:主界面車票預(yù)定車票查詢后臺(tái)管理顯示預(yù)訂信息添加車票信息修改/刪除車票信息修改登錄密碼圖2-1 模塊圖車票預(yù)定系統(tǒng)數(shù)據(jù)輸入數(shù)據(jù)輸出數(shù)據(jù)輸入頁(yè)面信息錄入旅行社登陸登陸信息 數(shù)據(jù)錄入 數(shù)據(jù)信息 數(shù)據(jù)信息 數(shù)據(jù)信息 數(shù)據(jù)處理、查詢數(shù)據(jù)判斷數(shù)據(jù)信息 準(zhǔn)備SQL判斷查詢數(shù)據(jù)庫(kù)操作數(shù)據(jù)信息 判斷信息 判斷結(jié)果 數(shù)據(jù)信息 返回賬單等確定錯(cuò)誤原因返回車票信息打印賬單等顯示錯(cuò)誤原因打印車票數(shù)據(jù)信息 軟件結(jié)構(gòu)圖2.3數(shù)據(jù)庫(kù)需求分析數(shù)據(jù)庫(kù)的設(shè)計(jì)通常是以一個(gè)已經(jīng)存在的數(shù)據(jù)庫(kù)管理系統(tǒng)為基礎(chǔ)的,常用的數(shù)據(jù)庫(kù)管理系統(tǒng)有MYSQL,SQL Server, Oracle等。我采用了SQL server2005數(shù)據(jù)庫(kù)管理系統(tǒng)。數(shù)據(jù)的輸入是否準(zhǔn)確是數(shù)據(jù)處理的前提,錯(cuò)誤的輸入會(huì)導(dǎo)致系統(tǒng)輸出的不正確和不可用,從而使系統(tǒng)的工作出現(xiàn)錯(cuò)誤。數(shù)據(jù)的輸入來(lái)源是手工輸入,在系統(tǒng)中,數(shù)據(jù)的輸入往往是大量的,因此系統(tǒng)要有一定的處理能力,以保證迅速的處理數(shù)據(jù)。所以系統(tǒng)數(shù)據(jù)一致性:事務(wù)執(zhí)行的結(jié)果必須是使數(shù)據(jù)庫(kù)從一個(gè)一致性狀態(tài)變到另一個(gè)一致性狀態(tài)。一致性是指當(dāng)事務(wù)完成時(shí),必須使所有數(shù)據(jù)都具有一致的狀態(tài)。在關(guān)系型數(shù)據(jù)庫(kù)中,所有的規(guī)則必須應(yīng)用到事務(wù)的修改上,以便維護(hù)所有數(shù)據(jù)的完整性。3 系統(tǒng)設(shè)計(jì)3.1 數(shù)據(jù)庫(kù)設(shè)計(jì)創(chuàng)建一個(gè)“圖書出版管理系統(tǒng)”數(shù)據(jù)庫(kù),含有三個(gè)數(shù)據(jù)表:“出版圖書基本信息”、“圖書分類”、“圖書出售信息”。具體格式如下表:表3-1 “Book”數(shù)據(jù)表結(jié)構(gòu)字段名稱字段類型字段大小索引必須填寫name文本50無(wú)否phone文本20無(wú)否shenfen文本50無(wú)無(wú)trainnum文本50有(有重復(fù))無(wú)neednum數(shù)字長(zhǎng)整型有(有重復(fù))無(wú)hard是/否是/否無(wú)無(wú)soft是/否是/否無(wú)無(wú)booktime日期/時(shí)間日期/時(shí)間無(wú)無(wú)ID自動(dòng)編號(hào)自動(dòng)編號(hào)有(有重復(fù))無(wú)表3-2 “entry”數(shù)據(jù)表的結(jié)構(gòu)字段名稱字段類型字段大小索引必須填寫adminnum文本50有(無(wú)重復(fù))否admincode文本50有(無(wú)重復(fù))否表3-3 “Ticket”數(shù)據(jù)表的結(jié)構(gòu)字段名稱字段類型字段大小索引必須填寫ID自動(dòng)編號(hào)長(zhǎng)整型 有(有重復(fù))trainnum文本50 有( 有重復(fù)) 否date文本50無(wú) 否startpos文本50無(wú) 否starttimedestination reachtimehardlefthardcostSoftleftsoftcost日期/時(shí)間文本文本數(shù)字貨幣數(shù)字貨幣5050長(zhǎng)整型長(zhǎng)整型無(wú)無(wú)無(wú)無(wú)無(wú) 無(wú) 無(wú) 否 否 否 否 否 否3.2車票查詢信息處理對(duì)話框的設(shè)計(jì)車票查詢信息對(duì)話框的界面如下圖所示:圖3-1 車票查詢信息對(duì)話框標(biāo)簽控件的屬性如表3-4所示。表3-4 標(biāo)簽對(duì)象的基本屬性ID標(biāo)題內(nèi)容Textbox3火車發(fā)車日期Textbox1火車發(fā)車地Textbox2火車目的地Radiobottom1軟鋪Radiobottom2硬座Datagridview1顯示查詢信息圖3-2 車票預(yù)訂信息對(duì)話框表3-6 編輯框?qū)ο蟮幕緦傩訲extbox1預(yù)訂火車發(fā)車日期Textbox2火車出發(fā)地Textbox3火車目的地Textbox4火車車次Textbox5預(yù)訂者聯(lián)系電話Textbox6E_mailTextbox7真實(shí)姓名Textbox8身份證Combobox1預(yù)訂車票類型Radiobottom1軟鋪Radiobottom2硬座 圖3-3 車票后臺(tái)管理信息對(duì)話框表3-7 編輯框?qū)ο蟮幕緦傩訢atagridview1顯示預(yù)訂信息Bottom1刪除預(yù)訂信息Bottom2關(guān)閉Toolstrip1功能對(duì)話框按鈕Toolstripbottom1打開添加車次信息對(duì)話框Toolstripbottom2打開修改車次信息對(duì)話框Toolstripbottom3打開修改管理員密碼對(duì)話框圖3-4 車票后臺(tái)管理信息對(duì)話框表3-8 編輯框?qū)ο蟮幕緦傩訲extbox1預(yù)訂火車發(fā)車日期Textbox2火車車次Textbox3火車發(fā)車地Textbox4火車軟鋪票價(jià)Textbox5火車目的地Textbox6火車硬座票價(jià)Textbox7軟鋪數(shù)量Textbox8發(fā)車時(shí)間Textbox9硬座數(shù)量Textbox10到站時(shí)間Bottom1確定提交圖3-5 車票后臺(tái)管理信息對(duì)話框表3-9 編輯框?qū)ο蟮幕緦傩訢atagridview1顯示車票信息Bottom1提交修改信息Bottom2刪除所選擇的記錄Bottom3關(guān)閉圖3-6 車票后臺(tái)管理信息對(duì)話框表3-9 編輯框?qū)ο蟮幕緦傩詔extbox1輸入登錄帳號(hào)textbox1輸入原登錄密碼textbox1輸入新登錄密碼textbox1再次輸入新登錄密碼Bottom1確定提交修改信息Bottom2關(guān)閉對(duì)話框4 代碼編寫4.1 具體代碼“查詢車票記錄”命令按鈕的過(guò)程代碼代碼:private void check_Click(object sender, EventArgs e) if (textBox3.Text=string.Empty) MessageBox.Show(this, 請(qǐng)輸入日期時(shí)間! , Phoenix Information:, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; if (textBox1.Text=string.Empty) MessageBox.Show(this, 請(qǐng)輸入發(fā)車地點(diǎn)! , Phoenix Information:, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; if (textBox2.Text=string.Empty) MessageBox.Show(this, 請(qǐng)輸入目的點(diǎn)! , Phoenix Information:, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; if (radioButton1.Checked=false&radioButton2.Checked=false) MessageBox.Show(this, 請(qǐng)選擇車票類型! , Phoenix Information:, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; if (i 0) this.dataGridView1.Columns7.Visible = true; this.dataGridView1.Columns8.Visible = true; this.dataGridView1.Columns9.Visible = true; this.dataGridView1.Columns10.Visible = true; i+; String connstring = provider=Microsoft.Jet.OLEDB.4.0;Data Source=db1.mdb; OleDbConnection conn = new OleDbConnection(connstring); conn.Open(); String commstring = select * from Ticket where date= + this.textBox3.Text + and startpos= + this.textBox1.Text + and destination= + this.textBox2.Text + ; OleDbCommand commd = new OleDbCommand(commstring, conn); OleDbDataAdapter myadap = new OleDbDataAdapter(); myadap.SelectCommand = commd; DataSet myset = new DataSet(); myadap.Fill(myset, Ticket); this.dataGridView1.DataSource = myset.TablesTicket; conn.Close(); if (this.radioButton1.Checked = false)/顯示選擇的車票類型及價(jià)格 this.dataGridView1.Columns9.Visible = false; this.dataGridView1.Columns10.Visible = false; else this.dataGridView1.Columns7.Visible = false; this.dataGridView1.Columns8.Visible = false; “預(yù)定車票”命令按鈕的過(guò)程代碼如下所示:private void bookdata_insert() int ticketnumber = Convert.ToInt32(this.label6.Text); string datastring = provider=Microsoft.Jet.OLEDB.4.0;Data Source=db1.mdb; String datastring1 = insert into Book (booktime,name,phone,shenfen,trainnum,neednum,hard,soft) values( + this.label1.Text + , + this.label9.Text + , + this.label7.Text + , + this.label19.Text + , + this.label2.Text + , + this.label6.Text + ,-1,0); String datastring2 = insert into Book (booktime,name,phone,shenfen,trainnum,neednum,hard,soft) values( + this.label1.Text + , + this.label9.Text + , + this.label7.Text + , + this.label19.Text + , + this.label2.Text + , + this.label6.Text + ,0,-1); OleDbConnection data_insert = new OleDbConnection(datastring); data_insert.Open(); OleDbCommand insertcomm=new OleDbCommand(); insertcomm.Connection=data_insert; if (type = false) insertcomm.CommandText = datastring1; else insertcomm.CommandText = datastring2; insertcomm.ExecuteNonQuery(); String datastring3 = update Ticket set hardleft=hardleft- + boBox1.Text + where trainnum= + chuandi.textBox5.Text + ; String datastring4 = update Ticket set softleft=softleft- + boBox1.Text + where trainnum= + chuandi.textBox5.Text + ; OleDbCommand updatecomm = new OleDbCommand(); updatecomm.Connection = data_insert; if (type = false) updatecomm.CommandText = datastring3; else updatecomm.CommandText = datastring4; updatecomm.ExecuteNonQuery(); data_insert.Close(); “修改車票記錄”命令按鈕的過(guò)程代碼如下所示:private void button1_Click(object sender, EventArgs e) string str = this.dataGridView1.CurrentRow.CellsColumn1.Value.ToString(); String connstring = provider=Microsoft.Jet.OLEDB.4.0;Data Source=db1.mdb; OleDbConnection conn = new OleDbConnection(connstring); conn.Open(); String commstring = update Ticket set trainnum= + this.dataGridView1.CurrentRow.CellsColumn2.Value + ,date= + this.dataGridView1.CurrentRow.CellsColumn3.Value + ,startpos= + this.dataGridView1.CurrentRow.CellsColumn4.Value + ,starttime= + this.dataGridView1.CurrentRow.CellsColumn5.Value + ,destination= + this.dataGridView1.CurrentRow.CellsColumn6.Value + ,reachtime= + this.dataGridView1.CurrentRow.CellsColumn7.Value + ,hardleft= + this.dataGridView1.CurrentRow.CellsColumn8.Value + ,hardcost= + this.dataGridView1.CurrentRow.CellsColumn9.Value + ,softleft= + this.dataGridView1.CurrentRow.CellsColumn10.Value + ,softcost= + this.dataGridView1.CurrentRow.CellsColumn11.Value + where ID= +str; OleDbCommand commd = new OleDbCommand(commstring, conn); commd.ExecuteNonQuery(); conn.Close(); dataconn(); MessageBox.Show(修改成功!); “刪除預(yù)訂記錄”按鈕的過(guò)程代碼如下所示:private void button2_Click(object sender, EventArgs e) string str= this.dataGridView1.CurrentRow.CellsColumn1.Value.ToString(); MessageBox.Show(this, 確定刪除該條預(yù)訂信息? , Phoenix Information:, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); String connstring = provider=Microsoft.Jet.OLEDB.4.0;Data Source=db1.mdb; OleDbConnection conn = new OleDbConnection(connstring); conn.Open(); String commstring = delete from Book where ID= +str; OleDbCommand commd = new OleDbCommand(commstring, conn); commd.ExecuteNonQuery(); conn.Close(); preseant_
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 兒童樂(lè)園對(duì)公裝修合同
- 鐵路熱熔標(biāo)線施工方案
- 賓館改造瓦工單包合同
- 化妝品快遞配送合同范本
- 書店裝修合同標(biāo)準(zhǔn)版
- 博物館石材運(yùn)輸協(xié)議模板
- 青海移動(dòng)衛(wèi)生間施工方案
- 養(yǎng)生館開店采購(gòu)合同范例
- 創(chuàng)業(yè)中介合同范本
- 北京二手房服務(wù)合同范例
- 家具安裝工培訓(xùn)教案優(yōu)質(zhì)資料
- 湖南大一型抽水蓄能電站施工及質(zhì)量創(chuàng)優(yōu)匯報(bào)
- 耳穴療法治療失眠
- 行政區(qū)域代碼表Excel
- 少兒財(cái)商教育少兒篇
- GB 1886.114-2015食品安全國(guó)家標(biāo)準(zhǔn)食品添加劑紫膠(又名蟲膠)
- 初二上冊(cè)期末數(shù)學(xué)試卷含答案
- envi二次開發(fā)素材包-idl培訓(xùn)
- 2022年上海市初中語(yǔ)文課程終結(jié)性評(píng)價(jià)指南
- 西門子starter軟件簡(jiǎn)易使用手冊(cè)
- 隧道施工監(jiān)控量測(cè)方案及措施
評(píng)論
0/150
提交評(píng)論