


版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1. 課程設計的目的與意義1.1、課程設計的目的數據庫課程設計是數據庫系統原理實踐環節的及為重要的一部分其目的是:(1) 培養學生能夠應用數據庫系統原理在需求分析的基礎上對系統進行概念 設計,學會設計局部ER,全局ER圖;(2) 培養學生能夠應用數據庫系統在概念設計的基礎上應用關系規化理論對 系統進行邏輯設計,學會在ER圖基礎上設計出易于查詢和操作的合理的 規化關系模型;(3) 培養學生能夠應用SQL語言對所設計的規化關系模型進行物理設計,并 且能夠應用事務處理,存儲過程,觸發器以保證數據庫系統的數據完整性 安全性,一致性,保證數據共享和防止數據沖突;(4) 培養學生理論與實際相結合能力,培養
2、學生開發創新能力;(5) 培養學生獨立分析問題、解決問題、查閱資料以及自學能力,以適應計算機產業日新月異發展的形勢;(6) 提高和加強學生的計算機應用與軟件開發能力,使學生由初學者向專業 的程序員過渡。1.2、課程設計的意義目前,我國在計算機應用、計算機軟件和電子類相關專業的人才培養方面,取得了長足的發展,但同時也讓我們深刻地感覺到缺乏實際開發設計項目的經驗,不善與綜合運用所學理論,對知識的把握缺乏融會貫通的能力尤其是我們計算機專業大學生,由于缺乏具體項目經驗,畢業之后普遍感到知識不能轉化為 能力。課程設計可以鍛煉我們理論聯系實際的能力,為今后工作做鋪墊。信息時代已經來臨,信息處理的利器一一計
3、算機應用于火車站售票的日常管 理為火車站售票的現代化帶來了從未有過的動力和機遇,為火車站票務管理領域 的飛速發展提供了無限潛力。采用計算機管理信息系統已成為火車站票務管理科 學化和現代化的重要標志,給火車站票務帶來了明顯的經濟效益和社會效益 。計 算機已經成為人們生活不可卻小的一部分。鐵路票務管理是一件比較負責但又非 常重要的事情,它是涉及國家鐵路運輸的正常工作、 國民經濟的發展和人民生活 水平及質量的大事情。隨著經濟的發展,交通運輸越來越便捷,為了提高效率, 減輕勞動強度,設計開發高效的鐵路信息查詢系統就顯得頗為重要。火車售票管 理中包含許多容,有鐵路乘客運輸的運力問題,有訂票管理問題等等。
4、鐵路信息 查詢系統是企業信息決策和管理的重要的組成部分,是一種典型的信息管理系統(MIS),其開發主要包括后臺的數據庫的建立、 維護以及前端的相應應用程序的 開發兩個方面的容,數據庫的建立和維護主要要求其管理數據的一致性、 完整性、 安全性等特點,而前臺的應用程序開發則要求做到各項功能要完備、操作要簡便、 易學易用等特點。本課程設計專門要解決這些問題,由于鐵路火車票務管理的復 雜性,本設計與開發也僅是一個嘗試性的工作,但其中有很多重要的思想和方法, 涉及一些重要的程序代碼,對于研究開發該類程序的工程人員可以起一個拋磚引 玉的作用。2. 需求分析2.1.需求分析的任務隨著旅游業的逐漸的成熟發達,
5、鐵路客運量大幅度的提高,各大省市的列 車都顯著的增加,這些都對列車票務管理系統提出了更高的要求, 所以要不斷的 完善更新列車票務管理系統,提高列車售票系統的工作效率。隨著科學的不斷進 步,計算機應用已經遍布整個社會的每個角落。 目前社會正處于健保發展方興未 艾的時代,各火車站莫不兢兢業業地改善本身的體制或管理方式,以適應健保越來越嚴格的規。列車在我國的人員流動、物資運輸中占據著舉足輕重的地位。 全 國有大量的人員通過搭乘火車到達目的地。而與火車的特殊性及可能經過多個城 市,每個城市的車站可以出售此火車的車票。而且同一車站可能有多輛車經過。 許多希望以最快的方式選擇自己想來乘坐的那一趟列車。 所
6、以以人工的方式是不 可能實現這種功能的。一種可行的方案是基于客戶端服務器的體系結構。服務器 為數據庫系統,存儲所有必要的信息。客戶端通過連接到服務的應用程序快速、 準確地完成相應的工作,通過網上訂購,可以達到高效、便捷的購票。列車票務 管理系統的實施,將會在一定程度上促進鐵路客運生產力和生產關系的變革,增強市場競爭能力,提高鐵路部門的工作效率,提升管理水平,減少勞動強度,方便廣大旅客購票,有一定的社會和經濟效益。22 系統需要實現的功能和操作如下:(1) .查詢:可以通過起點站與終點站在進行查詢, 也可根據具體的車次輸入 進行查詢,同時每次查詢都會顯示車次號,點擊即可顯示該趟列車所進過站點的
7、詳細信息,其中包括所到達每個站的到達時間與出發時間。(2) .客戶注冊、注銷:由于要進行網上訂購車票,用戶需注冊,填寫有關信 息,由物流公司負責送車票到客戶手中。如果用戶不再使用本系統可以選擇注銷, 從而從數據庫中刪除其有關記錄。(3) .訂票業務:本系統為網上訂票,用戶經過查詢車次信息、票務信息,找 到自己所需的車票通過所關聯的賬戶進行訂購。(4) .退票業務:根據客戶提供的情況(車次、時間、)為客戶辦理退票手續,退票時按票價的80%退給客戶金額,若所退票額能滿足他的要求,則為他辦理退 票手續,同時在數據庫中進行更新。(5) .更新功能:該系統隨時跟據車輛的變化情況進行更新,增加車輛時可 以
8、在系統中插入該車的詳細信息,同時也能根據需要修改某趟車經過的站點與發 車時間,當某趟車停止、開行時可以刪除該趟車的信息。同時包括對列車信息、 站點信息、管理人員信息、訂票記錄等的更新功能。(6) .車票配送:客戶在訂購了車票之后,管理人員通過后臺管理訂票記錄 然后根據客戶的要求選擇物流公司及時為其配送車票。3. 系統設計3.1總體設計1.功能設計:該鐵路票務系統流程主要包括客戶操作、 管理人員操作、主管操作: 客戶操作:查詢操作:可以按照車次或始發站、終點站兩種方式進行查詢,只需要輸入關 鍵信息即可查到所需的車次的有關信息,包括車的類型、所剩票 的類型、數量、票價等。注冊操作:網上訂票,需要與
9、客戶的銀行賬號、地址等有關信息關聯,只有進行注冊之后才可以進行訂票操作。訂票操作:客戶進行注冊后,可以方便地進行訂票,可以選擇支付方式與送票 方式,以達到最快速、高效地完成車票的訂購。退票操作:由于一些原因,可能造成客戶要求退票,系統根據具體的情況判定 是否可以退票,進行退票。注銷操作:客戶可能因為某些原因要進行注銷操作, 系統根據客戶請求完成客 戶注銷,刪除數據庫中的該客戶有關信息。2.功能模塊圖車票編3.局部ER圖(以客戶為主體)n物流公司口送票1查詢票務信息1身份證號n客戶數量車票類型1n車票1列車途徑站點起始時間屬于里程到達時間住址電話f m 支付類型密i=r姓名m統計車票類型2nn日
10、期車次 車類型起始站訂購3.2詳細設計:邏輯結構設計用戶(用戶賬號,用戶詳細信息(用戶賬號,性別,地址,支付方式)支付類型(類型編號,支付類型)網上銀行(銀行編號,銀行名稱)訂票記錄(用戶編號,車票編號,數量,訂票日期)票務信息(車票編號,剩余數量,日期)票類型1 (票類型編號1,票類型名稱1)票類型2 (票類型編號2,票類型名稱2)物流公司(物流公司編號,物流公司名稱)數據庫物理設計用戶表:字段名稱數據類型寬度可否為空是否為主鍵說明ID8char20否是用戶賬號passwordchar16否否用戶密碼用戶詳細信息表:字段名稱數據類型寬度可否為空是否為主鍵說明ID8char20否是用戶賬號Na
11、mechar20否否Sexnoint1否否性別編號telchar11否否Addresschar30否否地址zhif unoint1否否支付方式支付類型表:字段名稱數據類型寬度可否為空是否為主鍵說明zhif unoint1否是類型編號zhifuchar20否否支付類型網上銀行:字段名稱數據類型寬度可否為空是否為主鍵說明Banknoint1否是銀行編號Ba nkchar20否否銀行名稱訂票記錄:字段名稱數據類型寬度可否為空是否為主鍵說明ID8char20否是用戶IDchar20否是車票編號numint1否否數量Datedatetime1否否訂票日期票務信息表:字段名稱數據類型寬度可否為空是否為主鍵
12、說明IDchar20否是車票編號num1int1否否剩余數量Date1datetime1否否日期票類型1表:字段名稱數據類型寬度可否為空是否為主鍵說明Type1int1否是票類型編號1Type1nachar20否否票類型名稱1票類型2表:字段名稱數據類型寬度可否為空是否為主鍵說明Type2int1否是票類型編號2Type2nachar20否否票類型名稱2物流公司(物流公司編號,物流公司名稱)字段名稱數據類型寬度可否為空是否為主鍵說明transnoInt1否是物流公司編號transnaChar20否否物流公司名稱3.2系統數據庫設計3.2.1. 該系統由兩部分組成:登錄部分和車次車票部分。(1)
13、 .登錄部分:該部分分為管理員與乘客登錄,管理員登錄時需要設定賬號與密碼,只有輸入正確的賬號與密碼才能登陸,同時系統的功能管理員都能操作, 乘客不需要賬號與密碼,但是乘客只有查詢的操作權限。(2) .車次車票部分:該部分又分為四個子系統:查詢系統:可以查詢車次基本信息與車次詳細。購票系統:用于乘客購票,同時顯示剩余票數與票價。更新系統:當車次信息有變化時,管理員可以根據情況插入和刪除車次信息。退票系統:用于乘客需要退票時,且退票時只退票價的80%圖3.2該系統流程圖如下開始錯誤客 乘查詢系統返回退退出作、11出M4士擊1-d圖3.24. 系統實現設計的火車站售票系統主要分為五個模塊:5.1.
14、登陸模塊。在登陸系統中,所需要的功能就是對輸入的賬號和密碼與數據庫中的賬號信息進行匹配查詢。其實現使用了 text控件,adodc控件,frame控件,option控件,comman(控件以及label控件。主要代碼如下:Private Sub Comma nd1_Click() If Optio nl.Value = True The n '判斷是否是管理員登陸If Text1.Text = "" The n 'MsgBox "請輸入賬號"ElseIf Text2.Text = "" The nMsgBox &quo
15、t;請輸入密碼"ElseIf Text1.Text <> "" The nDim strsql As Stri ngstrsql = "select * from如果賬號中輸入為空則顯示"請輸入賬號"如果密碼框輸入為空則顯示"請輸入密碼"當賬號框中輸入不為空表 3 Where id=" + "”' + Textl + 從數據庫中找到賬號等于賬號框中輸入的數據時With AdodclCo nn ectio nStri ng = "Provider=Microsoft
16、.J et.OLEDB.4.0;" _&"Data Source=" + App.Path +"db3.mdb;Persist Security Info=False".RecordSource = strsql.RefreshEnd WithIf Adodc1.Recordset.EOF = True The nMsgBox "賬號信息錯誤"ElseIf Text2.Text <> Adodc1.Recordset.Fields("pass nu m") ThenMsgBox &qu
17、ot;密碼錯誤"Elself Text2.Text = Adodc1.Recordset.Fields("pass nu m") Then密碼框中輸入的數據與數據庫的密碼相符時Form1.HideForm2.ShowEnd IfEnd IfElseIf Optio n2.Value = True The n '如果選擇為游客登錄則跳轉到游客查詢界面Form3.ShowForm1.HideEnd IfEnd Sub另外為了美化界面,增加登陸界面的功能,添加了 time控件,將計算機系統時間顯示在lable控件中,具體代碼如下:Private Sub Time
18、r1_Timer()Label4.Capti on = NowEnd Sub5.2. 主菜單即管理員登陸進入后的操作菜單。本界面中用到了comman(控件作用是跳轉到操作員所需要的界面。主要代碼示例如下:Private Sub Comma nd1_Click()'當前主菜單隱藏,更新系統顯示。Form2.HideForm4.ShowEnd Sub53更新系統更新系統中主要要求對數據庫中的表的數據進行修改,主要包括 插入,修改,刪除。在這些功能的實現中我們使用了 adodc控件,option控件, label控件,datagrid 控件。主要代碼如下:Private Sub Comma
19、nd1_Click()'如果選擇的為火車基本信息,則讓datagrid控件中顯示火車基本信息的表。并實現插入功能。反之則對火車詳細 信息表進行插入操作。If Optio nl.Value = True The nSet DataGridl.DataSource = AdodclElself Optio n2.Value = True The nSet DataGrid1.DataSource = Adodc2End IfEnd SubPrivate Sub Command2_Click()'允許在 datagrid 中對數據進行更新DataGrid1.AllowUpdate =
20、 TrueEnd SubPrivate Sub Command3_Click()'如 果選擇 的為火車基本 信息,則讓datagrid 控件中顯示火車基本信息的表。并實現刪除功能。反之則對火車詳細 信息表進行刪除操作。If Optio n1.Value = True The nElseIf Optio n2.Value = True The nSet DataGrid1.DataSource = Adodc2End IfEnd Sub'使用戶不能對datagrid中數據進行更新,Private Sub Comma nd4_Click()防止出錯。DataGrid1.AllowU
21、pdate = FalseEnd Sub54查詢系統 在本系統中主要是要求用戶能對火車進行查詢,包括車次查詢, 站點查詢以及詳細查詢。另外要求不能對數據進行修改。為了實現這些功能,我們用到了 datagrid 控件,adodc控件,label控件,comman控件,text控件。 具體代碼如下:Private Sub Command1_Click()'對輸入的兩個站點進行查詢。查詢進過輸入 的兩個站點的所有火車。為了實現這個對兩個站點間的查詢,我們使用了子查詢 語句。Dim strsql As Stri ngstrsql = "select * from表 2 where 車
22、次 in (select 車次 from 表 2Where 站點 in ( '" + Textl + "', '" + Text2 + "') group by車次 hav ingcou nt(*)>=2) and站點 in ( '" + Textl + "', '" + Text2 + "') order by編號asc"With Adodc2.Conn ectio nStri ng = "Provider=Microsof
23、t .J et.OLEDB.4.0;" _&"Data Source=" + App.Path +"db3.mdb;Persist Security Info=False".RecordSource = strsqlSet DataGridl.DataSource = Adodc2.RefreshEnd WithEnd SubPrivate Sub Comma nd2_Click()'對Dim strsql As Stri ngstrsql = "select * from表 2 Where 車次="+ &q
24、uot;” + Text3 + "' orderby編號asc"With Adodc2.Conn ectio nStri ng = "Provider=Microsoft .J et.OLEDB.4.0;" _"Data Source=" + App.Path"db3.mdb;Persist Security Info=False".RecordSource = strsqlSet DataGrid1.DataSource = Adodc2 .RefreshEnd WithEnd SubPrivate Su
25、b Command3_Click()'對輸入的車次進行查詢,輸出該車次的信息Dim strsql As Stri ngstrsql = "select * from表 2 order by 編號 asc"With Adodc2.Conn ectio nStri ng = "Provider=Microsoft .J et.OLEDB.4.0;" _&"Data Source=" + App.Path"db3.mdb;Persist Security In fo=False".RecordSource
26、 = strsqlSet DataGridl.DataSource = Adodc2.RefreshEnd WithEnd SubPrivate Sub Form_Load()'使datagrid 中輸出的數據不能進行修改。DataGridl.AllowAddNew = FalseDataGridl.AllowDelete = FalseDataGridl.AllowUpdate = FalseEnd Sub5.5.購票退票系統在該系統中要實現的功能是支持售票員對游客購票的車次 的查詢,以及購票的操作,其中包括對票價的顯示,座位數的加減,尤其是實時 對數據庫的車票情況的更新,以及購買硬
27、座、硬臥、軟臥、站票這不同車票的區 另為此,我們使用了 label控件,frame控件,text控件,options控件,datagrid 控件,adodc控件以及commanc控件。具體功能實現如下:(查詢的實現與查詢 系統的相似,不在這里列出)Private Sub Comma nd1_Click()'實現乘客購票的顯示,以及實時對數據庫中的車票信息進行更新。Label9.Capti on =Text2.Text Label11.C aptio n = Text1.Text Label10.Captio n = Text3.Text(” 發車時間")If Option1.
28、Value =TrueThe n Label13.C aptio n = Optio n1.C apti on Adodc1.Recordset.Fields("軟臥剩余票數")=Adodc1.Recordset.Fields("軟臥剩余票數")-1 Label17.Caption =Adodc1.Recordset.Fields("軟臥剩余票數")ElseIf Option2.Value = TrueThe nLabel13.Capti on = Optio n2.C apti on Adodc1.Recordset.Fields(
29、"硬臥剩余票Adodc1.Recordset.Fields("硬臥剩余票數")-1 Label17.Caption =Adodc1.Recordset.Fields(" 硬臥剩余票數")ElseIf Option4.Value = TrueThe nLabel13.Captio n = Optio n4 .C apti on Adodc1.Recordset.Fields("硬座剩余票Adodc1.Recordset.Fields("硬座剩余票數")-1 Label17.Caption =Adodc1.Record
30、set.Fields(" 硬座剩余票數")End If Label14.Caption =Text4.TextLabel15.Caption= Adodc1.Recordset.Fields("車次類型")Label16.Caption=DateEnd SubPrivate Sub Command3_Click()'通過option控件,查詢出不同座位價格并把價格顯示到text控件中。If Optio nl.Value = True The nLabel20.Caption = (Text4.Text) * 0.8(”軟臥剩余票數(” 軟臥剩余票
31、數")+ 1Label17.Caption = Adodc1.Recordset.Fields("軟臥剩余票數")ElseIf Optio n2.Value = True The nLabel20.C aptio n = (Text4.Text) * 0.8Adodc1.Recordset.Fields(" 硬臥剩余票數")=Adodc1.Recordset.Fields(" 硬 臥剩余票數")+ 1Label17.Caption = Adodc1.Recordset.Fields("硬臥剩余票數")El
32、seIf Optio n4.Value = True The nLabel20.C aptio n = (Text4.Text) * 0.8Adodc1.Recordset.Fields(" 硬座剩余票數")=Adodc1.Recordset.Fields(" 硬 座剩余票數")+ 1Label17.Caption = Adodc1.Recordset.Fields("硬座剩余票數")End If'選擇軟臥,并把軟臥的剩余票數輸出軟臥票價")軟臥票價")End SubPrivate Sub Optio n1
33、_Click() Dim a As Double, b As Double Adodcl.Recordset.MoveFirst a = Adodc1.Recordset.Fields(" AdodcI.Recordset.MoveNext b = Adodc1.Recordset.Fields("Text4.Text = b - a軟臥剩余票數")Label17.Caption = Adodc1.Recordset.Fields("End Sub56此外,在系統設計過程中,我們發現如果直接使用adodc控件對數據庫進行 關聯,將使得我們設計的軟件只能在
34、指定的路徑中才能運行,為此,我們查閱了相關資料,在軟件設計過程中動態設置我們數據庫的路徑, 從而使軟件能在不同 的路徑中正常運行,代碼如下:With Adodcl.Conn ectio nStri ng = "Provider=Microsoft .J et.OLEDB.4.0;" _&"Data Source=" + App.Path +"db3.mdb;Persist Security Info=False".RefreshEnd With5. 系統調試5.1.登陸系統圖5.1 :此為密碼輸入錯誤提示。圖5.2 :此為密碼
35、輸入正確后跳轉到主菜單的界面圖5.3 :此為選擇乘客后正確跳轉到查詢的界面。圖5.1圖5.252查詢系統圖5.4 :此為輸入到的站點查詢后正確查詢出的信息。圖5.5 :此為輸入1374車次后正確查詢出的車次信息。圖5.6 :此為點擊詳細查詢后正確輸出的信息。圖5.4圖5.65.3.更新系統圖5.7 :此為未更新前顯示信息。圖5.8 :此為插入1234車次后顯示信息。圖5.9 :此為刪除1234車次后顯示信息圖5.854購票系統。圖5.10 :此為輸入站點,車次后過濾出的車次信息。圖5.11 :此為在圖十的基礎上選擇軟座后顯示的票價及剩余票數信息。圖5.12 :此為點擊確定購買后顯示的信息,包括
36、對剩余票數的更新信息圖 5.10圖 5.11圖 5.125.5.退票系統圖5.13 :此為初始狀態 圖5.14 :此為在輸入與購票系統相同信息后輸出的退還現金數目圖 5.13圖 5.146. 小結對于此次課程設計我感慨頗多,的確,從拿到題目到完成整個編程,從理論 到實踐,在整整兩個星期的日子里,學到的很多理論知識,在這次課程設計實習 中更具體的體現了出來,在實踐過程中,不僅鞏固了以前所學過的知識,而且學 到了很多在書本上所沒有學到過的知識。通過這次課程設計使我懂得了理論與實 際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學到的理論知識與 實踐相結合起來,從理論中得出結論,將結論輔助與理
37、論,才能真正學到知識并 寫出有用的程序,所以提高自己的實際動手能力和獨立思考的能力是十分重要 的。在設計的過程中遇到很多的問題, 可以說得是困難重重,由于對以前所學過 的知識理解得不夠深刻,掌握得不夠牢固。導致自己在程序設計過程中經常出錯, 致使程序無法運行或無法實現要求的步驟。 還有很多是些小問題,這都是由于我 粗心大意而造成的,所以我認識到設計程序一定要仔細, 容不得絲毫的馬虎和粗 心大意。當然還有其他的問題,尤其是關于文件的操作,是我們最大的問題,不 過,經過老師的講解和改錯之后,也開始懂得設計和運用了。在本次實踐中,我認識到了團隊的重要性,團隊需要個人,個人也離不開團 隊,必須發揚團結
38、協作的精神。某個人的離群都可能導致整項工作的失敗。只有 一個人知道原理是遠遠不夠的,必須讓每個人都知道,否則一個人的錯誤,就有 可能導致整個工作失敗。團結協作是我們實習成功的一項非常重要的保證。而這次實習也正好鍛煉我們這一點,這也是非常寶貴的。我很清楚的知道團結協作的 力量是偉大的,如果是我一個人孤軍奮戰的話,肯定不能在規定時間完成這次課 程設計的要求容,因此我很懷念這兩個星期的合作, 想起我們一起查閱資料,一 起討論設計程序的思路,成功的時候一起分享喜悅,失敗的時候互相鼓勵,我堅 信,在這兩個星期的時間里面,我們的友情和團結精神在歷練中經受住了考驗, 變的更加頑強,我們是一個集體的思想已經深
39、入人心!附錄源代碼from1(登陸界面):Private Sub Comma nd1_Click()If Optio nl.Value = True The nIf Text1.Text = "" The nMsgBox "請輸入賬號"ElseIf Text2.Text = "" The nMsgBox "請輸入密碼"ElseIf Text1.Text <> "" The nDim strsql As Stri ngstrsql = "select * from表 3 Wh
40、ere id=" + "”' + Textl + "”'With Adodcl.Conn ectio nStri ng = "Provider=Microsoft .J et.OLEDB.4.0;" _& "Data Source=" + App.Path +"db3.mdb;Persist Security Info=False".RecordSource = strsql.RefreshEnd WithIf Adodc1.Recordset.EOF = True The nMs
41、gBox "賬號信息錯誤"ElseIf Text2.Text <> Adodc1.Recordset.Fields("pass num") The nMsgBox " 密碼錯誤"ElseIf Text2.Text = Adodc1.Recordset.Fields("pass nu m") The nForml.HideForm2.ShowEnd IfEnd IfElseIf Optio n2.Value = True The nForm3.ShowForml.HideEnd IfEnd SubPriv
42、ate Sub Comma nd2_Click()EndEnd SubPrivate Sub Form_Load()End SubPrivate Sub Timer1_Timer()Label4.Capti on = NowEnd Sub from2 (主菜單):Private Sub Comma nd1_Click()Form2.HideForm4.ShowEnd SubPrivate Sub Comma nd2_Click()Form2.HideForm5.ShowEnd SubPrivate Sub Comma nd3_Click()EndEnd SubPrivate Sub Comma
43、 nd4_Click()Form2.HideForm5.ShowEnd SubPrivate Sub Comma nd5_Click()Form2.HideForm3.ShowEnd Sub from3 (查詢系統):Private Sub Comma nd1_Click()Dim strsql As Stri ngstrsql = "select * from表 2 where 車次 in (select車次 from 表 2Where 站點 in ( '" + Textl + "', '" + Text2 + "
44、39;) group by車次 hav ingcou nt(*)>=2) and 站點 in ( '" + Textl + "', '" + Text2 + "') order by 編號asc"With Adodc2.Conn ectio nStri ng = "Provider=Microsoft .J et.OLEDB.4.0;" _& "Data Source=" + App.Path +"db3.mdb;Persist Security I
45、n fo=False".RecordSource = strsqlSet DataGridl.DataSource = Adodc2 .RefreshEnd WithEnd SubPrivate Sub Comma nd2_Click()Dim strsql As Stri ngstrsql = "select * from表 2 Where 車次="+ "” + Text3 + "' orderby編號asc"With Adodc2.Conn ectio nStri ng = "Provider=Microsoft
46、 .J et.OLEDB.4.0;" _& "Data Source=" + App.Path +"db3.mdb;Persist Security Info=False".RecordSource = strsqlSet DataGridl.DataSource = Adodc2.RefreshEnd WithEnd SubPrivate Sub Comma nd3_Click()Dim strsql As Stri ngstrsql = "select * from表 2 order by 編號 asc"With
47、 Adodc2.Co nn ectio nStri ng = "Provider=Microsoft .J et.OLEDB.4.0;"& "Data Source=" + App.Path +"db3.mdb;Persist Security In fo=False".RecordSource = strsqlSet DataGridl.DataSource = Adodc2.RefreshEnd WithEnd SubPrivate Sub Form_Load()DataGridl.AllowAddNew = False
48、DataGridl.AllowDelete = False DataGridl.AllowUpdate = False End SubPrivate Sub Label4_Click() Forml.ShowForm3.HideEnd SubPrivate Sub Label5_Click()EndEnd Sub from4 (更新系統):Private Sub Comma nd1_Click()If Optio n1.Value = True The nSet DataGrid1.DataSource = Adodc1ElseIf Optio n2.Value = True The nSet
49、 DataGrid1.DataSource = Adodc2End IfEnd SubPrivate Sub Comma nd2_Click() DataGrid1.AllowUpdate = True End SubPrivate Sub Comma nd3_Click()If Optio n1.Value = True The nEnd IfEnd SubPrivate Sub Comma nd4_Click() DataGrid1.AllowUpdate = False End SubPrivate Sub Form_Load()strsql = "select * from表
50、 1 "With Adodcl.Co nn ectio nStri ng = "Provider=Microsoft .J et.OLEDB.4.0;"& "Data Source=" + App.Path +"db3.mdb;Persist Security Info=False".RecordSource = strsql.RefreshEnd Withstrsqll = "select * from表 2 "With Adodc2.Co nn ectio nStri ng = "P
51、rovider=Microsoft .J et.OLEDB.4.0;"& "Data Source=" + App.Path +"db3.mdb;Persist Security Info=False".RecordSource = strsql1.RefreshEnd WithDataGrid1.AllowUpdate = FalseEnd SubPrivate Sub Label1_Click()EndEnd SubPrivate Sub Label2_Click()Form2.ShowForm4.HideEnd SubPrivat
52、e Sub Optio n1_Click()Set DataGrid1.DataSource = Adodc1End SubPrivate Sub Optio n2_Click()Set DataGrid1.DataSource = Adodc2End Sub from5 (購票退票系統):Private Sub Comma nd1_Click()Label9.C aptio n = Text2.TextLabel11.C apti on = Text1.TextLabel10.C apti on = Text3.TextLabel12.Caption = Adodc1.Recordset.F
53、ields("發車時間")If Optio n1.Value = True The nLabel13.C apti on = Optio n1.C aptio nAdodc1.Recordset.Fields(" 軟臥剩余票數")=Adodc1.Recordset.Fields(" 軟 臥剩余票數")-1Label17.Caption = Adodc1.Recordset.Fields("軟臥剩余票數")ElseIf Optio n2.Value = True The nLabel13.C apti on = Op
54、tio n2.C aptio nAdodc1.Recordset.Fields(" 硬臥剩余票數")=Adodc1.Recordset.Fields(" 硬臥剩余票數")-1(”硬臥剩余票數")Elself Optio n4.Value = True The nLabel13.C aptio n = Optio n4.Cap tio nAdodc1.Recordset.Fields("硬座剩余票數")=Adodc1.Recordset.Fields(" 硬座剩余票數")-1Label17.Caption
55、= Adodc1.Recordset.Fields("硬座剩余票數")ElseIf Opti on 5.Value = True The nLabel13.C aptio n = Optio n5.C aptio nAdodc1.Recordset.Fields("硬座剩余票數")=Adodc1.Recordset.Fields(" 硬座剩余票數")-1Label17.Caption = Adodc1.Recordset.Fields("硬座剩余票數")End IfLabel14.C aptio n = Text4
56、.TextLabel15.Caption = Adodc1.Recordset.Fields("車次類型")Label16.C apti on = DateEnd SubPrivate Sub Comma nd2_Click()Dim strsql As Stri ngstrsql = "select * from 表 2 where 車次 in(” & Text1.Text & "') and 站點 in ( '" + Text2 + "', '" + Text3 + &qu
57、ot;') order by編號 asc"With Adodc1.Conn ectio nStri ng = "Provider=Microsoft .J et.OLEDB.4.0;" _& "Data Source=" + App.Path +"db3.mdb;Persist Security Info=False".RecordSource = strsqlSet DataGrid1.DataSource = Adodc1.RefreshEnd WithEnd SubPrivate Sub Comma n
58、d3_Click()If Optio n1.Value = True The nLabel20.C aptio n = (Text4.Text) * 0.8Adodc1.Recordset.Fields("軟臥剩余票數")=Adodc1.Recordset.Fields(" 軟臥剩余票數")+ 1Label17.Caption = Adodc1.Recordset.Fields("軟臥剩余票數")ElseIf Optio n2.Value = True The nLabel20.C aptio n = (Text4.Text) * 0
59、.8Adodc1.Recordset.Fields("硬臥剩余票數")=Adodc1.Recordset.Fields(" 硬臥剩余票數")+ 1Label17.Caption = Adodc1.Recordset.Fields("硬臥剩余票數")Elself Optio n4.Value = True The nLabel20.Caption = (Text4.Text) * 0.8(”硬座剩余票數(”硬座剩余票數")+ 1Label17.Caption = Adodc1.Recordset.Fields(" 硬座剩余票數&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 代購貨物合同范例
- 2025年勞動合同續簽范本
- 亞太股合同范例
- 公司股轉讓合同范例
- 人物版權購買合同范例
- 買賣閑置廠房合同范例
- 入伙投資協議合同范例
- 書畫創作合同范例
- ktv拆除合同范例
- 2025-2030年中國乙酸鈣行業市場現狀分析及競爭格局與投資發展研究報告
- 2022山東歷史高考答題卡word版
- 中醫醫院兒科建設與管理指南(試行)
- 空軍發展歷程課件
- Q∕SY 1143-2008 三維地質建模技術要求
- 1812年序曲 (5)
- 化工企業安全風險辨識分級管控清單
- DB11_T1833-2021 建筑工程施工安全操作規程(高清最新版)
- 大地構造學派及其構造單元匯總
- 麗聲北極星分級繪本第二級上Dinner for a Dragon 課件
- 車輛維護保養制度
- 速騰轎車前驅動橋畢業設計(全套圖紙)
評論
0/150
提交評論