民航機(jī)場(chǎng)售票管理系統(tǒng)_第1頁(yè)
民航機(jī)場(chǎng)售票管理系統(tǒng)_第2頁(yè)
民航機(jī)場(chǎng)售票管理系統(tǒng)_第3頁(yè)
民航機(jī)場(chǎng)售票管理系統(tǒng)_第4頁(yè)
民航機(jī)場(chǎng)售票管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩16頁(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)介

PAGEPAGE21青島理工大學(xué)數(shù)據(jù)庫(kù)系統(tǒng)課程設(shè)計(jì)院(系):計(jì)算機(jī)工程學(xué)院專業(yè):XXXXXXXXX姓名:XXXXXXX班級(jí):XXXXXXXXX學(xué)號(hào):XXXXXXXXXX題目:民航機(jī)場(chǎng)售票管理系統(tǒng)起迄日期:_2011.1.3~2011.1.14_設(shè)計(jì)地點(diǎn):2號(hào)實(shí)驗(yàn)樓402指導(dǎo)教師:XXXXXX

目錄第1章前言 41.1.課題背景 41.2.開發(fā)工具 41.2.1WindowsSDK 41.2.2SQLServer2005數(shù)據(jù)庫(kù) 41.2.3ODBCAPI數(shù)據(jù)庫(kù)連接技術(shù) 5第2章需求分析 62.1.任務(wù)概述 62.1.1系統(tǒng)目標(biāo) 62.1.2用戶特點(diǎn) 62.2.系統(tǒng)的功能需求 62.2.1系統(tǒng)角色功能需求 62.2.2功能模塊 62.3.系統(tǒng)的性能需求 72.4.系統(tǒng)的數(shù)據(jù)需求 7第3章系統(tǒng)總體設(shè)計(jì) 83.1.系統(tǒng)總體設(shè)計(jì) 8第4章數(shù)據(jù)庫(kù)設(shè)計(jì) 94.1.數(shù)據(jù)庫(kù)概念設(shè)計(jì) 94.1.1訂票信息實(shí)體E-R圖 94.1.2客戶信息實(shí)體E-R圖 94.1.3航線信息實(shí)體E-R圖 104.1.4客機(jī)信息實(shí)體E-R圖 104.1.5艙位等級(jí)實(shí)體E-R圖 104.1.6實(shí)體間關(guān)系E-R圖 114.2.數(shù)據(jù)庫(kù)邏輯設(shè)計(jì) 114.2.1AIR_BOOK_TABLE(訂票管理表) 114.2.2AIR_PLANE_TABLE(飛機(jī)管理表) 114.2.3AIR_SEAT_TABLE(艙位管理表) 124.2.4AIR_GUEST_TABLE(客戶管理表) 124.2.5AIR_LINE_TABLE(航線管理表) 12第5章詳細(xì)設(shè)計(jì) 135.1.頁(yè)面設(shè)計(jì) 135.1.1“登陸”界面 135.1.2程序主界面 135.1.3“機(jī)票預(yù)訂信息管理”界面 145.1.4“客戶信息管理”界面 145.1.5“航線信息管理”界面 155.1.6“客機(jī)信息管理”界面 155.1.7“艙位信息管理”界面 165.1.8“關(guān)于”界面 165.2.編碼設(shè)計(jì) 175.2.1與數(shù)據(jù)庫(kù)建立的鏈接 175.2.2獲取數(shù)據(jù)庫(kù)中特定表的某元組 175.2.3從數(shù)據(jù)庫(kù)中刪除、向數(shù)據(jù)庫(kù)中添加信息 185.2.4與數(shù)據(jù)庫(kù)斷開連接 19第6章結(jié)論與展望 19參考文獻(xiàn) 20

前言課題背景現(xiàn)在人們更多的使用飛機(jī)作為出行交通工具,因此機(jī)票票務(wù)市場(chǎng)也在快速發(fā)展。人們希望機(jī)票銷售手段也能相應(yīng)地有所調(diào)整,并對(duì)如何能經(jīng)濟(jì)、方便和及時(shí)地購(gòu)買到自己所需要的機(jī)票表現(xiàn)出極大的關(guān)注。隨著社會(huì)的不斷進(jìn)步,國(guó)內(nèi)外航空事業(yè)的飛速發(fā)展,各航空公司對(duì)票務(wù)管理的要求也在不斷的提高,本系統(tǒng)就是針對(duì)這種日益增長(zhǎng)的需求也進(jìn)行開發(fā)的。隨著旅游業(yè)的逐漸的成熟發(fā)達(dá),航空客運(yùn)量大幅度的提高,國(guó)內(nèi)國(guó)際的旅游航班的增加,這些都對(duì)航空的信息管理系統(tǒng)提出了更高的要求,所以要不斷地完善更新航空售票系統(tǒng),提高航空售票系統(tǒng)的工作效率。航空系統(tǒng)中,售票系統(tǒng)是很重要的一個(gè)環(huán)節(jié),要想提高整個(gè)航空公司的工作效率,就要先提高售票系統(tǒng)的工作效率和安全性,故而研發(fā)此系統(tǒng),此系統(tǒng)能夠?yàn)槭燮惫ぷ魈峁┓奖憧旖莸氖燮狈?wù),廣大的客戶可以得到更高更好的票務(wù)服務(wù)。本系統(tǒng)實(shí)現(xiàn)一個(gè)單機(jī)版的機(jī)票售票管理系統(tǒng),通過(guò)考察分析,構(gòu)建出數(shù)據(jù)庫(kù),并且實(shí)現(xiàn)票務(wù)管理模塊、客戶信息管理模塊和航班信息管理模塊。本系統(tǒng)的開發(fā)嚴(yán)格遵守軟件工程開發(fā)的標(biāo)準(zhǔn)流程。通過(guò)對(duì)各個(gè)模塊的實(shí)現(xiàn)來(lái)完成最后軟件總體功能的實(shí)現(xiàn)。通過(guò)觀察,進(jìn)行需求分析,畫出E-R圖和功能模塊結(jié)構(gòu)圖。在模塊設(shè)計(jì)的同時(shí)進(jìn)行單元測(cè)試,系統(tǒng)設(shè)計(jì)完成進(jìn)行系統(tǒng)調(diào)試。設(shè)計(jì)完成后,編寫完整的軟件說(shuō)明書和用戶手冊(cè),最后寫對(duì)自己所作設(shè)計(jì)的評(píng)價(jià)和總結(jié)。開發(fā)工具WindowsSDKSDK,SoftwareDevelopmentKit的縮寫,中文即“軟件開發(fā)工具包”。廣義上指輔助開發(fā)某一類軟件的相關(guān)文檔、范例和工具的集合。SDK是一些被軟件工程師用于為特定的軟件包、軟件框架、硬件平臺(tái)、操作系統(tǒng)等創(chuàng)建應(yīng)用軟件的開發(fā)工具的集合,一般而言SDK即開發(fā)Windows平臺(tái)下的應(yīng)用程序所使用的SDK。它可以簡(jiǎn)單的為某個(gè)程序設(shè)計(jì)語(yǔ)言提供應(yīng)用程序接口API的一些文件,但也可能包括能與某種嵌入式系統(tǒng)通訊的復(fù)雜的硬件。一般的工具包括用于調(diào)試和其他用途的實(shí)用工具。SDK還經(jīng)常包括示例代碼、支持性的技術(shù)注解或者其他的為基本參考資料澄清疑點(diǎn)的支持文檔。本系統(tǒng)是用傳統(tǒng)的WINDOWSSDK編程方式,通過(guò)調(diào)用ODBCAPI來(lái)實(shí)現(xiàn)C++與數(shù)據(jù)庫(kù)之間的鏈接。SQLServer2005數(shù)據(jù)庫(kù)SQLServer是一個(gè)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。它最初是由MicrosoftSybase和Ashton-Tate三家公司共同開發(fā)的,于1988年推出了第一個(gè)OS/2版本。在WindowsNT推出后,Microsoft與Sybase在SQLServer的開發(fā)上就分道揚(yáng)鑣了,Microsoft將SQLServer移植到WindowsNT系統(tǒng)上,專注于開發(fā)推廣SQLServer的WindowsNT版本。Sybase則較專注于SQLServer在UNIX操作系統(tǒng)上的應(yīng)SQLServer安裝界面用。SQLServer2005通過(guò)在可伸縮性、數(shù)據(jù)集成、開發(fā)工具和強(qiáng)大的分析等方面的革新更好的確立了微軟在BI領(lǐng)域的領(lǐng)導(dǎo)地位。SQLServer2005能夠把關(guān)鍵的信息及時(shí)的傳遞到組織內(nèi)員工的手中,從而實(shí)現(xiàn)了可伸縮的商業(yè)智能。從CEO到信息工作者,員工可以快速的、容易的處理數(shù)據(jù),以更快更好的做出決策。SQLServer2005全面的集成、分析和報(bào)表功能使企業(yè)能夠提高他們已有應(yīng)用的價(jià)值,即便這些應(yīng)用是在不同的平臺(tái)上。ODBCAPI數(shù)據(jù)庫(kù)連接技術(shù)ODBC是一種使用SQL的程序設(shè)計(jì)接口。使用ODBC讓應(yīng)用程序的編寫者避免了與數(shù)據(jù)源相聯(lián)的復(fù)雜性。這項(xiàng)技術(shù)目前已經(jīng)得到了大多數(shù)DBMS廠商們的廣泛支持。ODBC是一種使用SQL的程序設(shè)計(jì)接口。使用ODBC讓應(yīng)用程序的編寫者避免了與數(shù)據(jù)源相聯(lián)的復(fù)雜性。這項(xiàng)技術(shù)目前已經(jīng)得到了大多數(shù)DBMS廠商們的廣泛支持。MicrosoftDeveloperStudio為大多數(shù)標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)格式提供了32位ODBC驅(qū)動(dòng)器。這些標(biāo)準(zhǔn)數(shù)據(jù)格式包括有:SQLServer,Access,Paradox,dBase,F(xiàn)oxPro,Excel,Oracle以及MicrosoftText。如果用戶希望使用其他數(shù)據(jù)格式,用戶需要相應(yīng)的ODBC驅(qū)動(dòng)器及DBMS。ODBCAPI是一個(gè)內(nèi)容豐富的數(shù)據(jù)庫(kù)編程接口,包括60多個(gè)函數(shù)、SQL數(shù)據(jù)類型以及常量的聲明。ODBCAPI是獨(dú)立于DBMS和操作系統(tǒng)的,而且它與編程語(yǔ)言無(wú)關(guān)。ODBCAPI以X/Open和ISO/IEC中的CLI規(guī)范為基礎(chǔ),ODBC3.0完全實(shí)現(xiàn)了這兩種規(guī)范,并添加了基于視圖的數(shù)據(jù)庫(kù)應(yīng)用程序開發(fā)人員所需要的共同特性,例如可滾動(dòng)光標(biāo)。ODBCAPI中的函數(shù)由特定DBMS驅(qū)動(dòng)程序的開發(fā)人員實(shí)現(xiàn),應(yīng)用程序用這些驅(qū)動(dòng)程序調(diào)用函數(shù),以獨(dú)立于DBMS的方式訪問(wèn)數(shù)據(jù)。ODBCAPI涉及了數(shù)據(jù)源連接與管理、結(jié)果集檢索、數(shù)據(jù)庫(kù)管理、數(shù)據(jù)綁定、事務(wù)操作等內(nèi)容,目前的最高版本是3.0。通常使用ODBCAPI開發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序需要經(jīng)過(guò)如下步驟:?連接數(shù)據(jù)源。?分配語(yǔ)句句柄。?準(zhǔn)備并執(zhí)行SQL語(yǔ)句。?獲取結(jié)果集。?提交事務(wù)。?斷開數(shù)據(jù)源連接并釋放環(huán)境句柄。

需求分析任務(wù)概述系統(tǒng)目標(biāo)本系統(tǒng)需要滿足以下幾個(gè)系統(tǒng)設(shè)計(jì)目標(biāo)。實(shí)用性原則:真正為用戶的實(shí)際工作服務(wù),給民航機(jī)場(chǎng)售票業(yè)務(wù)帶來(lái)方便。友好性原則:本民航機(jī)場(chǎng)售票管理系統(tǒng)的用戶是各大機(jī)場(chǎng)的售票人員,所以系統(tǒng)操作上要求簡(jiǎn)單、方便、快捷,便于用戶使用。用戶特點(diǎn)本系統(tǒng)面向各大民航機(jī)場(chǎng),因?yàn)樵诿磕甑暮佟⑹罴?、重要的假期,?huì)有大量的用戶訂購(gòu)飛機(jī)票,所以會(huì)在節(jié)假日的開始與結(jié)束時(shí),本系統(tǒng)會(huì)出現(xiàn)較大的負(fù)荷。其它時(shí)間符合比較均衡。系統(tǒng)的功能需求系統(tǒng)角色功能需求本系統(tǒng)只有一種角色:管理員。管理員負(fù)責(zé)添加、刪除客機(jī)信息、客戶信息、航線信息、艙位信息以及票務(wù)信功能模塊本系統(tǒng)主要負(fù)責(zé)管理模塊,各個(gè)子模塊功能需求如下:機(jī)票預(yù)訂信息管理模塊管理員可以添加機(jī)票預(yù)訂信息,并可以對(duì)添加的機(jī)票預(yù)訂信息進(jìn)行添加、查詢、刪除??蛻粜畔⒐芾砟K管理員可以批量添加客戶信息,并可以對(duì)添加的客戶信息進(jìn)行添加、刪除。航線信息管理模塊管理員可以批量添加航線信息,并可以對(duì)添加的航線信息進(jìn)行添加、刪除??蜋C(jī)信息管理模塊管理員可以批量添加客機(jī)信息,并可以對(duì)添加的客機(jī)信息進(jìn)行添加、刪除。艙位信息管理模塊管理員只可以修改飛機(jī)艙位信息。系統(tǒng)的性能需求為了保證系統(tǒng)能夠長(zhǎng)期、安全、穩(wěn)定、可靠、高效的運(yùn)行,系統(tǒng)應(yīng)該滿足以下的性能需求:系統(tǒng)的開放性和系統(tǒng)的可擴(kuò)充性系統(tǒng)在開發(fā)過(guò)程中,應(yīng)該充分考慮以后的可擴(kuò)充性。例如飛機(jī)信息屬性添加、修改;客戶信息屬性添加、修改等模塊也會(huì)不斷的更新和完善。所有這些,都要求系統(tǒng)提供足夠的手段進(jìn)行功能的調(diào)整和擴(kuò)充。而要實(shí)現(xiàn)這一點(diǎn),應(yīng)通過(guò)系統(tǒng)的開放性來(lái)完成,既系統(tǒng)應(yīng)是一個(gè)開放系統(tǒng),只要符合一定的規(guī)范,可以簡(jiǎn)單的加入和減少系統(tǒng)的模塊,配置系統(tǒng)的硬件。通過(guò)軟件的修補(bǔ)、替換完成系統(tǒng)的升級(jí)和更新?lián)Q代。系統(tǒng)的易用性和易維護(hù)性系統(tǒng)是直接面對(duì)使用人員的,而有些使用人員往往對(duì)計(jì)算機(jī)并不是非常熟悉。這就要求系統(tǒng)能夠提供良好的用戶接口,易用的人機(jī)交互界面。要實(shí)現(xiàn)這一點(diǎn),就要求系統(tǒng)應(yīng)該盡量使用用戶熟悉的術(shù)語(yǔ)和中文信息的界面;針對(duì)用戶可能出現(xiàn)的使用問(wèn)題,要提供足夠的在線幫助,縮短用戶對(duì)系統(tǒng)熟悉的過(guò)程。系統(tǒng)中涉及到的數(shù)據(jù)是高校實(shí)驗(yàn)室相當(dāng)重要的信息,因此系統(tǒng)為不同角色的用戶提供了方便的管理后臺(tái)進(jìn)行數(shù)據(jù)管理,特別為系統(tǒng)管理員提供了數(shù)據(jù)備份,日常安全管理,防止系統(tǒng)意外崩潰等功能。系統(tǒng)的響應(yīng)速度系統(tǒng)設(shè)計(jì)中摒棄大量數(shù)據(jù)冗余,提出了優(yōu)化數(shù)據(jù)庫(kù)的解決方案,大量使用存儲(chǔ)過(guò)程,大大提高系統(tǒng)響應(yīng)時(shí)間和速度。系統(tǒng)在日常處理中的響應(yīng)速度為秒級(jí),達(dá)到實(shí)時(shí)要求,以及時(shí)反饋信息。嚴(yán)格保證操作人員不會(huì)因?yàn)樗俣葐?wèn)題而影響工作效率。系統(tǒng)的數(shù)據(jù)需求通過(guò)對(duì)系統(tǒng)功能需求的分析,可以初步確定該系統(tǒng)的基本數(shù)據(jù)需求。由各個(gè)功能模塊可以進(jìn)一步確定具體的數(shù)據(jù)需求,具體數(shù)據(jù)需求如下:機(jī)票預(yù)訂模塊數(shù)據(jù)需求該模塊主要管理客戶訂票,需要表示的數(shù)據(jù)有:訂票數(shù)據(jù):應(yīng)包含機(jī)票編號(hào)、機(jī)票價(jià)格客戶數(shù)據(jù):客戶編號(hào)、客戶姓名航線數(shù)據(jù):航線編號(hào)、起始城市、終點(diǎn)城市、出發(fā)日期艙位數(shù)據(jù):艙位類型編號(hào)客戶信息管理模塊該模塊主要管理客戶自身信息,需要表示的數(shù)據(jù)有:客戶編號(hào)、客戶姓名、客戶性別、客戶證件號(hào)、客戶電話。航線信息管理模塊該模塊主要管理航線自身信息,需要表示的數(shù)據(jù)有:航線編號(hào)、起始城市、終點(diǎn)城市、出發(fā)時(shí)間、到達(dá)時(shí)間、飛機(jī)編號(hào)、經(jīng)濟(jì)艙價(jià)格、頭等艙價(jià)格。客機(jī)信息管理模塊該模塊主要管理客機(jī)自身信息,需要表示的數(shù)據(jù)有:飛機(jī)編號(hào)、飛機(jī)類型、經(jīng)濟(jì)艙座位數(shù)、頭等艙座位數(shù)。艙位信息管理模塊該模塊主要管理艙位自身信息,需要表示的數(shù)據(jù)有:艙位類型編號(hào)、艙位類型名稱、是否有報(bào)刊、是否有飲料、是否有食物、是否可取消、是否可打折

系統(tǒng)總體設(shè)計(jì)系統(tǒng)總體設(shè)計(jì)民航機(jī)場(chǎng)售票管理系統(tǒng)民航機(jī)場(chǎng)售票管理系統(tǒng)機(jī)票預(yù)訂信息管理客戶信息管理航線信息管理客機(jī)信息管理艙位信息管理訂票信息添加訂票信息查詢訂票信息刪除客戶信息添加客戶信息刪除航線信息添加航線信息刪除客機(jī)信息添加客機(jī)信息刪除修改艙位信息

數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)概念設(shè)計(jì)訂票信息實(shí)體E-R圖訂票信息實(shí)體訂票信息實(shí)體訂票編號(hào)客戶編號(hào)客戶姓名航線編號(hào)出發(fā)城市到達(dá)城市出發(fā)日期艙位類型機(jī)票價(jià)格客戶信息實(shí)體E-R圖客戶信息實(shí)體客戶信息實(shí)體客戶編號(hào)客戶姓名客戶性別證件號(hào)碼聯(lián)系電話

航線信息實(shí)體E-R圖航線信息實(shí)體航線信息實(shí)體航線編號(hào)出發(fā)城市到達(dá)城市航班日期出發(fā)時(shí)間到達(dá)時(shí)間客機(jī)編號(hào)經(jīng)濟(jì)艙價(jià)格頭等艙價(jià)格客機(jī)信息實(shí)體E-R圖客機(jī)信息實(shí)體客機(jī)信息實(shí)體客機(jī)編號(hào)客機(jī)型號(hào)經(jīng)濟(jì)艙座位數(shù)量頭等艙座位數(shù)量艙位等級(jí)實(shí)體E-R圖艙位等級(jí)實(shí)體艙位等級(jí)實(shí)體艙位等級(jí)編號(hào)艙位等級(jí)名稱是否有報(bào)紙是否有飲料是否有午餐是否可以退票是否可以打折實(shí)體間關(guān)系E-R圖艙位等級(jí)實(shí)體艙位等級(jí)實(shí)體航線信息實(shí)體客戶信息實(shí)體訂票信息實(shí)體客機(jī)信息實(shí)體訂票1nn11數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)現(xiàn)在需要將上面的數(shù)據(jù)庫(kù)概念結(jié)構(gòu)轉(zhuǎn)化為SQLServer2005數(shù)據(jù)庫(kù)系統(tǒng)所支持的實(shí)際數(shù)據(jù)模型,也就是數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)。民航機(jī)場(chǎng)售票管理系統(tǒng)數(shù)據(jù)庫(kù)中各個(gè)表格的設(shè)計(jì)結(jié)果如下面表格所示。每個(gè)表格表示在數(shù)據(jù)庫(kù)中的一個(gè)表。AIR_BOOK_TABLE(訂票管理表)列名數(shù)據(jù)類型可否為空說(shuō)明TicketNoint否機(jī)票編號(hào)CustomerNoint否客戶編號(hào)CustomerNamenvarchar(10)否客戶姓名AirLineNoint否航線編號(hào)StartCitynvarchar(10)否出發(fā)城市EndCitynvarchar(50)否終點(diǎn)城市TicketDatenvarchar(50)否出發(fā)日期ServiceTypeint否艙位類型TicketPriceint否機(jī)票價(jià)格AIR_PLANE_TABLE(飛機(jī)管理表)列名數(shù)據(jù)類型可否為空說(shuō)明PlaneNoint否飛機(jī)編號(hào)PlaneTypenvarchar(15)否飛機(jī)型號(hào)CommonNoint否經(jīng)濟(jì)艙座位數(shù)FirstNoint否頭等艙座位數(shù)AIR_SEAT_TABLE(艙位管理表)列名數(shù)據(jù)類型可否為空說(shuō)明ServiceNoint否艙位類型編號(hào)ServiceNamenvarchar(15)否艙位類型名稱IsNewsPapernvarchar(7)否是否有報(bào)紙IsDrinknvarchar(7)否是否有飲料IsFoodnvarchar(7)否是否有食物CanCancelnvarchar(7)否是否可取消CanDiscountnvarchar(7)否是否可打折AIR_GUEST_TABLE(客戶管理表)列名數(shù)據(jù)類型可否為空說(shuō)明GuestNoint否客戶編號(hào)GuestNamenvarchar(10)否客戶姓名GuestSexnvarchar(4)否客戶性別GuestIDnvarchar(20)否客戶證件號(hào)GuestTelenvarchar(15)否客戶電話AIR_LINE_TABLE(航線管理表)列名數(shù)據(jù)類型可否為空說(shuō)明AirLineNoint否航線編號(hào)StartCitynchar(10)否起始城市EndCitynchar(10)否終點(diǎn)城市StartTimedatetime否出發(fā)時(shí)間EndTimedatetime否到達(dá)時(shí)間PlaneNoint否飛機(jī)編號(hào)CommonPriceint否經(jīng)濟(jì)艙價(jià)格FirstPriceint否頭等艙價(jià)格

詳細(xì)設(shè)計(jì)頁(yè)面設(shè)計(jì)“登陸”界面通過(guò)用戶輸入的用戶名及密碼,如果用戶名/密碼輸入錯(cuò)誤,則會(huì)提示是否重新輸入,若放棄輸入,則該系統(tǒng)會(huì)自動(dòng)退出。圖表5-1圖表5-2程序主界面系統(tǒng)登陸成功后,則會(huì)看到主界面,該系統(tǒng)的各功能可以從菜單欄中選擇。圖表5-3“機(jī)票預(yù)訂信息管理”界面圖表5-4“客戶信息管理”界面圖表5-5“航線信息管理”界面圖表5-6“客機(jī)信息管理”界面圖表5-7“艙位信息管理”界面在菜單上按“艙位信息管理”按鈕后,會(huì)彈出“艙位信息管理”對(duì)話框。管理者可以在這個(gè)管理界面中實(shí)現(xiàn)對(duì)飛機(jī)艙位信息的修改。圖表5-8“關(guān)于”界面在菜單上按“關(guān)于”按鈕后,會(huì)彈出“關(guān)于”對(duì)話框,它顯示了作者的信息。圖表5-9

編碼設(shè)計(jì)與數(shù)據(jù)庫(kù)建立的鏈接用ODBCAPI與數(shù)據(jù)庫(kù)建立連接需要經(jīng)過(guò)如下幾步:分配環(huán)境句柄->設(shè)置ODBC版本號(hào)->分配連接句柄->“用戶名/密碼”登陸數(shù)據(jù)庫(kù)。我創(chuàng)建了函數(shù)ODBC_CONNECT來(lái)管理系統(tǒng)與數(shù)據(jù)庫(kù)的鏈接,該函數(shù)會(huì)在主程序執(zhí)行時(shí)被調(diào)用。BOOLODBC_CONNECT(constchar*DSN_NAME,constchar*USER_NAME,constchar*USER_PASSWORD){ //分配環(huán)境句柄 nResult=SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&henv); if((nResult!=SQL_SUCCESS)&&(nResult!=SQL_SUCCESS_WITH_INFO)) returnFALSE; //設(shè)置ODBC版本號(hào) nResult=SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION,(void*)SQL_OV_ODBC3,0); if((nResult!=SQL_SUCCESS)&&(nResult!=SQL_SUCCESS_WITH_INFO)) returnFALSE; //分配連接背景 nResult=SQLAllocHandle(SQL_HANDLE_DBC,henv,&hdbc); if((nResult!=SQL_SUCCESS)&&(nResult!=SQL_SUCCESS_WITH_INFO)) returnFALSE; //連接數(shù)據(jù)庫(kù) nResult=SQLConnect(hdbc,(SQLCHAR*)DSN_NAME,SQL_NTS,(SQLCHAR*)USER_NAME,SQL_NTS,(SQLCHAR*)USER_PASSWORD,SQL_NTS); if((nResult!=SQL_SUCCESS)&&(nResult!=SQL_SUCCESS_WITH_INFO)) returnFALSE; returnTRUE;}獲取數(shù)據(jù)庫(kù)中特定表的某元組是用ODBCAPI從數(shù)據(jù)庫(kù)中取出特定表中的某一個(gè)元組,需要經(jīng)過(guò)如下操作:分配句柄->執(zhí)行SQL語(yǔ)句->獲取語(yǔ)句執(zhí)行后返回的數(shù)據(jù)的屬性的個(gè)數(shù)->將每一個(gè)屬性與本地變量綁定->循環(huán)取數(shù)據(jù),每次一個(gè)元組,并做相應(yīng)處理->釋放語(yǔ)句執(zhí)行句柄.為實(shí)現(xiàn)該功能,我編寫了ODBC_DISPLAYLIST函數(shù),它會(huì)在每次產(chǎn)生子對(duì)話框時(shí)被調(diào)用,它也會(huì)在每次用戶更新數(shù)據(jù)庫(kù)后被調(diào)用(因?yàn)轱@示在程序界面上的數(shù)據(jù)要和數(shù)據(jù)庫(kù)中的數(shù)據(jù)同步)。BOOLODBC_DISPLAYLIST(constchar*SQLSCENTENCE,HWND&hwndDlg,intControlID){ //分配句柄nResult=SQLAllocHandle(SQL_HANDLE_STMT,hdbc,&hstmt); if((nResult!=SQL_SUCCESS)&&(nResult!=SQL_SUCCESS_WITH_INFO)) returnFALSE; //執(zhí)行SQL語(yǔ)句 nResult=SQLExecDirect(hstmt,(unsignedchar*)SQLSCENTENCE,SQL_NTS); if((nResult!=SQL_SUCCESS)&&(nResult!=SQL_SUCCESS_WITH_INFO)) returnFALSE; //獲取語(yǔ)句執(zhí)行后返回的數(shù)據(jù)的屬性的個(gè)數(shù),保存在nCols變量中 SQLNumResultCols(hstmt,&nCols); //將每一個(gè)屬性與本地變量綁定for(nCount=0;nCount<nCols;nCount++) SQLBindCol(hstmt,(UWORD)(nCount+1),SQL_C_CHAR,data[nCount],MAXDATALEN,(long*)&dwDataLen[nCount]); //循環(huán)取數(shù)據(jù),每次一個(gè)元組,并做相應(yīng)處理(在此是用這些填充列表框) while(SQL_SUCCESS==SQLFetch(hstmt)) { memset(DATA_TEMP,0,sizeof(DATA_TEMP)); for(nCount=0;nCount<nCols;nCount++) if(dwDataLen[nCount]!=SQL_NULL_DATA) { wsprintf(DATA_ENUM,"%-30s",data[nCount]); lstrcat(DATA_TEMP,DATA_ENUM); } //向列表框中填充數(shù)據(jù) SendDlgItemMessage(hwndDlg,ControlID,LB_ADDSTRING,0,(LPARAM)DATA_TEMP); } //為列表框添加滾動(dòng)條SendDlgItemMessage(hwndDlg,ControlID,LB_SETHORIZONTALEXTENT,1500,0); //釋放語(yǔ)句執(zhí)行句柄 SQLCloseCursor(hstmt); SQLFreeStmt(hstmt,SQL_UNBIND); SQLFreeHandle(SQL_HANDLE_STMT,hstmt); returnTRUE;}從數(shù)據(jù)庫(kù)中刪除、向數(shù)據(jù)庫(kù)中添加信息數(shù)據(jù)庫(kù)信息的添加、刪除分別是執(zhí)行SQL語(yǔ)句的“INSERTINTO”、“DELETEFROM”,所以我編寫了ODBC_EXECSQLDIRT函數(shù)來(lái)實(shí)現(xiàn)程序?qū)QL語(yǔ)句的執(zhí)行,統(tǒng)一了插入、刪除算法的編寫,都是經(jīng)過(guò):獲取變量值->構(gòu)造SQL語(yǔ)句->執(zhí)行SQL語(yǔ)句->完畢。該函數(shù)將在每次用戶向數(shù)據(jù)庫(kù)中“插入”、“刪除”數(shù)據(jù)時(shí)執(zhí)行。BOOLODBC_EXECSQLDIRT(constchar*SQLSCENTENCE){ nResult=SQ

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論