




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、摘要:隨著時代的不斷進步,人們出行次數增加,那么一個火車站怎樣才能快捷高效的為乘客們服務變成了一個很重要的問題。伴隨著電腦的普及,運用電腦進行數據的保存與管理已經成為一件再尋常不過的事情,因此建立一個火車票查詢預訂系統將會是一個很好的解決方法。一個火車票查詢預訂系統的設計可以使工作人員實現電腦管理,減輕工作量,并且可以節約人力和物力,從而使得火車票管理更加的便捷和高效。一個火車票查詢預訂系統應該有火車票的查詢,添加或刪除,管理員的管理等功能。關鍵字:火車票查詢;火車票預訂;管理員管理;便捷;高效1 課題綜述1.1.1 課題來源11.2 程序所實現的功能1軟硬件運行環境及開發工具12 系統分析1
2、.2.1 主要模塊功能1功能模塊圖13 系統設計1.3.1 數據庫設計13.2 火車票信息處理對話框的設計13.3 火車票銷售對話框的設計錯誤!未定義書簽。4 代碼編寫4.4.1 命令按鈕的過程代碼添加方法錯誤!未定義書簽。4.2 具體代碼15 程序調試3.5.1 上機過程中出現的問題和解決方案15.2 程序的擴展方案16 程序運行界面1.1課題綜述1.1 課題來源本次軟件實習將用C#制作一個火車票查詢預訂系統,具有一般系統的數據處理功能,如數據錄入、增加、修改、刪除等。1.2 程序所實現的功能本系統通過C#Winforms技術完成的功能如下:1可以實現火車票信息的增加、刪除。2可以實現火車票
3、的基本信息的瀏覽。3可以實現火車票的預訂及預訂信息的刪除、修改4管理員登錄密碼的修改本次軟件設計的運行環境:WindowsXP操作系統,MicrosoftVisualStudio2005以上編譯環境。開發工具為C#和AccessC#既述:MicrosoftVisualC#2005讀作C#是一種編程語言,它是為生成在.NETFramework上運行的多種應用程序而設計的。C#簡單、功能強大、類型安全,而且是面向對象的。C#憑借它的許多創新,在保持C樣式語言的表示形式和優美的同時,實現了應用程序的快速開發。VisualStudio支持VisualC#,這是通過功能齊全的代碼編輯器、項目模板、設計器
4、、代碼向導、功能強大且易于使用的調試器以及其他工具實現的。通過.NETFramework類庫,可以訪問多種操作系統服務和其他有用的精心設計的類,這些類可顯著加快開發周期。Access概述:Access是微軟公司推出的基于Windows的桌面關系數據庫管理系統RDBMS,是Office系列應用軟件之一。它提供了表、查詢、窗體、報表、頁、宏、模塊7種用來建立數據庫系統的對象;提供了多種向導、生成器、模板,把數據存儲、數據查詢、界面設計、報表生成等操作標準化;為建立功能完善的數據庫管理系統提供了方便,也使得普通用戶不必編寫代碼,就可以完成大部分數據管理的任務。12系統分析2.1主要模塊功能1增加火車
5、票記錄模塊:用于將新的火車票信息添加到火車票基本信息表中。2刪除火車票記錄模塊:用于刪除火車票基本信息表中的火車票信息。3刷新火車票記錄模塊:增加記錄和刪除記錄完成后點次按鈕更新。4增加火車票預定記錄模塊:用于預訂火車票信息。5刪除火車票預定記錄模塊:用于刪除預訂火車票信息。6修改密碼模塊:用于修改后臺管理員登錄密碼信息。7查詢火車票模塊:用于客戶查詢所需的火車票信息。該系統的功能模塊圖如下列圖所示:圖2-1模塊圖3系統設計3.1 數據庫設計“出版圖書基本創建一個“圖書出版管理系統”數據庫,含有三個數據表:信息”、“圖書分類”、“圖書出售信息”。具體格式如下表:表3-1“Book”數據表結構字
6、段大小索引name文本50無否phone文本20無否shenfen文本50無無trainnum文本50后(啟重里)無neednum數字長整型后(啟重里)無hard是/否是/否無無soft是/否是/否無無booktime日期/時間日期/時間無無ID自動編號自動編號后(啟重里)無3-2“entry”數據表的結構字段名稱字段類型字段大小索引必須填寫adminnum文本50有尢重復J否admincode文本50有否表3-3“Ticket字段名稱字段類型索引必須填寫ID自動編號長整型有侑重受)trainnum文本50后(啟重里)否date文本50無否startpos文本50無否starttime日期/時
7、間無destination文本50無否reachtime文本50無否hardleft數字長整型無否hardcost貨幣無否Softleft數字長整型無否softcost否3.2 圖書出版基本信息處理對話框的設計圖書出版基本信息處理對話框的界面如下列圖所示:i圖3-1火車票查詢信息對話框標簽控件的屬性如表3-4所小。表3-4標簽對象的基本屬性ID標題內容Textbox3TextboxlTextbox2RadiobottomlRadiobottom2Datagridviewl火車發車日期火車發車地火車目的地軟鋪硬座顯示查詢信息3圖3-2火車票預訂信息對話框表3-6編輯框對象的基本屬性Textbox
8、l預訂火車發車日期Textbox2火車出發地Textbox3火車目的地Textbox4火車車次Textbox5預訂者聯系Textbox6E_mailTextbox7真實Textbox8身份證Comboboxl預訂火車票類型Radiobottoml軟鋪Radiobottom2硬座誨力件法信息忸莊送信息.:修理哲理員密舊圜-I己預訂火至票客戶信總車次姓名*系。色身弁定需要蟹量強|1110dfghd5dfgds心如心1FalseAHOH聲皮亞1Fil«AHO<l±g退心后1¥工二口ZDO9-12-?3£1£1陵有裝L5BB3n?39533WTT
9、S8S:iBPraia£00?12ZiA1W胡若12D»1:94H£R3,勁/對就AUC314S1112311均S用降沔訂值言圖3-3火車票后臺管理信息對話框表3-7編輯框對象的基本屬性Datagridviewl顯不預訂信息Bottoml刪除預訂信息Bottom2關閉Toolstripl功能對話框按鈕Toolstripbottoml打開添加車次信息對話框Toolstripbottom2打開修改車次信息對話框Toolstripbottom3打開修改管理員密碼對話框4圖3-4火車票后臺管理信息對話框表3-8編輯框對象的基本屬性Textboxl預
10、訂火車發車日期Textbox2火車車次Textbox3火車發車地Textbox4火車軟鋪票價Textbox5火車目的地Textbox6火車硬座票價Textbox7軟鋪數量Textbox8發車時間Textbox9硬座數量Textbox10到站時間Bottoml確定提交7日朗發車地裳軍近間目的地到站時問B120ZC09-1Z-23杭邦11:00:00寧波12:00;00A12C2009-12-24甘11:00.00于波12:30:00MW2509-12-3杭州11:00:00貂興L1;40:00誦定修改提交毗除記錄美閉圖3-5火車票后臺管理信息對話框表3-9編輯框對象的基本屬性Datagridvi
11、ewl顯示火車票信息Bottoml提交修改信息Bottom2刪除所選擇的記錄Bottom3關閉請輸入登錄帳號諳輸入原登錄變回i瞬入新密均諧再次輸入新巒同確定關閉圖3-6火車票后臺管理信息對話框表3-9編輯框對象的基本屬性textboxl輸入登錄帳號textboxl輸入原登錄密碼textboxl輸入新登錄密碼textboxl再次輸入新登錄密碼Bottoml確定提交修改信息Bottom2關閉對話框4代碼編寫具體代碼“查詢火車票記錄”命令按鈕的過程代碼代碼:privatevoidcheck_Click(objectsender,EventArgse)if(textBox3.Text=string.E
12、mpty)MessageBox.Show(this,"請輸入日期時間!","PhoenixInformation:MessageBoxButtons.OK,MessageBoxIcon.Exclamation);return;if(textBox1.Text=string.Empty)MessageBox.Show(this,"請輸入發車地點!","PhoenixInformation:MessageBoxButtons.OK,MessageBoxIcon.Exclamation);return;if(textBox2.Text=st
13、ring.Empty)MessageBox.Show(this,"請輸入目的點!","PhoenixInformation:MessageBoxButtons.OK,MessageBoxIcon.Exclamation);return;if(radioButton1.Checked=false&&radioButton2.Checked=false)MessageBox.Show(this,"請選擇車票類型!","PhoenixInformation:MessageBoxButtons.OK,MessageBoxIco
14、n.Exclamation);returnif(i>0)this.dataGridView1.Columns7.Visible=truethis.dataGridView1.Columns8.Visible=truethis.dataGridView1.Columns9.Visible=truethis.dataGridView1.Columns10.Visible=truei+;Stringconnstring="provider=Microsoft.Jet.OLEDB.4.0;DataSource=db1.mdb"OleDbConnectionconn=newOl
15、eDbConnection(connstring);conn.Open();Stringcommstring="select*fromTicketwheredate='"+this.textBox3.Text+"'andstartpos='"+this.textBox1.Text+"'anddestination='"+this.textBox2.Text+OleDbCommandcommd=newOleDbComman(dcommstring,conn);OleDbDataAdaptermya
16、dap=newOleDbDataAdapter();myadap.SelectCommand=commd;DataSetmyset=newDataSet();myadap.Fill(myset,"Ticket");this.dataGridView1.DataSource=myset.Tables"Ticket"conn.Close();if(this.radioButton1.Checked=false)/顯示選擇的車票類型及價格this.dataGridView1.Columns9.Visible=false;this.dataGridView1.C
17、olumns10.Visible=false;elsethis.dataGridView1.Columns7.Visible=false;this.dataGridView1.Columns8.Visible=false;“預定火車票”命令按鈕的過程代碼如下所示:privatevoidbookdata_insert()intticketnumber=Convert.ToInt32(this.label6.Text);stringdatastring="provider=Microsoft.Jet.OLEDB.4.0;DataSource=db1.mdb"Stringdata
18、string1="insertintoBook(booktime,name,phone,shenfen,trainnum,neednum,hard,soft) values('"+ this.label1.Text +in in+ this .label9.Text +"','"+ this .label7.Text +"','"+ this.label19.Text +"''"+this .label2.Text +"','&quo
19、t;+ this .label6.Text +"','-1','0')"String datastring2 ="insert into Book(booktime,name,phone,shenfen,trainnum,neednum,hard,soft) values('"+ this.label1.Text +in in+ this .label9.Text +"','"+ this .label7.Text +"','"+ th
20、is.label19.Text +"''"+this .label2.Text +"','"+ this .label6.Text +"','0','-1')"OleDbConnection data_insert =new OleDbConnection (datastring);data_insert.Open();OleDbCommandinsertcomm=newOleDbComman(d);insertcomm.Connection=data_inser
21、t;if(type=false)insertcommmandText=datastring1;elseinsertcommmandText=datastring2;insertcomm.ExecuteNonQuery();String datastring3 =update Ticket set hardleft=hardleft-'+ chuandiboBox1.Text + "' where trainnum='"String datastring4 =boBox1.Text + "' where trainnum='&
22、quot;+ chuandi.textBox5.Text +update Ticket set softleft=softleft-'+ chuandi.textBox5.Text + chuandiOleDbCommandupdatecomm=newOleDbComman(d);updatecomm.Connection=data_insert;if(type=false)updatecommmandText=datastring3;elseupdatecommmandText=datastring4;updatecomm.ExecuteNonQuery();data_insert.
23、Close();“修改火車票記錄”命令按鈕的過程代碼如下所示:privatevoidbutton1_Click(objectsender,EventArgse)stringstr=this.dataGridView1.CurrentRow.Cells"Column1".Value.ToString();Stringconnstring="provider=Microsoft.Jet.OLEDB.4.0;DataSource=db1.mdb"OleDbConnectionconn=newOleDbConnection(connstring);conn.Op
24、en();Stringcommstring="updateTicketsettrainnum='"+this.dataGridView1.CurrentRow.Cells"Column2".Value+"',date='"+this.dataGridView1.CurrentRow.Cells"Column3".Value+"',startpos='"+this.dataGridView1.CurrentRow.Cells"Column4&quo
25、t;.Value+"',starttime='"+this.dataGridView1.CurrentRow.Cells"Column5".Value+"',destination='"+this.dataGridView1.CurrentRow.Cells"Column6".Value+"',reachtime='"+this.dataGridView1.CurrentRow.Cells"Column7".Value+&quo
26、t;',hardleft='"+this.dataGridView1.CurrentRow.Cells"Column8".Value+"',hardcost='"+this.dataGridView1.CurrentRow.Cells"Column9".Value+"',softleft='"+this.dataGridView1.CurrentRow.Cells"Column10".Value+"',softcost=
27、'"+this.dataGridView1.CurrentRow.Cells"Column11".Value+"'whereID="+str;OleDbCommandcommd=newOleDbComman(dcommstring,conn);commd.ExecuteNonQuery();conn.Close();dataconn();MessageBox.Show("修改成功!");“刪除預訂記錄”按鈕的過程代碼如下所示:privatevoidbutton2_Click(objectsender,Even
28、tArgse)stringstr=this.dataGridView1.CurrentRow.Cells"Column1".Value.ToString();MessageBox.Show(this,"確定刪除該條預訂信息?","PhoenixInformation:MessageBoxButtons.OK,MessageBoxIcon.Exclamation);Stringconnstring="provider=Microsoft.Jet.OLEDB.4.0;DataSource=db1.mdb"OleDbConnect
29、ionconn=newOleDbConnection(connstring);conn.Open();Stringcommstring="deletefromBookwhereID="+str;OleDbCommandcommd=newOleDbComman(dcommstring,conn);commd.ExecuteNonQuery();conn.Close();preseant_data();45程序調試5.1 上機過程中出現的問題和解決方案 1在編寫修改火車票信息的代碼中,通過對datagridview1中的數據操作,從而修改數據庫中的記錄時,程序出現“標準表達式對
30、應數據類型有誤”,通過網上搜索和自己反復修改,最后程序正確。 2對于不同窗體間的數據傳輸時所運用的不同方法進行嘗試,出現錯誤后,查閱書籍解決。5.2 程序的擴展方案 1程序界面過于單調,可以通過更改背景顏色或添加背景圖片進行解決。 2添加服務器與客戶端相連模塊。 3增加輸入格式檢測,放置輸入不同數據類型。16程序運行界面在打開“圖書出版管理系統.exe”后,將出現下列圖所示界面:圖6-1主窗體點擊進入查詢系統,即出現火車票信息查詢界面:9圖6-2火車票信息查詢圖6-3火車票預定界面當點擊“確定并提交預訂信息”選擇框時,彈出“確認信息對”話框:預訂本次日期;頻討車稟找車地:杭州汝訂軍稟目的地:第
31、興預訂車稟類型:硬座強江車票數量:4聯系方式;其實姓名:除身份證:23123234354354354總共需支付工64元圖6-4預訂確認信息對話框圖6-5后臺管理界面附錄參考文獻1張慶華等編著零基礎學VisualC#2005北京:機械工程出版社.200123456張等編著心得體會學號07057335吳仁克對于本次軟件實習,多少有些收獲。這次軟件實習做的系統是用C#語言編寫的。之前沒有接觸過C#,但有接觸過C+和VB。由于需要,特地借了幾本書,其中一本零基礎學VisualC#2005學習了一下,了解到C#的控件功能與VB相似,書中前面的基礎知識與C+的內容有些相似。同時還看了書后的幾個實例編程,對
32、于編程我是比較薄弱的,很少投入這方面學習,另外很少動手。這次實習我主要是做簡單類的窗體,比方多個窗體的分配及彈出界面問題,在編寫過程中遇到問題查閱資料。從沒有碰過C#到略懂一些已經是質的飛躍了,但還要認真研究學習。在設計系統首先要對整體框架進行構思,對每一個功能進行實現這個很重要。并且最重要的是數據庫的基本操作,包括Connection、Command、Datareader、Dataset和Dataadapter對象,添加數據、修改數據、刪除數據和查詢數據,還有就是DATAGRIDVIEW控件的使用。這個系統是用ACCESS建立連接數據庫,了解到了一些關鍵的操作語句,C#中有專門的語句對數據庫
33、進行操作。因此對數據庫有初步的認識。在這里面,讓我感受最深的還是一種自學精神,多思考,多發現問題,然后經過自己努力汲取新的知識或者詢問老師同學來解決問題,多和同學交流問題。對于這樣一種學習途徑,我覺得收益頗深。總之,通過本次軟件實習,知道要多動手解決問題,不要想一步把所有的問題都解決,要需循序漸進,把理論知識運用要實踐中;同時為以后的軟件系統設計打下基礎,讓自己更好地學習編程和軟件設計。心得體會在完成這次短學期的任務用c#編寫一個winform模式的火車票查詢預訂系統之后,這個短學期也結束了。在這期間,通過實踐編程,我對C#以及數據庫的一些操作有了一個更加具體的了解,在大二下學期開學時,便已看
34、過C#和數據庫操作方面的書籍,但一直沒有付之于實踐,起先覺得在個很簡單,但真當實踐時,卻遇到了不少問題,包括不同窗體之間的數據傳輸,數據庫與窗體間的數據傳輸的問題等。有些問題讓我想了整個下午都想不出為什么,最后發現原來是自己的編程習慣不好或者是有一些語法規則是書上沒有提到,需要自己去摸索的。當然碰壁也是一個學習的過程,每次當我遇到問題或者我不懂的地方,我都會去翻看C#和數據庫方面的書籍和去GOOGLE搜索我所遇到問題的解決方法,而在在個過程中,我學到了很多其他的東西,而且對我所遇到的問題方面的知道有了更深一步的了解。每次解決一個問題或者學到一個我個人覺得有價值的東西,我都會很興奮。在次短學期實踐的過程,讓我體會到了編程時所需要的耐心、決心和良好的編程習慣。以前編寫的都是一些單個文件的簡單代碼,不需要考慮文件與文件之間的關系,因此編程習慣沒有養好,變量亂定義等毛病一直都有。與此同時,在是第一個和同學一起合作編寫的軟件程序,雖說各人能力不同,但分工明確,齊心協力完成了在項任務,第一次體會到了團隊編程的精神。盡管完成了在次短學期任務,但還是有遺憾,本打算實現客戶端與服務器的鏈接,但由于時間及小組成員對于C#和數據庫的掌握能
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 激光技術應用規范試題及答案
- 激光技術工程師證書考試復習材料與試題答案
- 育嬰師與父母溝通技巧試題及答案
- 數值修約試題及答案
- 文化產業品牌策略試題及答案詳細
- 考試普遍規律的分析公共營養師試題及答案
- 自考現代管理試題及答案
- 藥物使用的護理干預與支持手段試題及答案
- 藥物臨床應用實例分析考題及答案
- 藥劑學復習過程中心理健康的重要性試題及答案
- 外科學普外科試題及答案
- 中小學心理健康教育宣傳月活動方案
- 【9語一模】2025年安徽省合肥市蜀山區九年級中考一模語文試卷(含答案)
- 100MW山地光伏(漁光互補)項目質量驗收范圍劃分表
- 2025年海南省物流集團有限公司下屬企業招聘筆試參考題庫含答案解析
- 洗滌機械的裝配與調試技巧考核試卷
- 2024年商務禮儀師實務考題及試題及答案
- 2025年遼寧省撫順市新撫區中考二模英語試題(原卷版+解析版)
- 提高初中英語教學質量措施
- GB/T 10810.1-2025眼鏡鏡片第1部分:單焦和多焦
- 防詐騙理財培訓
評論
0/150
提交評論