九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

機票預(yù)訂系統(tǒng) 課程設(shè)計 數(shù)據(jù)庫

  • 資源ID:54372152       資源大?。?span id="24d9guoke414" class="font-tahoma">260KB        全文頁數(shù):30頁
  • 資源格式: DOC        下載積分:16積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要16積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

機票預(yù)訂系統(tǒng) 課程設(shè)計 數(shù)據(jù)庫

1概述應(yīng)用對數(shù)據(jù)庫技術(shù)及應(yīng)用的理論學習,通過上機實踐的方式將理論知識與實踐更好的結(jié)合起來,鞏固所學知識。實踐和鞏固在課堂教學中學習的關(guān)于數(shù)據(jù)庫的有關(guān)知識,熟練掌握對于給定實訓任務(wù)的數(shù)據(jù)庫的創(chuàng)建、基本操作、程序系統(tǒng)的建立和調(diào)試以及系統(tǒng)評價。實踐和鞏固在課堂教學中學習的關(guān)于關(guān)系數(shù)據(jù)庫原理的有關(guān)知識和數(shù)據(jù)庫系統(tǒng)的建立方法,熟練掌握對于給定實際問題,為了建立一個關(guān)系數(shù)據(jù)庫信息管理系統(tǒng),必須得經(jīng)過系統(tǒng)調(diào)研、需求分析、概念設(shè)計、邏輯設(shè)計、物理設(shè)計、系統(tǒng)調(diào)試、維護以及系統(tǒng)評價的一般過程,為將來在學習工作中的應(yīng)用打下基礎(chǔ)。1.1課程實訓目的與要求課程實訓的目的是:本次課程實訓的主要任務(wù)是運用在數(shù)據(jù)庫原理及應(yīng)用課程中學到的理論知識來指導實踐,了解數(shù)據(jù)庫設(shè)計過程及其實現(xiàn)方法,學會用數(shù)據(jù)庫建模的方法解決實際問題。掌握數(shù)據(jù)庫原理、范式理論、規(guī)范化等相關(guān)知識,掌握數(shù)據(jù)庫分析設(shè)計的具體步驟與基本方法,掌握SQL語言的基本語法和基本內(nèi)容,并能運用SQL Server 2005實現(xiàn)設(shè)計數(shù)據(jù)庫,掌握SQL Server 2005數(shù)據(jù)庫、表、視圖、約束、索引、存儲過程、觸發(fā)器的使用,利用一種前臺開發(fā)工具實現(xiàn)數(shù)據(jù)庫管理系統(tǒng)的開發(fā),實現(xiàn)特定的業(yè)務(wù)功能。通過綜合課程實訓,提高實踐動手技能,培養(yǎng)獨立分析分析問題和解決問題的能力。課程實訓的要求:本次課程實訓的選題比較靈活,可以是自主選題,也可以自己選擇比較感興趣的題目,重點是完成數(shù)據(jù)庫的分析、設(shè)計與實現(xiàn),題目要符合數(shù)據(jù)庫原理及應(yīng)用的要求,并且具備一定的難度和深度;除此以外,可以從備選題目之外選擇一個題目完成。1.2機票預(yù)訂系統(tǒng)在所給的實訓題目中,我選擇的是機票預(yù)訂系統(tǒng)的設(shè)計。1.2.1系統(tǒng)功能的基本要求每個航班信息的輸入;每個航班的坐位信息的輸入;當旅客進行機票預(yù)定時,輸入旅客基本信息,系統(tǒng)為旅客安排航班,打印取票通知和帳單;旅客在飛機起飛前一天憑取票通知交款取票;旅客能夠退訂機票;能夠查詢每個航班的預(yù)定情況、計算航班的滿座率。1.2.2 數(shù)據(jù)庫要求在數(shù)據(jù)庫中至少應(yīng)該包含下列數(shù)據(jù)表:航班信息表;航班坐位情況表;旅客訂票信息表;取票通知表;帳單。2需求分析2.1背景分析隨著社會發(fā)展的不斷進步,民航事業(yè)的壯大,人們消費水平的提高,乘坐民航的消費者也越來越多,旅游也逐漸成為普通老百姓的生活組成部分,飛機票預(yù)定查詢系統(tǒng)在各機票預(yù)定網(wǎng)點中的作用也越顯重要。目前,我國一些旅行社和酒店的機票預(yù)定還停留在人工處理階段,這已經(jīng)嚴重制約了工作效率,在計算機技術(shù)高速發(fā)展的今天,有必要引入高效的計算機系統(tǒng),來協(xié)助處理機票預(yù)定工作。因此,開發(fā)一套具有完整的存儲,查詢,核對,打印機票功能的實時機票預(yù)定系統(tǒng)勢在必行。機票預(yù)定系統(tǒng)是為機場工作人員和客戶提供訂票退票等與機票相關(guān)內(nèi)容和管理的系統(tǒng),它具有開放體系結(jié)構(gòu)的、易擴充的、易維護的、具有良好人機界面的優(yōu)點.它除克服了存儲乘客信息少,查詢效率低下等問題外,更重要的是其安全性,可靠性,實現(xiàn)航空公司的機票銷售的自動化。它為企業(yè)的決策層提供準確、精細、迅速的機票銷售信息,為乘客出行提供方便,便于機場工作人員對機票信息進行管理,提高了機場工作人員對機票管理的工作效率。2.2功能分析經(jīng)過綜合分析,確定了機票預(yù)訂系統(tǒng)主要包括以下功能:(1) 航班信息管理功能主要實現(xiàn)航班的一些基本信息,航班編號、票價、起飛地、目的地、起飛時間的添加、修改、刪除和查詢。(2) 航班座位信息管理功能主要實現(xiàn)航班座位,也就是機票的一些基本信息,航班編號、座位號、座位信息、機票類型的添加、修改、刪除和查詢。(3) 旅客信息管理功能此模塊的主要實現(xiàn)旅客一些基本信息,姓名、性別、聯(lián)系方式、證件號碼、的查詢功能。(4) 取票信息管理功能此模塊用于取票信息的管理,包括對航班基本信息,航班編號等,旅客基本信息,旅客姓名、座位號、取票時間的查詢。(5) 退票信息管理功能此模塊用于退票信息的管理,包括對訂單號、旅客姓名、聯(lián)系方式、證件號碼的查詢。2.3數(shù)據(jù)詞典經(jīng)分析之后,本系統(tǒng)要用到五個基本表:航班信息表,航班座位情況表,旅客訂票信息表,取票和賬單信息表,退票信息表。數(shù)據(jù)結(jié)構(gòu)定義如表:數(shù)據(jù)結(jié)構(gòu)名含義說明組成航班信息表定義了航班的有關(guān)信息航班號,起飛地,目的地,起飛時間,票價航班座位情況表定義了航班座位有關(guān)信息航班號,座位號,座位信息,機票類型旅客訂票信息表定義了旅客有關(guān)信息旅客姓名,身份證號,性別,電話號取票和賬單信息表定義了取票通知相關(guān)有關(guān)信息旅客姓名,取票時間,航班號,座位號,機票類型退票信息表定義了退票旅客的有關(guān)信息旅客姓名,身份證號,訂單號,電話號機票預(yù)訂系統(tǒng)的主要數(shù)據(jù)字典如下:(1)航班信息 數(shù)據(jù)流來源:航班管理 數(shù)據(jù)流去向:航班安排 數(shù)據(jù)項組成:航班號,起飛地,目的地,起飛時間,票價(2)航班座位情況數(shù)據(jù)流來源:航班管理和訂票情況數(shù)據(jù)流去向:旅客座位數(shù)據(jù)項組成:航班號,座位號,座位信息,機票類型(3)旅客信息 數(shù)據(jù)流來源:確定旅客信息后管理人員輸入系統(tǒng)數(shù)據(jù)流去向:安排顧客的航班 數(shù)據(jù)項組成:旅客姓名,身份證號,性別,電話號(4)取票通知和賬單信息 數(shù)據(jù)流來源:打印取票通知和賬單 數(shù)據(jù)流去向:核對訂票信息 數(shù)據(jù)項組成:旅客姓名,取票時間,航班號,座位號,機票類型(5)退票信息數(shù)據(jù)流來源:旅客退票申請數(shù)據(jù)流去向:訂票信息申請退票數(shù)據(jù)項組成:旅客姓名,身份證號,訂單號,電話號3概念結(jié)構(gòu)設(shè)計3.1 概念結(jié)構(gòu)設(shè)計的方法與步驟1 概念結(jié)構(gòu)設(shè)計的方法概念設(shè)計階段我采用自底向上的方法,即自頂向下的進行需求分析,然后再自底向上的進行概念結(jié)構(gòu)設(shè)計。對已經(jīng)細化到無法再分的階段逐步集成在一起,最終合成一個全局概念模式。2 概念結(jié)構(gòu)設(shè)計的步驟第一步是進行局部視圖的設(shè)計:由于高層的數(shù)據(jù)流圖只能反映系統(tǒng)的概貌,而中層流圖能較好的反映系統(tǒng)中各局部應(yīng)用的子系統(tǒng)組成。因此我們先逐一的設(shè)計分E-R圖。第二步是進行視圖的集成:各子系統(tǒng)的E-R圖設(shè)計好之后,下一步就是要將所有的分E-R圖合成一個系統(tǒng)的總E-R圖,一般有兩個方式,多個分E-R圖一次集成,另一種是一次集成兩個分E-R圖。我想采用一次集成兩個分E-R圖的方式。3.2局部E-R圖設(shè)計根據(jù)需求分析抽象出信息結(jié)構(gòu),可得該系統(tǒng)的E-R圖。(1) 航班信息E-R圖,如圖3.1所示。航班信息起飛時間航班編號目的地票價起飛地圖3.1航班信息E-R圖(2) 航班座位信息E-R圖,如圖3.2所示。航班座位信息航班編號座位號座位信息碼機票類型圖3.2機票信息E-R圖 (3) 旅客E-R圖,如圖3.3所示。旅客身份證號姓名電話號性別圖3.3旅客E-R圖(4) 取票通知E-R圖,如圖3.4所示。取票通知和賬單航班編號旅客姓名座位號取票時間機票類型圖3.4取票通知E-R圖(5) 退票信息E-R圖,如圖3.5所示。退票信息旅客姓名訂單號身份證號電話號圖3.5退票信息E-R圖3.3總體概念E-R圖結(jié)構(gòu)經(jīng)過逐步細化再進行每兩個一集成初步形成一個E-R圖,最后得到圖3.6總體概念結(jié)構(gòu)E-R圖。nnn11mn退票信息航班信息旅客購買包含退票取票通知和賬單航班座位信息購買1姓名性別身份證號電話號起飛時間航班編號目的地起飛地票價航班編號座位號機票類型座位信息碼航班編號旅客姓名座位號取票時間訂單號旅客姓名身份證號碼電話號機票類型圖3.6系統(tǒng)總體結(jié)構(gòu)E-R圖4邏輯結(jié)構(gòu)設(shè)計4.1 邏輯結(jié)構(gòu)設(shè)計(1) E-R圖向關(guān)系模型的轉(zhuǎn)換將圖3.6總體概念結(jié)構(gòu)E-R圖轉(zhuǎn)化成關(guān)系模型。 退票信息(訂單號,旅客姓名,聯(lián)系方式,證件號碼)旅客(旅客姓名,證件號碼,聯(lián)系方式,性別) 航班信息表(航班號,票價,起飛地,目的地,起飛時間) 取票通知單(旅客姓名,取票時間,證件號碼,航班號,座位號)機票信息表(座位號,航班號,座位信息,機票類型)(2)數(shù)據(jù)模型的優(yōu)化將轉(zhuǎn)化的關(guān)系模式進行優(yōu)化,最終達到第三范式。 確定數(shù)據(jù)依賴退票信息(訂單號,旅客姓名,聯(lián)系方式,證件號碼)根據(jù)這個關(guān)系寫出數(shù)據(jù)依賴訂單號旅客姓名,訂單號聯(lián)系方式,訂單號證件號碼旅客(旅客姓名,證件號碼,聯(lián)系方式,性別)旅客姓名證件號碼,旅客姓名聯(lián)系方式,旅客姓名性別 航班信息表(航班號,票價,起飛地,目的地,起飛時間)航班號起飛地,航班號票價,航班號目的地,航班號起飛時間取票通知單(旅客姓名,取票時間,航班號,座位號)旅客姓名取票時間,旅客姓名航班號,旅客姓名座位號,機票信息表(座位號,航班號,座位信息,機票類型)(座位號,航班號)艙位類型,(座位號,航班號,座位信息)機票類型對各關(guān)系模式間數(shù)據(jù)依賴進行極小化處理,消除冗余訂單號旅客姓名,訂單號聯(lián)系方式,訂單號證件號碼旅客姓名性別,旅客姓名取票時間,旅客姓名航班號,旅客姓名座位號,旅客姓名機票類型航班號起飛地,航班號目的地,航班號起飛時間(座位號,航班號)座位信息看這些模式是否符合要求,確定是否要對某些模式進行合并或者分解 最終分解成第三范式: (訂單號,聯(lián)系方式,證件號碼)(訂單號,旅客姓名)(旅客姓名,取票時間,性別,機票類型)(旅客姓名,航班號)(旅客姓名,座位號)(航班號,座位號,票價)(航班號,起飛地,目的地,起飛時間)(3)數(shù)據(jù)庫的結(jié)構(gòu)根據(jù)總體結(jié)構(gòu)圖設(shè)計機票預(yù)定系統(tǒng)基本表結(jié)構(gòu),其相應(yīng)標的定義如下:表4-1 航班信息系統(tǒng)的結(jié)構(gòu)字段名數(shù)據(jù)類型長度約束描述flight numberdecimal主鍵航班號take off placevarchar50不為空起飛地destinationvarchar50不為空目的地flight timetime不為空起飛時間priceint不為空票價表4-2 航班座位信息表字段名數(shù)據(jù)類型長度約束描述seat numberdecimal主鍵座位號flight numberdecimal不為空航班號seat messagevarchar50不為空座位信息flight ticket typevarchar50不為空機票類型表4-3旅客信息系統(tǒng)的結(jié)構(gòu)字段名數(shù)據(jù)類型長度約束描述passager namevarchar50主鍵旅客姓名iddecimal不為空身份證號telephone numberdecimal不為空聯(lián)系方式sexvarchar50不為空性別表4-4取票和賬單信息系統(tǒng)的結(jié)構(gòu)字段名數(shù)據(jù)類型長度約束描述passager name varchar50主鍵旅客姓名get ticket timetime不為空取票時間flight numberdecimal不為空航班號seat numberdecimal不為空座位號flight ticket typevarchar50不為空機票類型表4-5 退票信息系統(tǒng)的結(jié)構(gòu)字段名數(shù)據(jù)類型長度約束描述order form decimal主鍵訂單號passager namevarchar50不為空旅客姓名telephone numberdecimal不為空聯(lián)系方式idvarchar50不為空證件號碼4.2數(shù)據(jù)庫表的建立根據(jù)數(shù)據(jù)庫的基本表結(jié)構(gòu)分別建立5個基本表: (1)創(chuàng)建航班信息表(2)創(chuàng)建航班座位信息表(3)創(chuàng)建旅客信息表(4)創(chuàng)建取票和賬單信息表(5)創(chuàng)建退票信息表5物理結(jié)構(gòu)設(shè)計數(shù)據(jù)庫物理設(shè)計是指設(shè)計出數(shù)據(jù)庫的物理數(shù)據(jù)模型,它是數(shù)據(jù)庫在物理設(shè)備上的具體實現(xiàn),即數(shù)據(jù)庫服務(wù)器物理空間上的表空間、表、字段、索引、視圖、存儲過程、觸發(fā)器以及相應(yīng)的數(shù)字字典的設(shè)計。經(jīng)過數(shù)據(jù)庫的需求分析和概念模型設(shè)計,得到數(shù)據(jù)庫的邏輯結(jié)構(gòu),現(xiàn)在可以設(shè)計好的邏輯結(jié)構(gòu)在SQL server中建立數(shù)據(jù)庫及數(shù)據(jù)庫的數(shù)據(jù)表。5.1表的建立與數(shù)據(jù)載入需要明確數(shù)據(jù)庫需要建立幾張表,以及每個表中所要包括的屬性。在建立表的過程中。要對每個表進行字段屬性的設(shè)置。(至少包括5張表,每個表都有主鍵;根據(jù)實際情況,建立視圖)在機票預(yù)訂系統(tǒng)中,主要建立了5個表,分別是:航班信息表,航班座位情況表,旅客訂票信息表,取票和賬單信息表,退票信息表。5.2視圖建立視圖是查看數(shù)據(jù)庫表中數(shù)據(jù)的一種方式。視視圖提供了存儲預(yù)定義的查詢語句作為數(shù)據(jù)庫中的對象以備以后使用的能力。視圖是一種邏輯對象,是一種虛擬表。在機票預(yù)訂系統(tǒng)中,我建立了兩個視圖。分別是航班和座位視圖和旅客和取票信息視圖。他們分別通過飛機編號也就是flight number項和旅客信息也就是passage number項聯(lián)系起來。5.3索引建立索引是一個單獨的、物理的數(shù)據(jù)庫結(jié)構(gòu),它是某個表中一列或若干列值的集合和相應(yīng)的指向表中物理標識這些值的數(shù)據(jù)頁的邏輯指針清單。索引依賴于表建立,它提供了數(shù)據(jù)庫中編排表中數(shù)據(jù)的內(nèi)部方法。在機票預(yù)訂系統(tǒng)中,我建立了三個索引,分別是在航班信息表中建立了flight number索引,在旅客信息表中建立passage name索引,在航班座位信息表中建立了seat number索引。索引類型為唯一性的非聚集索引。5.4存儲過程我創(chuàng)建了三個存儲過程,輸出三個表的全部信息。分別是航班信息表、航班座位信息表、旅客信息表。命令為:CREATE PROC aaaASSELECT *FROM 航班信息CREATE PROC bbbASSELECT *FROM 航班座位信息CREATE PROC cccASSELECT *FROM 旅客信息5.5觸發(fā)器觸發(fā)器是一種實施復(fù)雜的完整性約束的特殊存儲過程,它在SQL server進行某個特定的表修改時由SQL Server自動執(zhí)行。觸發(fā)器一般用于加強數(shù)據(jù)庫的某些使用規(guī)則。在機票管理系統(tǒng)中,我建立了一個DDL觸發(fā)器,用于保護當前SQL Server服務(wù)器里的所有數(shù)據(jù)庫不被刪除。具體代碼為:CREATE TRIGGER notdeleteON all serverFOR DROP_DATABASEASPRINT不能刪除數(shù)據(jù)庫ROLLBACKGO另外分別在航班信息表、航班座位信息表、旅客信息表、取票通知和賬單這四個表中建立了四個觸發(fā)器,對于表中的添加和更改數(shù)據(jù),提示錯誤信息。代碼為:CREATE TRIGGER a ON hangbanxinxiFOR INSERT,UPDATEAS RAISERROR('不能添加和更新數(shù)據(jù)',16,1)ROLLBACK TRANSACTIONGOCREATE TRIGGER b ON hangbanzuoweixinxiFOR INSERT,UPDATEAS RAISERROR('不能添加和更新數(shù)據(jù)',16,1)ROLLBACK TRANSACTIONGOCREATE TRIGGER c ON lvkexinxiFOR INSERT,UPDATEAS RAISERROR('不能添加和更新數(shù)據(jù)',16,1)ROLLBACK TRANSACTIONGOCREATE TRIGGER d ON qupiaotongzhihezhangdanFOR INSERT,UPDATEAS RAISERROR('不能添加和更新數(shù)據(jù)',16,1)ROLLBACK TRANSACTIONGO5.6創(chuàng)建登陸賬戶和添加數(shù)據(jù)庫用戶在實訓中,我利用SQL創(chuàng)建了一個“l(fā)ogin1”的登陸賬號。密碼為123456。在一個數(shù)據(jù)庫中,用戶賬號唯一標識一個用戶,用戶對數(shù)據(jù)庫的訪問權(quán)限以及對數(shù)據(jù)庫對象的所有關(guān)系都是通過用戶賬號來控制的。在機票預(yù)訂系統(tǒng)中,我創(chuàng)建了一個用戶名為user1的用戶。6數(shù)據(jù)流圖及程序結(jié)構(gòu)框圖6.1功能模塊圖根據(jù)所需的功能,可以設(shè)計出系統(tǒng)的總體功能模塊,如圖6.1所示。機票預(yù)訂系統(tǒng)航班信息管理模塊機票信息管理模塊退票信息管理模塊取票信息管理模塊旅客信息管理模塊圖6.1 機票預(yù)訂系統(tǒng)功能模塊示意圖 取票信息管理模塊的細化功能模塊如圖6.2所示。取票信息管理旅客基本信息查詢機票基本信息查詢圖6.2 取票信息管理模塊退票信息管理模塊的細化功能模塊如圖6.3所示。取票信息管理旅客基本信息查詢訂單信息查詢圖6.3 退票信息管理模塊6.2數(shù)據(jù)流圖旅客旅客機票預(yù)訂系統(tǒng)訂票信息付費信息取票通知和賬單機票圖6.4 0層數(shù)據(jù)流圖旅客旅客訂票取票旅客信息通知、賬單信息通知、賬單信息圖6.5 1層數(shù)據(jù)流圖7界面設(shè)計與功能測試7.1登錄界面及代碼代碼如下:Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpbuffer As String, nSize As Long) As LongPublic OK As BooleanPrivate Sub Form_Load() Dim sBuffer As String Dim lSize As Long sBuffer = Space$(255) lSize = Len(sBuffer) Call GetUserName(sBuffer, lSize) If lSize > 0 Then txtUserName.Text = Left$(sBuffer, lSize) Else txtUserName.Text = vbNullString End IfEnd SubPrivate Sub cmdCancel_Click() OK = False Me.HideEnd SubPrivate Sub cmdOK_Click() ''ToDo: create test for correct password ''check for correct password If txtPassword.Text = "" Then OK = True Me.Hide Else MsgBox "Invalid Password, try again!", , "Login" txtPassword.SetFocus txtPassword.SelStart = 0 txtPassword.SelLength = Len(txtPassword.Text) End IfEnd Sub7.2進入系統(tǒng)界面代碼如下:Private Sub MDIForm_Load() Me.Left = GetSetting(App.Title, "Settings", "MainLeft", 1000) Me.Top = GetSetting(App.Title, "Settings", "MainTop", 1000) Me.Width = GetSetting(App.Title, "Settings", "MainWidth", 6500) Me.Height = GetSetting(App.Title, "Settings", "MainHeight", 6500) End SubPrivate Sub MDIForm_Unload(Cancel As Integer) If Me.WindowState <> vbMinimized Then SaveSetting App.Title, "Settings", "MainLeft", Me.Left SaveSetting App.Title, "Settings", "MainTop", Me.Top SaveSetting App.Title, "Settings", "MainWidth", Me.Width SaveSetting App.Title, "Settings", "MainHeight", Me.Height End IfEnd SubPrivate Sub menuAirline_Click() frmAirline.txtSQL = "select * from airlineInfo" frmAirline.Show 0End SubPrivate Sub menuBookticket_Click() frmTicket.txtSQL = "select * from ticketInfo " frmTicket.Show 0End SubPrivate Sub menuCarbin_Click() frmService.txtSQL = "select * from serviceInfo" frmService.Show 0End SubPrivate Sub menuCtype_Click() frmcType.txtSQL = "select * from customerType" frmcType.Show 0End SubPrivate Sub menuCustomer_Click() frmCustomer.txtSQL = "select * from customerInfo" frmCustomer.Show 0End SubPrivate Sub menuPlane_Click() frmPlane.txtSQL = "select * from planeInfo" frmPlane.Show 0End SubPrivate Sub searchcustom_Click() frmCustomer.Show 1End Sub7.3訂票過程代碼如下:Private Sub Form_Load() ShowTitle ShowData End SubPrivate Sub Form_Resize() ''If Me.WindowState <> vbMinimized And fMainForm.WindowState <> vbMinimized Then ''邊界處理 ''If Me.ScaleHeight < 10 * lblTitle.Height Then '' Exit Sub '' End If ''If Me.ScaleWidth < lblTitle.Width + lblTitle.Width / 2 Then '' Exit Sub '' End If ''控制控件的位置 '' lblTitle.Top = lblTitle.Height '' lblTitle.Left = (Me.Width - lblTitle.Width) / 2 ''msgList.Top = lblTitle.Top + lblTitle.Height + lblTitle.Height / 2 ''msgList.Width = Me.ScaleWidth - 200 ''msgList.Left = Me.ScaleLeft + 100 ''msgList.Height = Me.ScaleHeight - msgList.Top - 1500 '' Frame2.Top = msgList.Top + msgList.Height + 50 '' Frame2.Left = Me.ScaleWidth / 2 - 3000 ''End IfEnd SubPublic Sub FormClose() Unload MeEnd SubPrivate Sub ShowData() Dim j As Integer Dim i As Integer Dim MsgText As String Set mrc = ExecuteSQL(txtSQL, MsgText) With msgList .Rows = 1 ''Do While Not mrc.EOF ''.Rows = .Rows + 1 ''For i = 1 To mrc.Fields.Count ''If Not IsNull(Trim(mrc.Fields(i - 1) Then '' Select Case mrc.Fields(i - 1).Type '' Case adDBDate ''.TextMatrix(.Rows - 1, i) = Format(mrc.Fields(i - 1) & "", "yyyy-mm-dd") '' Case Else ''.TextMatrix(.Rows - 1, i) = mrc.Fields(i - 1) & "" ''End Select '' End If ''Next i ''mrc.MoveNext ''Loop End With ''mrc.Close End Sub''顯示Grid表頭Private Sub ShowTitle() Dim i As Integer With msgList .Cols = 7 .TextMatrix(0, 0) = "旅客姓名" .TextMatrix(0, 1) = "旅客性別" .TextMatrix(0, 2) = "身份證號碼" .TextMatrix(0, 3) = "聯(lián)系電話" .TextMatrix(0, 4) = "起飛時間" .TextMatrix(0, 5) = "目的地" .TextMatrix(0, 6) = "備注信息"''固定表頭 .FixedRows = 1 ''設(shè)置各列的對齊方式 For i = 0 To 6 .ColAlignment(i) = 0 Next i ''表頭項居中 .FillStyle = flexFillRepeat .Col = 0 .Row = 0 .RowSel = 1 .ColSel = .Cols - 1 .CellAlignment = 4 ''設(shè)置單元大小 .ColWidth(0) = 1000 .ColWidth(1) = 1000 .ColWidth(2) = 1000 .ColWidth(3) = 1000 .ColWidth(4) = 2000 .ColWidth(5) = 1000 .ColWidth(6) = 3000 .Row = 1 End WithEnd SubPrivate Sub msgList_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single) ''右鍵彈出 If Button = 2 And Shift = 0 Then End If End Sub添加用戶信息:代碼如下:Option Explicit''是否改動過記錄,ture為改過Dim mblChange As BooleanDim mrc As ADODB.RecordsetPublic txtSQL As StringPrivate Sub cmdExit_Click() If mblChange And cmdSave.Enabled Then If MsgBox("保存當前記錄的變化嗎?", vbOKCancel + vbExclamation, "警告") = vbOK Then ''保存 Call cmdSave_Click End If End If Unload MeEnd SubPrivate Sub cmdSave_Click() Dim intCount As Integer Dim sMeg As String Dim MsgText As String For intCount = 0 To 2 If Trim(txtItem(intCount) & " ") = "" Then Select Case intCount Case 0 sMeg = "旅客姓名" Case 1 sMeg = "身份證號碼" Case 2 sMeg = "聯(lián)系電話" End Select sMeg = sMeg & "不能為空!" MsgBox sMeg, vbOKOnly + vbExclamation, "警告" txtItem(intCount).SetFocus Exit Sub End If Next intCount For intCount = 0 To 1 If Trim(Combo1(intCount) & " ") = "" Then Select Case intCount Case 0 sMeg = "起飛時間" Case 1 sMeg = "目的地" End Select sMeg = sMeg & "不能為空!" MsgBox sMeg, vbOKOnly + vbExclamation, "警告" Combo1(intCount).SetFocus Exit Sub End If Next intCount ''判斷是否有相同內(nèi)容的記錄 txtSQL = "select * from customerInfo where customerNO<>''" & Trim(txtNo) & "'' and customerName=''" & Trim(txtItem(0) & "''" Set mrc = ExecuteSQL(txtSQL, MsgText) If mrc.EOF = False Then MsgBox "已經(jīng)存在相同客戶的記錄!", vbOKOnly + vbExclamation, "警告" txtItem(0).SetFocus Exit Sub End If ''先刪除已有記錄 txtSQL = "delete from customerInfo where customerNO=''" & Trim(txtNo) & "''" Set mrc = ExecuteSQL(txtSQL, MsgText) ''再加入新記錄 txtSQL = "select * from customerInfo" Set mrc = ExecuteSQL(txtSQL, MsgText) mrc.AddNew mrc.Fields(0) = Trim(txtNo) mrc.Fields(1) = Trim(txtItem(0) mrc.Fields(2) = Trim(Combo1(0) For intCount = 1 To 2 mrc.Fields(intCount + 2) = Trim(txtItem(intCount) Next intCount mrc.Fields(5) = Trim(Combo1(1) mrc.Fields(6) = Trim(txtItem(3) mrc.Update mrc.Close If gintCmode = 1 Then MsgBox "添加記錄成功!", vbOKOnly + vbExclamation, "添加記錄" For intCount = 0 To 3 txtItem(intCount) = "" Next intCount mblChange = False Unload frmCustomer frmCustomer.txtSQL = "select * from customerInfo" frmCustomer.Show ElseIf gintCmode = 2 Then Unload Me Unload frmCustomer frmCustomer.txtSQL = "select * from customerInfo" frmCustomer.Show End IfEnd SubPrivate Sub Form_Load() Dim intCount As Integer Dim MsgText As String Dim i As Integer Dim mrcc As ADODB.Recordset If gintCmode = 1 Then Me.Caption = Me.Caption & "添加" ''txtNo = GetRkno() ElseIf gintCmode = 2 Then Set mrc = ExecuteSQL(txtSQL, MsgText) If mrc.EOF = False Then With mrc ''txtNo = .Fields(0) txtItem(0) = .Fields(1) For intCount = 1 To 2 txtItem(intCount) = .Fields(intCount + 2) Next intCount txtItem(3) = .Fields(6) End With End If Me.Caption = Me.Caption & "修改" End If For intCount = 0 To 1 Combo1(intCount).Clear Next intCount Combo1(0).AddItem "男" Combo1(0).AddItem "女" txtSQL = "select DISTINCT ctypeName from customerType" Set mrcc = ExecuteSQL(txtSQL, MsgText) ''If Not mrcc.EOF Then '' Do While Not mrcc.EOF '' Combo1(1).AddItem mrcc.Fields(0) '' mrcc.MoveNext ''Loop ''End If ''mrcc.Close mblChange = FalseEnd SubPrivate Sub Form_Unload(Cancel As Integer) gintCmode = 0End SubPrivate Sub txtItem_Change(Index As Integer) ''有變化設(shè)置gblchange mblChange = TrueEnd SubPrivate Sub txtItem_GotFocus(Index As Integer) txtItem(Index).SelStart = 0 txtItem(Index).SelLength = Len(txtItem(Index)End SubPrivate Sub txtItem_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer) EnterToTab KeyCodeEnd Sub8總結(jié)經(jīng)過一周的實訓,本次課程設(shè)計終于完成了。通過這次課程設(shè)計,使我對數(shù)據(jù)庫這門課程有了更深入的理解。數(shù)據(jù)庫是一門實踐性較強的課程,通過這次課程設(shè)計,我明白了理論與實際應(yīng)用相結(jié)合的重要性,掌握并熟練運用SQL語句以及VB 的應(yīng)用,提高了我的綜合運用所學知識的能力。在本次課程設(shè)計和過程中,由于時間不是很長,再加上要求獨立完成,系統(tǒng)需求分析上可能不是很全面,程序中還存在很多不足,希望老師能給予批評和指導。經(jīng)過這次課程設(shè)計,我的知識得到了很大提高,經(jīng)驗也更加豐富。希望能在今后的不斷的學習中和努力中,把程序做得更好。最后,感謝指導老師所給我的幫助。主要參考文獻:數(shù)據(jù)庫技術(shù)及應(yīng)用主編:劉太安 林曉霞 中國石油大學出版社

注意事項

本文(機票預(yù)訂系統(tǒng) 課程設(shè)計 數(shù)據(jù)庫)為本站會員(紫**)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!