亚洲AV日韩AⅤ综合手机在线观看,激情婷婷久久综合色,欧美色五月婷婷久久,久久国产精品99久久人人澡

  • <abbr id="uk6uq"><abbr id="uk6uq"></abbr></abbr>
  • <tbody id="uk6uq"></tbody>
  • 應(yīng)用vc進(jìn)行數(shù)據(jù)庫編程與分析

    時(shí)間:2024-09-12 22:32:45 MBA畢業(yè)論文 我要投稿
    • 相關(guān)推薦

    應(yīng)用vc進(jìn)行數(shù)據(jù)庫編程與分析

      一、VC作為數(shù)據(jù)庫編程工具必要性

      實(shí)際上從方便的角度講,VisuaIBa血和Delphi這樣的RAD環(huán)境更加適合于數(shù)據(jù)庫開發(fā),應(yīng)用這些軟件可以在使程序設(shè)計(jì)非常地容易。對(duì)大多數(shù)數(shù)據(jù)庫應(yīng)用來說,選擇VC++也許并不適宜。但是需要考慮到,單純的數(shù)據(jù)庫管理必須要和其它的功能結(jié)合才能發(fā)揮更大的作用,而數(shù)據(jù)庫軟件并不輕易地支持這些拓展的功能。由于VC對(duì)底層強(qiáng)大的支持,其高效的率的代碼結(jié)構(gòu),編寫的數(shù)據(jù)庫相關(guān)應(yīng)用程序就會(huì)有規(guī)模小、提供底層訪問并能提供實(shí)時(shí)訪問的特點(diǎn)。比如編寫數(shù)據(jù)庫實(shí)用程序及驅(qū)動(dòng)程序時(shí),在硬盤較小或內(nèi)存有限制時(shí),Visualc++提供了無價(jià)無限的工具。

      二、VC數(shù)據(jù)庫編程方法分析

      (一)ODBC的模式

      Mα'Os'Ofi最初是以開放數(shù)據(jù)庫互連(ODBC)為目標(biāo)的,ODBC是Micr'Os'Oft引進(jìn)的一種早期數(shù)據(jù)庫接口技術(shù),是ADO的前身。

      VisualC++的MFC類庫定義了幾個(gè)數(shù)據(jù)庫類。在利用ODBC編程時(shí),經(jīng)常要使用到CDatabase(數(shù)據(jù)庫類),CRec'OrdSet(記錄集類)和CRe∞'rdView(可視記錄集類)。其中:CDatabase類對(duì)象提供了對(duì)數(shù)據(jù)源的連接,通過它你可以對(duì)數(shù)據(jù)源進(jìn)行操作。CRecordView類對(duì)象能以控制的形式顯示數(shù)據(jù)庫記錄。這個(gè)視圖是直接連到一個(gè)CRec'OrdSet對(duì)象的表視圖。CRec'OrdSet類對(duì)象提供了從數(shù)據(jù)源中提取出的記錄集。

      1數(shù)據(jù)鏈接

      在CRecordSet類中定義了一個(gè)成員變量m_pDatabase:CDatabase*m_pDatabase;

      它是指向?qū)ο髷?shù)據(jù)庫類的指針。如果在CRec'OrdSet類對(duì)象調(diào)用OpenO函數(shù)之前,將一個(gè)已經(jīng)打開的CDatabase類對(duì)象指針傳給m-pDatabase,就能共享相同的CDatabase類對(duì)象。

      2.查詢記錄

      查詢記錄使用CRec'OrdSet::OpenO和CRec'OrdSet::R叫ueryO成員函數(shù)。在使用CRecordSet類對(duì)象之前,必須使用CRec'OrdSet::OpenO函數(shù)來獲得有效的記錄集。一旦已經(jīng)使用過CReoordSet::OpenO函數(shù),再次查詢時(shí)就可以應(yīng)用CRecordSet::RequeryO函數(shù)。在調(diào)用αecordSet::句enO函數(shù)時(shí),如果已經(jīng)將一個(gè)已經(jīng)打開的CDatabase對(duì)象指針傳給CRec'OrdSet類對(duì)象的m_pDatabase成員變量,則使用該數(shù)據(jù)庫對(duì)象建立ODBC連接;否則如果m_pDatabase為壁指針,就新建一個(gè)CDatabase類對(duì)象并使其與缺省的數(shù)據(jù)源相連,然后進(jìn)行αec'OrdSet類對(duì)象的初始化。缺省數(shù)據(jù)源由GetDefaultC'OnnectO函數(shù)獲得。

      如果沒有指定參數(shù),程序則使用缺省的SQL語句,即對(duì)在GetDefaultSQL()函數(shù)中指定的SQL語句進(jìn)行操作。(二)ADO的模式

      ADO既能應(yīng)用到VC的強(qiáng)大功能,而且使用起來又比較方便,本文以ADO方式數(shù)據(jù)庫訪問為例,展示VC下如何進(jìn)行數(shù)據(jù)庫應(yīng)用。下面是使用其編程的方法。

      1.使用預(yù)處理指令#import

      #import"C:飛ProgramFiles\C'Omm'OnFiles飛System'山DO恤sad'015.

      dll"\n'O_namespaceren缸丑叭"EOF","EndOfFile")

      程序在編譯過程中,VC++會(huì)讀出msadol5.dll中的類型庫信息,自動(dòng)產(chǎn)生兩個(gè)該類型庫的頭文件和實(shí)現(xiàn)文件msad'015.tlh和msad'015.tli(在您的Debug或Release目錄下〉。在這兩個(gè)文件里定義了ADO的所有對(duì)象和方法,以及一些枚舉型的常量等。我們的程序只要直接調(diào)用這些方法就行了,與使用MFC中的COleDispatchDriver類調(diào)用Aut'Omati'On對(duì)象十分類似。

      2.使用MFC中的CIDispatchDriver就是通過讀取msad'015.dll中的類型庫信息,建立一個(gè)COleDispatchDriver類的派生類,然后通過它調(diào)用ADO對(duì)象。

      3直接用COM提供的API如使用如下代碼zCLSIDclsid;

      HRESULThr=::CLSIDFromProgID(L"ADODB.C'Onnecti'On",&clsid);

      if(FAlLED(hr?{...J

      :CoCr四teIn民ance(clsid,NULL,CLSCTX_SERVER

      IID_IDispatch,(v'Oid叫&pDispatch);

      if(FAlLED(hr

      {...J

      以上三種方法,第一和第二種類似,可能第一種好用一些,第三種編程可能最麻煩。但可能第三種方法也是效率最高的,程序的尺寸也最小,并且對(duì)ADO的控制能力也最強(qiáng)。當(dāng)需要繞過ADO而直接調(diào)用OLEDB底層的方法時(shí),就一定要使用第三種方法。ADO編程的關(guān)鍵,就是熟練地運(yùn)用ADO提供的各種對(duì)象('0ect)、方法(method)、屬性(prop町ty)和容器(00llecti'On)。

    【應(yīng)用vc進(jìn)行數(shù)據(jù)庫編程與分析】相關(guān)文章:

    VC++編程在步進(jìn)電機(jī)控制中的應(yīng)用08-08

    基于Mschart的數(shù)據(jù)庫圖表應(yīng)用編程09-19

    非Access數(shù)據(jù)庫在VB中的編程及應(yīng)用06-27

    JDBC數(shù)據(jù)庫編程的研究10-18

    VB與MATLAB混合編程在流量標(biāo)定系統(tǒng)數(shù)據(jù)庫中的應(yīng)用07-23

    淺談關(guān)于計(jì)算機(jī)移動(dòng)數(shù)據(jù)庫的應(yīng)用分析07-07

    提高Oracle數(shù)據(jù)庫應(yīng)用系統(tǒng)安全的舉例與分析?07-19

    標(biāo)準(zhǔn)化編程的IEC1131-3在DCS中應(yīng)用分析06-19

    WEB索引數(shù)據(jù)庫的設(shè)計(jì)和實(shí)現(xiàn)SQL+VC++06-19

    對(duì)信息技術(shù)在旅游業(yè)中應(yīng)用的現(xiàn)狀進(jìn)行分析08-09