版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 課程設計報告</b></p><p> 課 題: 鐵路票務系統(tǒng) </p><p> 專業(yè)班級: </p><p> 學 號: </p>&l
2、t;p> 姓 名: </p><p> 指導教師: </p><p> 目 錄</p><p><b> 目錄</b></p><p><b> 摘要1<
3、;/b></p><p> 1.課程設計的目的與意義4</p><p><b> 2.需求分析6</b></p><p><b> 3.系統(tǒng)設計8</b></p><p><b> 4.系統(tǒng)實現(xiàn)10</b></p><p> 5.
4、 系統(tǒng)調試17</p><p><b> 6.小結23</b></p><p><b> 附錄源代碼24</b></p><p> 1.課程設計的目的與意義</p><p> 1.1、課程設計的目的</p><p> 數(shù)據(jù)庫課程設計是數(shù)據(jù)庫系統(tǒng)原理實踐環(huán)節(jié)的及
5、為重要的一部分.其目的 是:</p><p> (1)培養(yǎng)學生能夠應用數(shù)據(jù)庫系統(tǒng)原理在需求分析的基礎上對系統(tǒng)進行概念設計,學會設計局部ER,全局ER圖;</p><p> (2)培養(yǎng)學生能夠應用數(shù)據(jù)庫系統(tǒng)在概念設計的基礎上應用關系規(guī)范化理論對系統(tǒng)進行邏輯設計,學會在ER圖基礎上設計出易于查詢和操作的合理的規(guī)范化關系模型;</p><p> (3)培養(yǎng)
6、學生能夠應用SQL語言對所設計的規(guī)范化關系模型進行物理設計,并且能夠應用事務處理,存儲過程,觸發(fā)器以保證數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)完整性,安全性,一致性,保證數(shù)據(jù)共享和防止數(shù)據(jù)沖突;</p><p> (4)培養(yǎng)學生理論與實際相結合能力, 培養(yǎng)學生開發(fā)創(chuàng)新能力;</p><p> (5)培養(yǎng)學生獨立分析問題、解決問題、查閱資料以及自學能力,以適應計算機產(chǎn)業(yè)日新月異發(fā)展的形勢;</p>
7、<p> (6)提高和加強學生的計算機應用與軟件開發(fā)能力,使學生由初學者向專業(yè)的程序員過渡。</p><p> 1.2、課程設計的意義</p><p> 目前,我國在計算機應用、計算機軟件和電子類相關專業(yè)的人才培養(yǎng)方面,取得了長足的發(fā)展,但同時也讓我們深刻地感覺到缺乏實際開發(fā)設計項目的經(jīng)驗,不善與綜合運用所學理論,對知識的把握缺乏融會貫通的能力.尤其是我們計算機專業(yè)大學
8、生,由于缺乏具體項目經(jīng)驗,畢業(yè)之后普遍感到知識不能轉化為能力。課程設計可以鍛煉我們理論聯(lián)系實際的能力,為今后工作做鋪墊。</p><p> 信息時代已經(jīng)來臨,信息處理的利器——計算機應用于火車站售票的日常管理為火車站售票的現(xiàn)代化帶來了從未有過的動力和機遇,為火車站票務管理領域的飛速發(fā)展提供了無限潛力。采用計算機管理信息系統(tǒng)已成為火車站票務管理科學化和現(xiàn)代化的重要標志,給火車站票務帶來了明顯的經(jīng)濟效益和社會效益。
9、計算機已經(jīng)成為人們生活不可卻小的一部分。鐵路票務管理是一件比較負責但又非常重要的事情,它是涉及國家鐵路運輸?shù)恼9ぷ鳌窠?jīng)濟的發(fā)展和人民生活水平及質量的大事情。隨著經(jīng)濟的發(fā)展,交通運輸越來越便捷,為了提高效率,減輕勞動強度,設計開發(fā)高效的鐵路信息查詢系統(tǒng)就顯得頗為重要?;疖囀燮惫芾碇邪S多內容,有鐵路乘客運輸?shù)倪\力問題,有訂票管理問題等等。鐵路信息查詢系統(tǒng)是企業(yè)信息決策和管理的重要的組成部分,是一種典型的信息管理系統(tǒng)(MIS),其開
10、發(fā)主要包括后臺的數(shù)據(jù)庫的建立、維護以及前端的相應應用程序的開發(fā)兩個方面的內容,數(shù)據(jù)庫的建立和維護主要要求其管理數(shù)據(jù)的一致性、完整性、安全性等特點,而前臺的應用程序開發(fā)則要求做到各項功能要完備、操作要簡便、易學易用等特點。本課程設計專門要解決這些問題,由于鐵路火車票務管理的復雜性,本設計</p><p> 2.1. 需求分析的任務</p><p> 隨著旅游業(yè)的逐漸的成熟發(fā)達,鐵路客運量
11、大幅度的提高,各大省市的列車都顯著的增加,這些都對列車票務管理系統(tǒng)提出了更高的要求,所以要不斷的完善更新列車票務管理系統(tǒng),提高列車售票系統(tǒng)的工作效率。隨著科學的不斷進步,計算機應用已經(jīng)遍布整個社會的每個角落。目前社會正處于健保發(fā)展方興未艾的時代,各火車站莫不兢兢業(yè)業(yè)地改善本身的體制或管理方式,以適應健保越來越嚴格的規(guī)范。列車在我國的人員流動、物資運輸中占據(jù)著舉足輕重的地位。全國有大量的人員通過搭乘火車到達目的地。而與火車的特殊性及可能經(jīng)
12、過多個城市,每個城市的車站可以出售此火車的車票。而且同一車站可能有多輛車經(jīng)過。許多希望以最快的方式選擇自己想來乘坐的那一趟列車。所以以人工的方式是不可能實現(xiàn)這種功能的。一種可行的方案是基于客戶端服務器的體系結構。服務器為數(shù)據(jù)庫系統(tǒng),存儲所有必要的信息。客戶端通過連接到服務的應用程序快速、準確地完成相應的工作,通過網(wǎng)上訂購,可以達到高效、便捷的購票。列車票務管理系統(tǒng)的實施,將會在一定程度上促進鐵路客運生產(chǎn)力和生產(chǎn)關系的變革,增強市場競爭能
13、力,提高鐵路部門的工作效率,提升管理水平,減少勞動強度,方便廣大旅客購票,有一定的</p><p> 2.2. 系統(tǒng)需要實現(xiàn)的功能和操作如下:</p><p> .查詢:可以通過起點站與終點站在進行查詢,也可根據(jù)具體的車次輸入進行查詢,同時每次查詢都會顯示車次號,點擊即可顯示該趟列車所進過站點的詳細信息,其中包括所到達每個站的到達時間與出發(fā)時間。</p><p>
14、; .客戶注冊、注銷:由于要進行網(wǎng)上訂購車票,用戶需注冊,填寫有關信息,由物流公司負責送車票到客戶手中。如果用戶不再使用本系統(tǒng)可以選擇注銷,從而從數(shù)據(jù)庫中刪除其有關記錄。</p><p> (3).訂票業(yè)務:本系統(tǒng)為網(wǎng)上訂票,用戶經(jīng)過查詢車次信息、票務信息,找到自己所需的車票通過所關聯(lián)的賬戶進行訂購。</p><p> (4).退票業(yè)務:根據(jù)客戶提供的情況(車次、時間、)為客戶辦理退
15、票手續(xù),退票時按票價的80%退給客戶金額,若所退票額能滿足他的要求,則為他辦理退票手續(xù),同時在數(shù)據(jù)庫中進行更新。</p><p> .更新功能:該系統(tǒng)隨時跟據(jù)車輛的變化情況進行更新,增加車輛時可以在系統(tǒng)中插入該車的詳細信息,同時也能根據(jù)需要修改某趟車經(jīng)過的站點與發(fā)車時間,當某趟車停止、開行時可以刪除該趟車的信息。同時包括對列車信息、站點信息、管理人員信息、訂票記錄等的更新功能。</p><p
16、> .車票配送:客戶在訂購了車票之后,管理人員通過后臺管理訂票記錄,然后根據(jù)客戶的要求選擇物流公司及時為其配送車票。</p><p><b> 3.系統(tǒng)設計</b></p><p><b> 3.1總體設計</b></p><p> 1.功能設計:該鐵路票務系統(tǒng)流程主要包括客戶操作、管理人員操作、主管操作:&
17、lt;/p><p><b> 客戶操作:</b></p><p> 查詢操作:可以按照車次或始發(fā)站、終點站兩種方式進行查詢,只需要輸入關鍵信息即可查到所需的車次的有關信息,包括車的類型、所剩票的類型、數(shù)量、票價等。</p><p> 注冊操作:網(wǎng)上訂票,需要與客戶的銀行賬號、電話、地址等有關信息關聯(lián), 只有
18、進行注冊之后才可以進行訂票操作。</p><p> 訂票操作:客戶進行注冊后,可以方便地進行訂票,可以選擇支付方式與送票方式,以達到最快速、高效地完成車票的訂購。</p><p> 退票操作:由于一些原因,可能造成客戶要求退票,系統(tǒng)根據(jù)具體的情況判定是否可以退票,進行退票。</p><p> 注銷操作:客戶可能因為某些原因要進行注銷操作,系統(tǒng)根據(jù)客戶請求完成客
19、戶注銷,刪除數(shù)據(jù)庫中的該客戶有關信息。</p><p><b> 功能模塊圖</b></p><p> 局部ER圖(以客戶為主體)</p><p><b> 3.2詳細設計:</b></p><p> 3.2.1邏輯結構設計</p><p> 用戶(用戶賬號,密碼)
20、</p><p> 用戶詳細信息(用戶賬號,姓名,性別,電話,地址,支付方式)</p><p> 支付類型(類型編號,支付類型)</p><p> 網(wǎng)上銀行(銀行編號,銀行名稱)</p><p> 訂票記錄(用戶編號,車票編號,數(shù)量,訂票日期)</p><p> 票務信息(車票編號,剩余數(shù)量,日期)</
21、p><p> 票類型1(票類型編號1,票類型名稱1)</p><p> 票類型2(票類型編號2,票類型名稱2)</p><p> 物流公司(物流公司編號,物流公司名稱)</p><p> 3.2.2數(shù)據(jù)庫物理設計</p><p><b> 用戶表:</b></p><p&
22、gt;<b> 用戶詳細信息表:</b></p><p><b> 支付類型表:</b></p><p><b> 網(wǎng)上銀行:</b></p><p><b> 訂票記錄:</b></p><p><b> 票務信息表:</b&g
23、t;</p><p><b> 票類型1表:</b></p><p><b> 票類型2表:</b></p><p> 物流公司(物流公司編號,物流公司名稱)</p><p> 3.2 系統(tǒng)數(shù)據(jù)庫設計</p><p> 3.2.1.該系統(tǒng)由兩部分組成:登錄部分和車次
24、車票部分。</p><p> (1).登錄部分:該部分分為管理員與乘客登錄,管理員登錄時需要設定賬號與密碼,只有輸入正確的賬號與密碼才能登陸,同時系統(tǒng)的功能管理員都能操作,乘客不需要賬號與密碼,但是乘客只有查詢的操作權限。</p><p> (2).車次車票部分:該部分又分為四個子系統(tǒng):</p><p> 查詢系統(tǒng):可以查詢車次基本信息與車次詳細。</p
25、><p> 購票系統(tǒng):用于乘客購票,同時顯示剩余票數(shù)與票價。</p><p> 更新系統(tǒng):當車次信息有變化時,管理員可以根據(jù)情況插入和刪除車次信息。</p><p> 退票系統(tǒng):用于乘客需要退票時,且退票時只退票價的80%。</p><p> 該系統(tǒng)ER圖如圖3.1:</p><p><b> n<
26、;/b></p><p><b> 圖3.2</b></p><p><b> 該系統(tǒng)流程圖如下:</b></p><p><b> 圖3.2</b></p><p><b> 4.系統(tǒng)實現(xiàn)</b></p><p>
27、 設計的火車站售票系統(tǒng)主要分為五個模塊:</p><p><b> 5.1.登陸模塊。</b></p><p> 在登陸系統(tǒng)中,所需要的功能就是對輸入的賬號和密碼與數(shù)據(jù)庫中的賬號信息進行匹配查詢。其實現(xiàn)使用了text控件,adodc控件,frame控件,option控件,command控件以及l(fā)abel控件。主要代碼如下:</p><p>
28、 Private Sub Command1_Click() If Option1.Value = True Then '判斷是否是管理員登陸</p><p> If Text1.Text = "" Then '如果賬號中輸入為空則顯示"請輸入賬號"</p><p> MsgBox "請輸入賬號" &l
29、t;/p><p> ElseIf Text2.Text = "" Then '如果密碼框輸入為空則顯示"請輸入密碼"</p><p> MsgBox "請輸入密碼"</p><p> ElseIf Text1.Text <> "" Then '當賬號
30、框中輸入不為空</p><p> Dim strsql As String</p><p> strsql = "select * from 表3 Where id=" + "'" + Text1 + "'" '從數(shù)據(jù)庫中找到賬號等于賬號框中輸入的數(shù)據(jù)時</p><p>
31、 With Adodc1 </p><p> ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _</p><p> & "Data Source=" + App.Path + "\db3.m
32、db;Persist Security Info=False"</p><p> .RecordSource = strsql</p><p> .Refresh </p><p><b> End With</b></p><p> If Adodc1.Recordset.EOF = True
33、Then</p><p> MsgBox "賬號信息錯誤"</p><p> ElseIf Text2.Text <> Adodc1.Recordset.Fields("passnum") Then</p><p> MsgBox "密碼錯誤"</p><p>
34、ElseIf Text2.Text = Adodc1.Recordset.Fields("passnum") Then '當密碼框中輸入的數(shù)據(jù)與數(shù)據(jù)庫的密碼相符時</p><p> Form1.Hide</p><p> Form2.Show</p><p><b> End If</b></p&g
35、t;<p><b> End If</b></p><p> ElseIf Option2.Value = True Then '如果選擇為游客登錄則跳轉到游客查詢界面</p><p> Form3.Show</p><p> Form1.Hide</p><p><b> E
36、nd If</b></p><p> End Sub 另外為了美化界面,增加登陸界面的功能,添加了time控件,將計算機系統(tǒng)時間顯示在lable控件中,具體代碼如下:</p><p> Private Sub Timer1_Timer()</p><p> Label4.Caption = Now</p><p><
37、;b> End Sub</b></p><p> 5.2.主菜單 即管理員登陸進入后的操作菜單。本界面中用到了command控件。作用是跳轉到操作員所需要的界面。主要代碼示例如下:</p><p> Private Sub Command1_Click() ‘當前主菜單隱藏,更新系統(tǒng)顯示。</p><p> Form2.Hide</
38、p><p> Form4.Show</p><p><b> End Sub</b></p><p> 5.3.更新系統(tǒng) 更新系統(tǒng)中主要要求對數(shù)據(jù)庫中的表的數(shù)據(jù)進行修改,主要包括插入,修改,刪除。在這些功能的實現(xiàn)中我們使用了adodc控件,option控件,label控件,datagrid控件。主要代碼如下:</p><
39、p> Private Sub Command1_Click() ‘如果選擇的為火車基本信息,則讓datagrid控件中顯示火車基本信息的表。并實現(xiàn)插入功能。反之則對火車詳細信息表進行插入操作。</p><p> If Option1.Value = True Then </p><p> Set DataGrid1.DataSource = Adodc1</p>
40、<p> Adodc1.Recordset.AddNew</p><p> ElseIf Option2.Value = True Then</p><p> Set DataGrid1.DataSource = Adodc2</p><p> Adodc2.Recordset.AddNew</p><p><b&
41、gt; End If</b></p><p><b> End Sub</b></p><p> Private Sub Command2_Click() ‘允許在datagrid中對數(shù)據(jù)進行更新</p><p> DataGrid1.AllowUpdate = True</p><p><
42、b> End Sub</b></p><p> Private Sub Command3_Click() ‘如果選擇的為火車基本信息,則讓datagrid控件中顯示火車基本信息的表。并實現(xiàn)刪除功能。反之則對火車詳細信息表進行刪除操作。</p><p> If Option1.Value = True Then</p><p> Ado
43、dc1.Recordset.Delete</p><p> ElseIf Option2.Value = True Then</p><p> Set DataGrid1.DataSource = Adodc2</p><p> Adodc2.Recordset.Delete</p><p><b> End If</
44、b></p><p><b> End Sub</b></p><p> Private Sub Command4_Click() ‘使用戶不能對datagrid中數(shù)據(jù)進行更新,防止出錯。</p><p> DataGrid1.AllowUpdate = False</p><p><b> E
45、nd Sub</b></p><p> 5.4.查詢系統(tǒng) 在本系統(tǒng)中主要是要求用戶能對火車進行查詢,包括車次查詢,站點查詢以及詳細查詢。另外要求不能對數(shù)據(jù)進行修改。為了實現(xiàn)這些功能,我們用到了datagrid控件,adodc控件,label控件,command控件,text控件。具體代碼如下:</p><p> Private Sub Command1_Click()
46、‘對輸入的兩個站點進行查詢。查詢進過輸入的兩個站點的所有火車。為了實現(xiàn)這個對兩個站點間的查詢,我們使用了子查詢語句。</p><p> Dim strsql As String</p><p> strsql = "select * from 表2 where 車次 in(select 車次 from 表2 Where 站點 in ( '" + Text1
47、 + "', '" + Text2 + "') group by 車次 having count(*)>=2) and 站點 in ( '" + Text1 + "', '" + Text2 + "') order by 編號 asc"</p><p> With Ad
48、odc2</p><p> .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _</p><p> & "Data Source=" + App.Path + "\db3.mdb;Persist Security Info=False"</p>
49、<p> .RecordSource = strsql</p><p> Set DataGrid1.DataSource = Adodc2</p><p><b> .Refresh</b></p><p><b> End With</b></p><p><b>
50、 End Sub</b></p><p> Private Sub Command2_Click() ‘對</p><p> Dim strsql As String</p><p> strsql = "select * from 表2 Where 車次 =" + "'" + Text3 + &q
51、uot;' order by 編號 asc"</p><p> With Adodc2</p><p> .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _</p><p> & "Data Source=" + App.Path
52、+ "\db3.mdb;Persist Security Info=False"</p><p> .RecordSource = strsql</p><p> Set DataGrid1.DataSource = Adodc2</p><p><b> .Refresh</b></p><p&g
53、t;<b> End With</b></p><p><b> End Sub</b></p><p> Private Sub Command3_Click() ‘對輸入的車次進行查詢,輸出該車次的信息。</p><p> Dim strsql As String</p><p>
54、strsql = "select * from 表2 order by 編號 asc"</p><p> With Adodc2</p><p> .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _</p><p> & "Data So
55、urce=" + App.Path + "\db3.mdb;Persist Security Info=False"</p><p> .RecordSource = strsql</p><p> Set DataGrid1.DataSource = Adodc2</p><p><b> .Refresh</b
56、></p><p><b> End With</b></p><p><b> End Sub</b></p><p> Private Sub Form_Load() ‘使datagrid中輸出的數(shù)據(jù)不能進行修改。</p><p> DataGrid1.AllowAddNew
57、= False</p><p> DataGrid1.AllowDelete = False</p><p> DataGrid1.AllowUpdate = False</p><p><b> End Sub</b></p><p> 5.5.購票退票系統(tǒng) 在該系統(tǒng)中要實現(xiàn)的功能是支持售票員對游客購票的車次
58、的查詢,以及購票的操作,其中包括對票價的顯示,座位數(shù)的加減,尤其是實時對數(shù)據(jù)庫的車票情況的更新,以及購買硬座、硬臥、軟臥、站票這不同車票的區(qū)別。為此,我們使用了label控件,frame控件,text控件,options控件,datagrid控件,adodc控件以及command控件。具體功能實現(xiàn)如下:(查詢的實現(xiàn)與查詢系統(tǒng)的相似,不在這里列出)</p><p> Private Sub Command1_Cl
59、ick() </p><p> '實現(xiàn)乘客購票的顯示,以及實時對數(shù)據(jù)庫中的車票信息進行更新。 Label9.Caption = </p><p> Text2.Text Label11.Caption = Text1.Text Label10.Caption = Text3.Text </p><p> Label12.Caption = Adodc1
60、.Recordset.Fields("發(fā)車時間") If Option1.Value = True </p><p> Then Label13.Caption = Option1.Caption Adodc1.Recordset.Fields("軟臥剩余票數(shù)") </p><p> = Adodc1.Recordset.Fields("
61、;軟臥剩余票數(shù)") - 1 Label17.Caption = </p><p> Adodc1.Recordset.Fields("軟臥剩余票數(shù)") ElseIf Option2.Value = True Then </p><p> Label13.Caption = Option2.Caption Adodc1.Recordset.Fields(&q
62、uot;硬臥剩余票數(shù)") = </p><p> Adodc1.Recordset.Fields("硬臥剩余票數(shù)") - 1 Label17.Caption = </p><p> Adodc1.Recordset.Fields("硬臥剩余票數(shù)") ElseIf Option4.Value = True Then </p>
63、<p> Label13.Caption = Option4.Caption Adodc1.Recordset.Fields("硬座剩余票數(shù)") = </p><p> Adodc1.Recordset.Fields("硬座剩余票數(shù)") - 1 Label17.Caption = </p><p> Adodc1.Recordset
64、.Fields("硬座剩余票數(shù)") End If Label14.Caption = Text4.Text </p><p> Label15.Caption = Adodc1.Recordset.Fields("車次類型") Label16.Caption = Date </p><p><b> End Sub</b>&
65、lt;/p><p> Private Sub Command3_Click() ‘通過option控件,查詢出不同座位價格并把價格顯示到text控件中。</p><p> If Option1.Value = True Then</p><p> Label20.Caption = (Text4.Text) * 0.8</p><p>
66、 Adodc1.Recordset.Fields("軟臥剩余票數(shù)") = Adodc1.Recordset.Fields("軟臥剩余票數(shù)") + 1</p><p> Label17.Caption = Adodc1.Recordset.Fields("軟臥剩余票數(shù)")</p><p> ElseIf Option2.Val
67、ue = True Then</p><p> Label20.Caption = (Text4.Text) * 0.8</p><p> Adodc1.Recordset.Fields("硬臥剩余票數(shù)") = Adodc1.Recordset.Fields("硬臥剩余票數(shù)") + 1</p><p> Label17.
68、Caption = Adodc1.Recordset.Fields("硬臥剩余票數(shù)")</p><p> ElseIf Option4.Value = True Then</p><p> Label20.Caption = (Text4.Text) * 0.8</p><p> Adodc1.Recordset.Fields("
69、硬座剩余票數(shù)") = Adodc1.Recordset.Fields("硬座剩余票數(shù)") + 1</p><p> Label17.Caption = Adodc1.Recordset.Fields("硬座剩余票數(shù)")</p><p><b> End If</b></p><p><
70、b> End Sub</b></p><p> Private Sub Option1_Click() ‘選擇軟臥,并把軟臥的剩余票數(shù)輸出。</p><p> Dim a As Double, b As Double</p><p> Adodc1.Recordset.MoveFirst</p><p> a
71、= Adodc1.Recordset.Fields("軟臥票價")</p><p> Adodc1.Recordset.MoveNext</p><p> b = Adodc1.Recordset.Fields("軟臥票價")</p><p> Text4.Text = b - a</p><p>
72、; Label17.Caption = Adodc1.Recordset.Fields("軟臥剩余票數(shù)")</p><p><b> End Sub</b></p><p> 5.6.此外,在系統(tǒng)設計過程中,我們發(fā)現(xiàn)如果直接使用adodc控件對數(shù)據(jù)庫進行關聯(lián),將使得我們設計的軟件只能在指定的路徑中才能運行,為此,我們查閱了相關資料,在軟件設計
73、過程中動態(tài)設置我們數(shù)據(jù)庫的路徑,從而使軟件能在不同的路徑中正常運行,代碼如下:</p><p> With Adodc1</p><p> .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _</p><p> & "Data Source=" + A
74、pp.Path + "\db3.mdb;Persist Security Info=False"</p><p><b> .Refresh</b></p><p> End With5. 系統(tǒng)調試</p><p><b> 5.1.登陸系統(tǒng)</b></p><p> 圖
75、5.1:此為密碼輸入錯誤提示。</p><p> 圖5.2:此為密碼輸入正確后跳轉到主菜單的界面。</p><p> 圖5.3:此為選擇乘客后正確跳轉到查詢的界面。</p><p><b> 圖5.1</b></p><p><b> 圖5.2</b></p><p>
76、;<b> 圖5.3</b></p><p><b> 5.2.查詢系統(tǒng)</b></p><p> 圖5.4:此為輸入長沙到常德的站點查詢后正確查詢出的信息。</p><p> 圖5.5:此為輸入1374車次后正確查詢出的車次信息。</p><p> 圖5.6:此為點擊詳細查詢后正確輸出的
77、信息。</p><p><b> 圖5.4</b></p><p><b> 圖5.5</b></p><p><b> 圖5.6</b></p><p><b> 5.3.更新系統(tǒng)</b></p><p> 圖5.7:此
78、為未更新前顯示信息。</p><p> 圖5.8:此為插入1234車次后顯示信息。</p><p> 圖5.9:此為刪除1234車次后顯示信息。</p><p><b> 圖5.7</b></p><p><b> 圖5.8</b></p><p><b>
79、 圖5.9</b></p><p><b> 5.4.購票系統(tǒng)。</b></p><p> 圖5.10:此為輸入站點,車次后過濾出的車次信息。</p><p> 圖5.11:此為在圖十的基礎上選擇軟座后顯示的票價及剩余票數(shù)信息。</p><p> 圖5.12:此為點擊確定購買后顯示的信息,包括對剩余
80、票數(shù)的更新信息。</p><p><b> 圖5.10</b></p><p><b> 圖5.11</b></p><p><b> 圖5.12</b></p><p><b> 5.5.退票系統(tǒng)</b></p><p>
81、 圖5.13:此為初始狀態(tài)。</p><p> 圖5.14:此為在輸入與購票系統(tǒng)相同信息后輸出的退還現(xiàn)金數(shù)目。</p><p><b> 圖5.13</b></p><p><b> 圖5.14</b></p><p><b> 6.小結</b></p>
82、<p> 對于此次課程設計我感慨頗多,的確,從拿到題目到完成整個編程,從理論到實踐,在整整兩個星期的日子里,學到的很多理論知識,在這次課程設計實習中更具體的體現(xiàn)了出來,在實踐過程中,不僅鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學到的理論知識與實踐相結合起來,從理論中得出結論,將結論輔助與理論,才能真正學到知識并
83、寫出有用的程序,所以提高自己的實際動手能力和獨立思考的能力是十分重要的。在設計的過程中遇到很多的問題,可以說得是困難重重,由于對以前所學過的知識理解得不夠深刻,掌握得不夠牢固。導致自己在程序設計過程中經(jīng)常出錯,致使程序無法運行或無法實現(xiàn)要求的步驟。還有很多是些小問題,這都是由于我粗心大意而造成的,所以我認識到設計程序一定要仔細,容不得絲毫的馬虎和粗心大意。當然還有其他的問題,尤其是關于文件的操作,是我們最大的問題,不過,經(jīng)過老師的講解和
84、改錯之后,也開始懂得設計和運用了。</p><p><b> 附錄源代碼</b></p><p> from1(登陸界面):</p><p> Private Sub Command1_Click()</p><p> If Option1.Value = True Then</p><p&g
85、t; If Text1.Text = "" Then</p><p> MsgBox "請輸入賬號"</p><p> ElseIf Text2.Text = "" Then</p><p> MsgBox "請輸入密碼"</p><p> ElseIf
86、 Text1.Text <> "" Then</p><p> Dim strsql As String</p><p> strsql = "select * from 表3 Where id=" + "'" + Text1 + "'"</p><p>
87、 With Adodc1</p><p> .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _</p><p> & "Data Source=" + App.Path + "\db3.mdb;Persist Security Info=False"&l
88、t;/p><p> .RecordSource = strsql</p><p><b> .Refresh</b></p><p><b> End With</b></p><p> If Adodc1.Recordset.EOF = True Then</p><p&g
89、t; MsgBox "賬號信息錯誤"</p><p> ElseIf Text2.Text <> Adodc1.Recordset.Fields("passnum") Then</p><p> MsgBox "密碼錯誤"</p><p> ElseIf Text2.Text = Ado
90、dc1.Recordset.Fields("passnum") Then</p><p> Form1.Hide</p><p> Form2.Show</p><p><b> End If</b></p><p><b> End If</b></p>
91、<p> ElseIf Option2.Value = True Then</p><p> Form3.Show</p><p> Form1.Hide</p><p><b> End If</b></p><p><b> End Sub</b></p>&l
92、t;p> Private Sub Command2_Click()</p><p><b> End</b></p><p><b> End Sub</b></p><p> Private Sub Form_Load()</p><p><b> End Sub<
93、/b></p><p> Private Sub Timer1_Timer()</p><p> Label4.Caption = Now</p><p><b> End Sub</b></p><p> from2(主菜單):</p><p> Private Sub Comm
94、and1_Click()</p><p> Form2.Hide</p><p> Form4.Show</p><p><b> End Sub</b></p><p> Private Sub Command2_Click()</p><p> Form2.Hide</p>
95、;<p> Form5.Show</p><p><b> End Sub</b></p><p> Private Sub Command3_Click()</p><p><b> End</b></p><p><b> End Sub</b>&l
96、t;/p><p> Private Sub Command4_Click()</p><p> Form2.Hide</p><p> Form5.Show</p><p><b> End Sub</b></p><p> Private Sub Command5_Click()</
97、p><p> Form2.Hide</p><p> Form3.Show</p><p><b> End Sub</b></p><p> from3(查詢系統(tǒng)):</p><p> Private Sub Command1_Click()</p><p> D
98、im strsql As String</p><p> strsql = "select * from 表2 where 車次 in(select 車次 from 表2 Where 站點 in ( '" + Text1 + "', '" + Text2 + "') group by 車次 having count(*)>
99、=2) and 站點 in ( '" + Text1 + "', '" + Text2 + "') order by 編號 asc"</p><p> With Adodc2</p><p> .ConnectionString = "Provider=Microsoft.Jet.OLEDB.
100、4.0;" _</p><p> & "Data Source=" + App.Path + "\db3.mdb;Persist Security Info=False"</p><p> .RecordSource = strsql</p><p> Set DataGrid1.DataSource
101、= Adodc2</p><p><b> .Refresh</b></p><p><b> End With</b></p><p><b> End Sub</b></p><p> Private Sub Command2_Click()</p>
102、<p> Dim strsql As String</p><p> strsql = "select * from 表2 Where 車次 =" + "'" + Text3 + "' order by 編號 asc"</p><p> With Adodc2</p><p>
103、; .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _</p><p> & "Data Source=" + App.Path + "\db3.mdb;Persist Security Info=False"</p><p> .RecordSourc
104、e = strsql</p><p> Set DataGrid1.DataSource = Adodc2</p><p><b> .Refresh</b></p><p><b> End With</b></p><p><b> End Sub</b></
105、p><p> Private Sub Command3_Click()</p><p> Dim strsql As String</p><p> strsql = "select * from 表2 order by 編號 asc"</p><p> With Adodc2</p><p>
106、; .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _</p><p> & "Data Source=" + App.Path + "\db3.mdb;Persist Security Info=False"</p><p> .RecordSourc
107、e = strsql</p><p> Set DataGrid1.DataSource = Adodc2</p><p><b> .Refresh</b></p><p><b> End With</b></p><p><b> End Sub</b></
108、p><p> Private Sub Form_Load()</p><p> DataGrid1.AllowAddNew = False</p><p> DataGrid1.AllowDelete = False</p><p> DataGrid1.AllowUpdate = False</p><p>&l
109、t;b> End Sub</b></p><p> Private Sub Label4_Click()</p><p> Form1.Show</p><p> Form3.Hide</p><p><b> End Sub</b></p><p> Private
110、 Sub Label5_Click()</p><p><b> End</b></p><p><b> End Sub</b></p><p> from4(更新系統(tǒng)):</p><p> Private Sub Command1_Click()</p><p>
111、 If Option1.Value = True Then</p><p> Set DataGrid1.DataSource = Adodc1</p><p> Adodc1.Recordset.AddNew</p><p> ElseIf Option2.Value = True Then</p><p> Set DataGr
112、id1.DataSource = Adodc2</p><p> Adodc2.Recordset.AddNew</p><p><b> End If</b></p><p><b> End Sub</b></p><p> Private Sub Command2_Click()<
113、;/p><p> DataGrid1.AllowUpdate = True</p><p><b> End Sub</b></p><p> Private Sub Command3_Click()</p><p> If Option1.Value = True Then</p><p>
114、 Adodc1.Recordset.Delete</p><p> ElseIf Option2.Value = True Then</p><p> Set DataGrid1.DataSource = Adodc2</p><p> Adodc2.Recordset.Delete</p><p><b> End If
115、</b></p><p><b> End Sub</b></p><p> Private Sub Command4_Click()</p><p> DataGrid1.AllowUpdate = False</p><p><b> End Sub</b></p>
116、;<p> Private Sub Form_Load()</p><p> strsql = "select * from 表1 "</p><p> With Adodc1</p><p> .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;"
117、 _</p><p> & "Data Source=" + App.Path + "\db3.mdb;Persist Security Info=False"</p><p> .RecordSource = strsql</p><p><b> .Refresh</b></p&g
118、t;<p><b> End With</b></p><p> strsql1 = "select * from 表2 "</p><p> With Adodc2</p><p> .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;
119、" _</p><p> & "Data Source=" + App.Path + "\db3.mdb;Persist Security Info=False"</p><p> .RecordSource = strsql1</p><p><b> .Refresh</b>&
120、lt;/p><p><b> End With</b></p><p> DataGrid1.AllowUpdate = False</p><p><b> End Sub</b></p><p> Private Sub Label1_Click()</p><p>
121、<b> End</b></p><p><b> End Sub</b></p><p> Private Sub Label2_Click()</p><p> Form2.Show</p><p> Form4.Hide</p><p><b>
122、End Sub</b></p><p> Private Sub Option1_Click()</p><p> Set DataGrid1.DataSource = Adodc1</p><p><b> End Sub</b></p><p> Private Sub Option2_Click
123、()</p><p> Set DataGrid1.DataSource = Adodc2</p><p><b> End Sub</b></p><p> from5(購票退票系統(tǒng)):</p><p> Private Sub Command1_Click()</p><p> La
124、bel9.Caption = Text2.Text</p><p> Label11.Caption = Text1.Text</p><p> Label10.Caption = Text3.Text</p><p> Label12.Caption = Adodc1.Recordset.Fields("發(fā)車時間")</p>
125、<p> If Option1.Value = True Then</p><p> Label13.Caption = Option1.Caption</p><p> Adodc1.Recordset.Fields("軟臥剩余票數(shù)") = Adodc1.Recordset.Fields("軟臥剩余票數(shù)") - 1</p&g
126、t;<p> Label17.Caption = Adodc1.Recordset.Fields("軟臥剩余票數(shù)")</p><p> ElseIf Option2.Value = True Then</p><p> Label13.Caption = Option2.Caption</p><p> Adodc1.Rec
127、ordset.Fields("硬臥剩余票數(shù)") = Adodc1.Recordset.Fields("硬臥剩余票數(shù)") - 1</p><p> Label17.Caption = Adodc1.Recordset.Fields("硬臥剩余票數(shù)")</p><p> ElseIf Option4.Value = True Th
128、en</p><p> Label13.Caption = Option4.Caption</p><p> Adodc1.Recordset.Fields("硬座剩余票數(shù)") = Adodc1.Recordset.Fields("硬座剩余票數(shù)") - 1</p><p> Label17.Caption = Adodc
129、1.Recordset.Fields("硬座剩余票數(shù)")</p><p> ElseIf Option5.Value = True Then</p><p> Label13.Caption = Option5.Caption</p><p> Adodc1.Recordset.Fields("硬座剩余票數(shù)") = Ad
130、odc1.Recordset.Fields("硬座剩余票數(shù)") - 1</p><p> Label17.Caption = Adodc1.Recordset.Fields("硬座剩余票數(shù)")</p><p><b> End If</b></p><p> Label14.Caption = Te
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鐵路票務系統(tǒng) 課程設計報告
- 數(shù)據(jù)庫課程設計-列車票務管理系統(tǒng)
- 數(shù)據(jù)庫課程設計報告-鐵路網(wǎng)上售票系統(tǒng)
- 大型數(shù)據(jù)庫課程設計--火車站票務管理系統(tǒng)
- 網(wǎng)絡課程設計--旅游景區(qū)自動票務系統(tǒng)設計方案
- 數(shù)據(jù)庫課程設計報告---餐飲系統(tǒng)
- 單路數(shù)據(jù)采集系統(tǒng)課程設計報告
- c課程設計鐵路售票系統(tǒng)
- 數(shù)據(jù)結構課程設計——課程設計報告模板
- 數(shù)據(jù)結構課程設計報告-學校導游系統(tǒng)
- 數(shù)據(jù)庫課程設計報告--ktv點歌系統(tǒng)
- 民航售票系統(tǒng)(數(shù)據(jù)庫課程設計報告)
- 數(shù)據(jù)庫課程設計報告---餐飲管理系統(tǒng)
- 數(shù)據(jù)結構課程設計報告--車庫管理系統(tǒng)
- 微機原理課程設計報告--數(shù)據(jù)采集顯示系統(tǒng)
- 數(shù)據(jù)庫課程設計報告--食堂管理系統(tǒng)
- 數(shù)據(jù)結構課程設計報告--校園導游系統(tǒng)
- 數(shù)據(jù)庫課程設計報告(教材管理系統(tǒng))
- 數(shù)據(jù)庫課程設計報告--餐飲管理系統(tǒng)
- 數(shù)據(jù)庫課程設計報告---酒店管理系統(tǒng)
評論
0/150
提交評論