VC 提供的資料庫訪問技術

2021-04-17 23:38:57 字數 3337 閱讀 4097

odbc api

、mfc odbc

、dao

、ole db

、ado

訪問速度:傳統的

odbc

速度較慢。

ole db

和ado

都是基於

com技術,使用該技術可以直接訪問資料庫的驅動程式,速度大大提高。

可擴充套件性:通過

ole db

和activex

技術,可以利用

vc提供的各種元件,控制項和第三方提供的組建。從而實現應用程式元件化。

訪問不同資料來源:傳統

odbc

只能訪問關聯式資料庫。

vc中提供

old db

技術可以解決該問題。

提供乙個通用介面,為

oracle

和sqlserver

都提供了驅動程式。使用者可以

sql語句對資料庫進行直接的底層功能操作。使用時應包含以下標頭檔案。

」sql.h」,」sqlext.h」,」sqltypes.h」.

使用步驟如下:

第一步:分配

odbc

環境,初始化一些內部結構。完成該步,需要分配乙個

sqlhenv

型別的變數在

odbc

環境中做控制代碼使用。

第二步:為將要使用的每乙個資料來源分配乙個連線控制代碼,有函式

sqlallochandle

()完成。

第三步:使用

sqlconnect

()把連線控制代碼與資料庫連線,可以先通過

sqlsetconnectattr

()設定連線屬性。

第四步:進行

sql語句操作。操作完就可以斷開與資料庫的連線。

第五步:釋放

odbc

環境。

特點:功能強大,提供非同步操作,事務處理等高階功能。目前所有關聯式資料庫都提供了

odbc

的驅動程式,使用很廣泛。

缺點:很難訪問物件資料庫和非關聯式資料庫。

為簡化使用

odbc api,vc

提供了mfc odbc

類,封裝了

odbc api。

主要mfc odbc

類如下:

cdatabase

類:乙個

cdatabase

物件表示乙個到資料來源的連線,通過它可以運算元據源。一般不需要直接使用

cdatabase

物件,因為

cdecordset

物件可以實現大多數功能,但在進行事務處理時,

cdatabase

就起到關鍵作用。

crecordset

類:乙個

crecordset

物件代表乙個從資料來源選擇的一組記錄的集合

-----

記錄集。記錄集有兩種形式:

snapshot

和dynaset

。前者表示是靜態檢視。後者表示記錄集與其它使用者對資料庫的更新保持同步。

crecordview

類:是在空間中顯示資料庫記錄的檢視。這種檢視是直接連到乙個

crecordset

物件的格式檢視。他從乙個對話方塊模版資源建立。並將

crecordset

物件的字段顯示在對話方塊模版的控制項裡。物件利用

ddx和

rfx機制。使格式上的控制項和記錄集的字段之間資料移動自動化。

cdbexception

類:由cexception

類派生,以

3個繼承的變數反映對資料庫操作時的異常。

m_nretcode:odbc

返回碼。

m_strerror:

字串,描述造成丟擲異常的錯誤原因。

m_strstatenativeorigin:

字串,描述以

odbc

錯誤碼表示的異常錯誤。

mfc dao

是微軟提供的用於訪問

microsoft jet

資料庫檔案(*。

mdb)的工具。當只需訪問

access

資料庫時用該技術很方便。

與odbc

技術類似,

ole db

屬於資料庫訪問技術中的底層介面。

直接使用

oledb

需要大量**,

vc中提供了

atl模版,

oledb

框架定義了應用的

3個基本類。

資料提供程式

data provider

:擁有自己的資料並以**形式顯示資料的應用程式。

使用者consumers

:試用oledb

介面對儲存在資料提供程式中對資料進行控制的應用程式。

服務提供程式

serviceprovider

:是資料提供程式和使用者的組合。

使用ole db

程式設計時,使用者使用元件物件開發程式,這些元件包括:

列舉器:用於列出可用的資料來源;

資料來源:代表單獨的資料和服務提供程式,用於建立對話;

對話:用於建立事務和命令;

事務:用於將多個操作歸併為單一事務處理;

命令:用於向資料來源傳送文字命令(

sql),返回行集;

錯誤:用於獲得錯誤資訊。

ado技術是基於

ole db

的訪問介面。繼承了

oledb

的優點,並對

oledb

的介面作了封裝,定義了

ado物件,使開發簡化。

ado屬於資料庫訪問的高層介面。

ado在伺服器應用方面非常有效,特別是動態伺服器頁面(

asp)的支援。

ado物件結構類似於

oledb

,但並不依靠物件層次。大多數情況使用者只需建立並使用需要的物件。下面的物件類組成了

ado介面。

connection

: 用於表示與資料庫的連線,以及處理一些事務和命令。

command

: 用於處理傳送給資料來源的命令。

recordset

: 用於處理資料的**集,

包括獲取和修改資料。

field

: 用於表示記錄集中的列資訊,包括列值和其他資訊。

parameter

: 在傳送給資料來源的命令之間傳遞資料。

property

: 用於操作在

ado中使用的其它物件的詳細屬性。

errro

: 用於獲取可能發生的詳細錯誤資訊。

VC資料庫訪問技術之ODBC

部落格轉移 說明 mfc 資料庫訪問方式有 odbc,dao,ado odbc資料庫程式設計 1.建立資料來源.2.連線到資料來源 1 在visual c 程式中使用剛才建立的資料來源之前,還必須簡歷乙個到資料來源的連線.在mfc中到資料來源的連線封裝在cdatabase類中,要使用cdatabas...

VC遠端訪問資料庫

下面就是資料庫操作 connectionptr pconn recordsetptr prs cstring strsql pconn.createinstance uuidof connection pconn cursorlocation aduseclient strsql provider ...

vc訪問ACCESS資料庫

在現代軟體開發中,資料庫技術被越來越廣泛應用,很多專案都存在著大量的資料需要儲存,通常都會採用資料庫來儲存這些資料。最初,資料庫廠商推出乙個新的資料庫產品時,相應的,他會為程式設計師提供一套訪問該資料庫的介面,即api。不同的資料庫廠商提供的訪問介面是不一樣的,這樣在使用乙個新的資料庫時,就要學習一...