民航機(jī)場售票管理系統(tǒng)方案_第1頁
民航機(jī)場售票管理系統(tǒng)方案_第2頁
民航機(jī)場售票管理系統(tǒng)方案_第3頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、青島理工大學(xué)數(shù)據(jù)庫系統(tǒng)課程設(shè)計(jì)院(系): 計(jì)算機(jī)工程學(xué)院專業(yè):XXXXXXXXX姓名:XXXXXXX班級(jí): XXXXXXXXX 學(xué)號(hào):XXXXXXXXXX題目:民航機(jī)場售票管理系統(tǒng)起迄日期:設(shè)計(jì)地點(diǎn):2 號(hào)實(shí)驗(yàn)樓402指導(dǎo)教師:XXXXXX目錄第1章前言 41.1. 課題背景 41.2. 開發(fā)工具 41.2.1 Win dows SDK 41.2.2 SQL Server 2005數(shù)據(jù)庫 41.2.3 ODBC API數(shù)據(jù)庫連接技術(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

2、功能模塊 62.3. 系統(tǒng)的性能需求 72.4. 系統(tǒng)的數(shù)據(jù)需求 7第3章系統(tǒng)總體設(shè)計(jì) 93.1. 系統(tǒng)總體設(shè)計(jì) 9第4章數(shù)據(jù)庫設(shè)計(jì) 104.1. 數(shù)據(jù)庫概念設(shè)計(jì) 104.1.1 訂票信息實(shí)體 E-R圖 104.1.2 客戶信息實(shí)體E-R圖 104.1.3 航線信息實(shí)體 E-R圖 114.1.4 客機(jī)信息實(shí)體 E-R圖 114.1.5 艙位等級(jí)實(shí)體 E-R圖 114.1.6 實(shí)體間關(guān)系 E-R圖 124.2. 數(shù)據(jù)庫邏輯設(shè)計(jì) 124.2.1 AIR_BOOK_TABLE (訂票管理表) 124.2.2 AIR_PLANE_TABLE(飛機(jī)管理表) 124.2.3 AIR_SEAT_TABLE(

3、艙位管理表) 134.2.4 AIR_GUEST_TABLE(客戶管理表) 134.2.5 AIR_LINE_TABLE(航線管理表) 13第5章詳細(xì)設(shè)計(jì) 145.1. 頁面設(shè)計(jì) 145.1.1 “登陸”界面 145.1.2 程序主界面 145.1.3 “機(jī)票預(yù)訂信息管理”界面 155.1.4 “客戶信息管理”界面 155.1.5 “航線信息管理”界面 165.1.6 “客機(jī)信息管理”界面 165.1.7 “艙位信息管理”界面 175.1.8 “關(guān)于”界面 175.2. 編碼設(shè)計(jì) 18與數(shù)據(jù)庫建立的鏈接 18522獲取數(shù)據(jù)庫中特定表的某元組 18523從數(shù)據(jù)庫中刪除、向數(shù)據(jù)庫中添加信息 195

4、.2.4 與數(shù)據(jù)庫斷開連接 20第6章結(jié)論與展望 21參考文獻(xiàn) 21第1章前言1.1. 課題背景現(xiàn)在人們更多的使用飛機(jī)作為出行交通工具,因此機(jī)票票務(wù)市場也在快速發(fā)展。人們希望機(jī)票銷售手段也能相 應(yīng)地有所調(diào)整,并對(duì)如何能經(jīng)濟(jì)、方便和及時(shí)地購買到自己所需要的機(jī)票表現(xiàn)出極大的關(guān)注。隨著社會(huì)的不斷進(jìn)步, 國內(nèi)外航空事業(yè)的飛速發(fā)展,各航空公司對(duì)票務(wù)管理的要求也在不斷的提高,本系統(tǒng)就是針對(duì)這種日益增長的需求 也進(jìn)行開發(fā)的。隨著旅游業(yè)的逐漸的成熟發(fā)達(dá),航空客運(yùn)量大幅度的提高,國內(nèi)國際的旅游航班的增加,這些都對(duì)航空的信息 管理系統(tǒng)提出了更高的要求,所以要不斷地完善更新航空售票系統(tǒng),提高航空售票系統(tǒng)的工作效率。

5、航空系統(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),通過考察分析,構(gòu)建出數(shù)據(jù)庫,并且實(shí)現(xiàn)票務(wù)管理模塊、客戶信 息管理模塊和航班信息管理模塊。本系統(tǒng)的開發(fā)嚴(yán)格遵守軟件工程開發(fā)的標(biāo)準(zhǔn)流程。通過對(duì)各個(gè)模塊的實(shí)現(xiàn)來完成最后軟件總體功能的實(shí)現(xiàn)。通 過觀察,進(jìn)行需求分析,畫出E-R圖和功能模塊結(jié)構(gòu)圖。在模塊設(shè)計(jì)的同時(shí)進(jìn)行單元測試,系統(tǒng)設(shè)計(jì)完成進(jìn)行系統(tǒng)調(diào)試。設(shè)計(jì)完成后,編寫完整的軟件說明書和用戶手冊(cè),最后寫對(duì)自

6、己所作設(shè)計(jì)的評(píng)價(jià)和總結(jié)。1.2. 開發(fā)工具1.2.1 Win dows SDKSDK Software Development Kit的縮寫,中文即"軟件開發(fā)工具包”。廣義上指輔助開發(fā)某一類軟件的相關(guān)文檔、范例和工具的集合。SDK是 一些被軟件工程師用于為特定的軟件包、軟件框架、硬件平臺(tái)、操作系統(tǒng)等創(chuàng)建應(yīng)用軟件的開發(fā)工具的集合,一般而言SDK即開發(fā)Windows平臺(tái)下的應(yīng)用程序所使用的SDK它可以簡單的為某個(gè)程序設(shè)計(jì)語言提供應(yīng)用程序接口 API的一些文件,但也可能包括能與某種嵌入式系統(tǒng)通訊的復(fù)雜的硬件。一般的工具包括用于調(diào)試和其他用 途的實(shí)用工具。SDK還經(jīng)常包括示例代碼、支持性的技

7、術(shù)注解或者其他的為基本參考資料澄清疑點(diǎn)的支持文檔。本系統(tǒng)是用傳統(tǒng)的 WINDOWS SD編程方式,通過調(diào)用 ODBC API來實(shí)現(xiàn)C+與數(shù)據(jù)庫之間的鏈接。1.2.2 SQL Server 2005 數(shù)據(jù)庫SQLServer是一個(gè)關(guān)系數(shù)據(jù)庫管理系統(tǒng)。它最初是由Microsoft Sybase和Ashton-Tate三家公司共同開發(fā)的,于1988年推出了第一個(gè) OS/2版本。在 Windows NT推出后,Microsoft 與Sybase在SQL Server的開發(fā)上就分道 揚(yáng)鑣了,Microsoft 將SQL Server移植到 Windows NT系統(tǒng)上,專注于開發(fā)推廣SQL Server的

8、 Windows NT版本。Sybase則較專注于 SQL Server在UNIX操作系統(tǒng)上的應(yīng) SQL Server安裝界面用。SQL Server 2005通過在可伸縮性、數(shù)據(jù)集成、開發(fā)工具和強(qiáng)大的分析等方面的革新更好的確立了微軟在BI領(lǐng)域的領(lǐng)導(dǎo)地位。SQL Server 2005能夠把關(guān)鍵的信息及時(shí)的傳遞到組織內(nèi)員工的手中,從而實(shí)現(xiàn)了SQL可伸縮的商業(yè)智能。 從CEO到信息工作者,員工可以快速的、容易的處理數(shù)據(jù),以更快更好的做出決策。Server 2005 全面的集成、分析和報(bào)表功能使企業(yè)能夠提高他們已有應(yīng)用的價(jià)值,即便這些應(yīng)用是在不同的 平臺(tái)上。1.2.3 ODBC AP數(shù)據(jù)庫連接技術(shù)

9、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)用程序32位ODBC驅(qū)動(dòng)器。這些標(biāo)準(zhǔn)數(shù)據(jù)格式包括 以及Microsoft Text 。如果用戶希望使用其的編寫者避免了與數(shù)據(jù)源相聯(lián)的復(fù)雜性。這項(xiàng)技術(shù)目前已經(jīng)得到了大多數(shù)DBMS廠商們的廣泛支持。Microsoft Developer Studio為大多數(shù)標(biāo)準(zhǔn)的數(shù)據(jù)庫格式提供了有:SQL Server,Access,Paradox,dBase, FoxPro, Excel, Orac

10、le他數(shù)據(jù)格式,用戶需要相應(yīng)的ODBC驅(qū)動(dòng)器及DBMSODBC API是一個(gè)內(nèi)容豐富的數(shù)據(jù)庫編程接口,包括60多個(gè)函數(shù)、SQL數(shù)據(jù)類型以及常量的聲明。ODBCAPI是獨(dú)立于DBMS和操作系統(tǒng)的,而且它與編程語言無關(guān)。ODBCAPI以X/Open和ISO/IEC中的CLI規(guī)范為基礎(chǔ),ODBC3.0 完全實(shí)現(xiàn)了這兩種規(guī)范,并添加了基于視圖的數(shù)據(jù)庫應(yīng)用程序開發(fā)人員所需要的共同特性,例如可滾動(dòng)光標(biāo)。ODB0PI中的函數(shù)由特定 DBMS驅(qū)動(dòng)程序的開發(fā)人員實(shí)現(xiàn),應(yīng)用程序用這些驅(qū)動(dòng)程序調(diào)用函數(shù),以獨(dú)立于DBMS的方式訪問數(shù)據(jù)。ODBC API涉及了數(shù)據(jù)源連接與管理、結(jié)果集檢索、數(shù)據(jù)庫管理、數(shù)據(jù)綁定、事務(wù)操作

11、等內(nèi)容,目前的最高版本 是 3.0。通常使用ODBC API開發(fā)數(shù)據(jù)庫應(yīng)用程序需要經(jīng)過如下步驟:?連接數(shù)據(jù)源。?分配語句句柄。?準(zhǔn)備并執(zhí)行SQL語句。?獲取結(jié)果集。?提交事務(wù)。?斷開數(shù)據(jù)源連接并釋放環(huán)境句柄。第2章需求分析2.1. 任務(wù)概述系統(tǒng)目標(biāo)本系統(tǒng)需要滿足以下幾個(gè)系統(tǒng)設(shè)計(jì)目標(biāo)。1)實(shí)用性原則:真正為用戶的實(shí)際工作服務(wù),給民航機(jī)場售票業(yè)務(wù)帶來方便。2)友好性原則:本民航機(jī)場售票管理系統(tǒng)的用戶是各大機(jī)場的售票人員,所以系統(tǒng)操作上要求簡單、方便、快捷, 便于用戶使用。用戶特點(diǎn)本系統(tǒng)面向各大民航機(jī)場,因?yàn)樵诿磕甑暮?、暑假、重要的假期,?huì)有大量的用戶訂購飛機(jī)票,所以會(huì)在節(jié) 假日的開始與結(jié)束時(shí),本

12、系統(tǒng)會(huì)出現(xiàn)較大的負(fù)荷。其它時(shí)間符合比較均衡。2.2. 系統(tǒng)的功能需求系統(tǒng)角色功能需求本系統(tǒng)只有一種角色:管理員。管理員負(fù)責(zé)添加、刪除客機(jī)信息、客戶信息、航線信息、艙位信息以及票務(wù)信功能模塊本系統(tǒng)主要負(fù)責(zé)管理模塊,各個(gè)子模塊功能需求如下:1)機(jī)票預(yù)訂信息管理模塊管理員可以添加機(jī)票預(yù)訂信息,并可以對(duì)添加的機(jī)票預(yù)訂信息進(jìn)行添加、查詢、刪除。2)客戶信息管理模塊管理員可以批量添加客戶信息,并可以對(duì)添加的客戶信息進(jìn)行添加、刪除。3)航線信息管理模塊管理員可以批量添加航線信息,并可以對(duì)添加的航線信息進(jìn)行添加、刪除。4)客機(jī)信息管理模塊管理員可以批量添加客機(jī)信息,并可以對(duì)添加的客機(jī)信息進(jìn)行添加、刪除。5)艙

13、位信息管理模塊管理員只可以修改飛機(jī)艙位信息。23系統(tǒng)的性能需求為了保證系統(tǒng)能夠長期、安全、穩(wěn)定、可靠、高效的運(yùn)行,系統(tǒng)應(yīng)該滿足以下的性能需求:1)系統(tǒng)的開放性和系統(tǒng)的可擴(kuò)充性系統(tǒng)在開發(fā)過程中,應(yīng)該充分考慮以后的可擴(kuò)充性。例如飛機(jī)信息屬性添加、修改;客戶信息屬性添加、 修改等模塊也會(huì)不斷的更新和完善。所有這些,都要求系統(tǒng)提供足夠的手段進(jìn)行功能的調(diào)整和擴(kuò)充。而要實(shí)現(xiàn)這一 點(diǎn),應(yīng)通過系統(tǒng)的開放性來完成,既系統(tǒng)應(yīng)是一個(gè)開放系統(tǒng),只要符合一定的規(guī)范,可以簡單的加入和減少系統(tǒng)的 模塊,配置系統(tǒng)的硬件。通過軟件的修補(bǔ)、替換完成系統(tǒng)的升級(jí)和更新?lián)Q代。2)系統(tǒng)的易用性和易維護(hù)性系統(tǒng)是直接面對(duì)使用人員的,而有些使

14、用人員往往對(duì)計(jì)算機(jī)并不是非常熟悉。這就要求系統(tǒng)能夠提供良好 的用戶接口,易用的人機(jī)交互界面。要實(shí)現(xiàn)這一點(diǎn),就要求系統(tǒng)應(yīng)該盡量使用用戶熟悉的術(shù)語和中文信息的界面; 針對(duì)用戶可能出現(xiàn)的使用問題,要提供足夠的在線幫助,縮短用戶對(duì)系統(tǒng)熟悉的過程。系統(tǒng)中涉及到的數(shù)據(jù)是高校實(shí)驗(yàn)室相當(dāng)重要的信息,因此系統(tǒng)為不同角色的用戶提供了方便的管理后臺(tái)進(jìn) 行數(shù)據(jù)管理,特別為系統(tǒng)管理員提供了數(shù)據(jù)備份,日常安全管理,防止系統(tǒng)意外崩潰等功能。3)系統(tǒng)的響應(yīng)速度系統(tǒng)設(shè)計(jì)中摒棄大量數(shù)據(jù)冗余,提出了優(yōu)化數(shù)據(jù)庫的解決方案,大量使用存儲(chǔ)過程,大大提高系統(tǒng)響應(yīng)時(shí) 間和速度。系統(tǒng)在日常處理中的響應(yīng)速度為秒級(jí),達(dá)到實(shí)時(shí)要求,以及時(shí)反饋信息。

15、嚴(yán)格保證操作人員不會(huì)因?yàn)樗?度問題而影響工作效率。2.4.系統(tǒng)的數(shù)據(jù)需求通過對(duì)系統(tǒng)功能需求的分析,可以初步確定該系統(tǒng)的基本數(shù)據(jù)需求。由各個(gè)功能模塊可以進(jìn)一步確定具體的數(shù) 據(jù)需求,具體數(shù)據(jù)需求如下:1)機(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)2)客戶信息管理模塊該模塊主要管理客戶自身信息,需要表示的數(shù)據(jù)有:客戶編號(hào)、客戶姓名、客戶性別、客戶證件號(hào)、客戶 電話。3)航線信息管理模塊該模塊主要管理航線自身信息,需要表示的數(shù)據(jù)有:航線編號(hào)、起始城市、

16、終點(diǎn)城市、出發(fā)時(shí)間、至U達(dá)時(shí) 間、飛機(jī)編號(hào)、經(jīng)濟(jì)艙價(jià)格、頭等艙價(jià)格。4)客機(jī)信息管理模塊該模塊主要管理客機(jī)自身信息,需要表示的數(shù)據(jù)有:飛機(jī)編號(hào)、飛機(jī)類型、經(jīng)濟(jì)艙座位數(shù)、頭等艙座位數(shù)。5)艙位信息管理模塊該模塊主要管理艙位自身信息,需要表示的數(shù)據(jù)有:艙位類型編號(hào)、艙位類型名稱、是否有報(bào)刊、是否有 飲料、是否有食物、是否可取消、是否可打折第3章系統(tǒng)總體設(shè)計(jì)3.1.系統(tǒng)總體設(shè)計(jì)第4章數(shù)據(jù)庫設(shè)計(jì)4.1. 數(shù)據(jù)庫概念設(shè)計(jì)訂票信息實(shí)體E-R圖客戶信息實(shí)體E-R圖航線信息實(shí)體E-R圖客機(jī)信息實(shí)體E-R圖艙位等級(jí)實(shí)體E-R圖實(shí)體間關(guān)系E-R圖4.2. 數(shù)據(jù)庫邏輯設(shè)計(jì)現(xiàn)在需要將上面的數(shù)據(jù)庫概念結(jié)構(gòu)轉(zhuǎn)化為SQL

17、Server 2005 數(shù)據(jù)庫系統(tǒng)所支持的實(shí)際數(shù)據(jù)模型,也就是數(shù)據(jù)庫的邏輯結(jié)構(gòu)。民航機(jī)場售票管理系統(tǒng)數(shù)據(jù)庫中各個(gè)表格的設(shè)計(jì)結(jié)果如下面表格所示。每個(gè)表格表示在數(shù)據(jù)庫中的一個(gè)表。票管理表)列名數(shù)據(jù)類型可否為空說明TicketNoint否機(jī)票編號(hào)CustomerNoint否客戶編號(hào)CustomerNamen varchar(10)否客戶姓名AirLi neNoint否航線編號(hào)StartCityn varchar(10)否出發(fā)城市En dCityn varchar(50)否終點(diǎn)城市TicketDaten varchar(50)否出發(fā)日期ServiceTypeint否艙位類型TicketPriceint

18、否機(jī)票價(jià)格飛機(jī)管理表)列名數(shù)據(jù)類型可否為空說明Pla neNoint否飛機(jī)編號(hào)Plan eTypen varchar(15)否飛機(jī)型號(hào)Com mon Noint否經(jīng)濟(jì)艙座位數(shù)FirstNoint否頭等艙座位數(shù)423 AIR_SEAT_TABLE(位管理表)列名數(shù)據(jù)類型可否為空說明ServiceNoint否艙位類型編號(hào)ServiceNamen varchar(15)否艙位類型名稱IsNewsPapern varchar(7)否是否有報(bào)紙IsDri nkn varchar(7)否是否有飲料IsFoodn varchar(7)否是否有食物CanCanceln varchar(7)否是否可取消Can

19、Discountn varchar(7)否是否可打折424 AIR_GUEST_TABL客戶管理表)列名數(shù)據(jù)類型可否為空說明GuestNoint否客戶編號(hào)GuestNamen varchar(10)否客戶姓名GuestSexn varchar(4)否客戶性別GuestIDn varchar(20)否客戶證件號(hào)GuestTelen varchar(15)否客戶電話航線管理表)列名數(shù)據(jù)類型可否為空說明AirLi neNoint否航線編號(hào)StartCityn char(10)否起始城市En dCityn char(10)否終點(diǎn)城市StartTimedatetime否出發(fā)時(shí)間En dTimedatet

20、ime否到達(dá)時(shí)間Pla neNoint否飛機(jī)編號(hào)Common Priceint否經(jīng)濟(jì)艙價(jià)格FirstPriceint否頭等艙價(jià)格第5章詳細(xì)設(shè)計(jì)5.1. 頁面設(shè)計(jì)“登陸”界面通過用戶輸入的用戶名及密碼,如果用戶名/密碼輸入錯(cuò)誤,則會(huì)提示是否重新輸入,若放棄輸入,則該系統(tǒng)會(huì)自動(dòng)退出。圖表5-1用戶名;密碼;民飢機(jī)場直:|testingt JL JL 鼻 a. JE 見用戶苦戒空碼皓四圖表5-2程序主界面系統(tǒng)登陸成功后,則會(huì)看到主界面,該系統(tǒng)的各功能可以從菜單欄中選擇。圖表5-3圖表5-4“客戶信息管理”界面5JS容戶佶息它'理St)s3702031G52452345370Z031G5245

21、1270f256565flH595655?5f 3/U4h ltih2lbKblZfl9寧四圖表5-5憂骯機(jī)場售棗營母樂縮Jfi線信符理數(shù)嘲攥作數(shù)攤餐作r嚴(yán)疑 機(jī)舉預(yù)訂值&苛玨 習(xí)尸信忌苜理 頊線信忌苜理 囲機(jī)信忌首理 脂位信思苜理 就助 骯線佶息昔理laIH京泉嗨島 匕邂比北昆音京京祈朮京南 JK北臨怦北濟(jì)12 1-4562D10 01 15 1 3:15:15 ZUIU-UI -16 I H:1b:2ti ?mn-oi-iK 1 fi;i5;u 2010 01 17 00;15J3 ZD1 U U1-1 U UB;1 5:1 5 201 Q-0 l-D I I 2:1 2:1 2粹

22、要?jiǎng)t除的航線騙號(hào)圖表5-6“客機(jī)信息管理”界面圖表5-7在菜單上按“艙位信息管理”按鈕后,會(huì)彈出“艙位信息管理”對(duì)話框。管理者可以在這個(gè)管理界面中實(shí)現(xiàn)對(duì) 飛機(jī)艙位信息的修改。圖表5-8“關(guān)于”界面在菜單上按“關(guān)于”按鈕后,會(huì)彈出“關(guān)于”對(duì)話框,它顯示了作者的信息。圖表5-952編碼設(shè)計(jì)與數(shù)據(jù)庫建立的鏈接用ODBC API與數(shù)據(jù)庫建立連接需要經(jīng)過如下幾步:分配環(huán)境句柄 -> 設(shè)置ODBC版本號(hào)-> 分配連接句柄-> “用戶 名/密碼”登陸數(shù)據(jù)庫。我創(chuàng)建了函數(shù)ODBC_CONNE來管理系統(tǒng)與數(shù)據(jù)庫的鏈接,該函數(shù)會(huì)在主程序執(zhí)行時(shí)被調(diào)用。BOOL ODBC_CONNECT(co ns

23、t char *DSN_NAME, const char *USER_NAME, con st char *USER_PASSWORD) /分配環(huán)境句柄n Result=SQLAIIocHa ndle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &he nv);if(n Result != SQL_SUCCESS) && (n Result != SQL_SUCCESS_WITH_INFO)return FALSE;/設(shè)置ODBC版本號(hào)n Result=SQLSetE nvAttr(he nv, SQL_ATTR_ODBC_VERSION, (vo

24、id*)SQL_OV_ODBC3, 0);if(n Result != SQL_SUCCESS) && (n Result != SQL_SUCCESS_WITH_INFO) return FALSE;/分配連接背景n Result=SQLAllocHa ndle(SQL_HANDLE_DBC, he nv, &hdbc);if(n Result != SQL_SUCCESS) && (n Result != SQL_SUCCESS_WITH_INFO)return FALSE;/連接數(shù)據(jù)庫n Result=SQLCo nn ect(hdbc,(SQLC

25、HAR*)DSN_NAME, SQL_NTS, (SQLCHAR*)USER_NAME, SQL_NTS,(SQLCHAR*)USER_PASSWORD, SQL_NTS);if(n Result != SQL_SUCCESS) && (n Result != SQL_SUCCESS_WITH_INFO)return FALSE;return TRUE;獲取數(shù)據(jù)庫中特定表的某元組是用ODBC API從數(shù)據(jù)庫中取出特定表中的某一個(gè)元組,需要經(jīng)過如下操作:分配句柄-> 執(zhí)行SQL語句-> 獲取語句執(zhí)行后返回的數(shù)據(jù)的屬性的個(gè)數(shù) -> 將每一個(gè)屬性與本地變量綁定 -&

26、gt; 循環(huán)取數(shù)據(jù),每次一個(gè)元組,并做相應(yīng)處理 -> 釋放語句執(zhí)行句柄為實(shí)現(xiàn)該功能,我編寫了ODBC_DISPLAYLIS函數(shù),它會(huì)在每次產(chǎn)生子對(duì)話框時(shí)被調(diào)用,它也會(huì)在每次用戶更新數(shù)據(jù)庫后被調(diào)用(因?yàn)轱@示在程序界面上的數(shù)據(jù)要和數(shù)據(jù)庫中的數(shù)據(jù)同步)。BOOL ODBC_DISPLAYLIST(co nst char *SQLSCENTENCE, HWND &hwn dDlg, i nt Con trolID)/分配句柄n Result=SQLAIIocHa ndle(SQL_HANDLE_STMT, hdbc, &hstmt);if(n Result != SQL_SUCC

27、ESS) && (n Result != SQL_SUCCESS_WITH_INFO)return FALSE;/執(zhí)行SQL語句n Result=SQLExecDirect(hstmt, (un sig ned char*)SQLSCENTENCE, SQL_NTS);if(n Result != SQL_SUCCESS) && (n Result != SQL_SUCCESS_WITH_INFO)return FALSE;/獲取語句執(zhí)行后返回的數(shù)據(jù)的屬性的個(gè)數(shù),保存在nCols變量中SQLNumResultCols(hstmt, &n Cols);/將

28、每一個(gè)屬性與本地變量綁定for(n Cou nt=O; n Cou nt< nCols; n Cou nt+)(longSQLB in dCol(hstmt,(UWORD)( nCou nt+1),SQL_C_CHAR, data nCoun t,MAXDATALEN,*)& dwDataLe nn Cou nt);/循環(huán)取數(shù)據(jù),每次一個(gè)元組,并做相應(yīng)處理(在此是用這些填充列表框)while(SQL_SUCCESS=SQLFetch(hstmt)memset(DATA_TEMP, 0, sizeof(DATA_TEMP);for(n Cou nt=O; n Cou nt<

29、nCols; nCou nt+)if(dwDataLe nn Cou nt!=SQL_NULL_DATA)wsprintf(DATA_ENUM, %30s", datanCount);lstrcat(DATA_TEMP, DATA_ENUM);/向列表框中填充數(shù)據(jù)Sen dDlgltemMessage(hw ndDIg, Co ntrollD, LB_ADDSTRING, 0, (LPARAM)DATA_TEMP);/為列表框添加滾動(dòng)條Sen dDlgItemMessage(hw ndDIg, Con trolID, LB_SETHORIZONTALEXTENT, 1500, 0);

30、/釋放語句執(zhí)行句柄SQLCloseCursor(hstmt);SQLFreeStmt(hstmt, SQL_UNBIND);SQLFreeHa ndle(SQL_HANDLE_STMT, hstmt);return TRUE;從數(shù)據(jù)庫中刪除、向數(shù)據(jù)庫中添加信息數(shù)據(jù)庫信息的添加、刪除分別是執(zhí)行 SQL語句的“INSERTINTO”“DELETEFROM,所以我編寫了 ODBC_EXECSQLDIRT函數(shù)來實(shí)現(xiàn)程序?qū)?SQL語句的執(zhí)行,統(tǒng)一了插入、刪除算法的編寫,都是經(jīng)過:獲取變量值-> 構(gòu)造SQL語句-> 執(zhí)行SQL語句-> 完畢。該函數(shù)將在每次用戶向數(shù)據(jù)庫中“插入”、“刪除”

31、數(shù)據(jù)時(shí)執(zhí)行。BOOL ODBC_EXECSQLDIRT(co nst char *SQLSCENTENCE)n Result=SQLAIIocHa ndle(SQL_HANDLE_STMT, hdbc, &hstmt);if(n Result!=SQL_SUCCESS) && (n Result!=SQL_SUCCESS_WITHNF O)return FALSE;n Result=SQLExecDirect(hstmt, (un sig ned char *)SQLSCENTENCE, SQL_NTS);if(n Result!=SQL_SUCCESS) && (n Result!=SQL_SUCCESS_WITHNFO) && (n

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論