一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看

應用vc進(jìn)行數據庫編程與分析

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

應用vc進(jìn)行數據庫編程與分析

  一、VC作為數據庫編程工具必要性

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

  二、VC數據庫編程方法分析

  (一)ODBC的模式

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

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

  1數據鏈接

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

  它是指向對象數據庫類(lèi)的指針。如果在CRec'OrdSet類(lèi)對象調用OpenO函數之前,將一個(gè)已經(jīng)打開(kāi)的CDatabase類(lèi)對象指針傳給m-pDatabase,就能共享相同的CDatabase類(lèi)對象。

  2.查詢(xún)記錄

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

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

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

  1.使用預處理指令#import

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

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

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

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

  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

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

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

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

基于Mschart的數據庫圖表應用編程09-19

非Access數據庫在VB中的編程及應用06-27

JDBC數據庫編程的研究10-18

VB與MATLAB混合編程在流量標定系統數據庫中的應用07-23

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

提高Oracle數據庫應用系統安全的舉例與分析?07-19

標準化編程的IEC1131-3在DCS中應用分析06-19

WEB索引數據庫的設計和實(shí)現SQL+VC++06-19

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

一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看