當前位置:首頁 » 密碼管理 » ado訪問資料庫優點

ado訪問資料庫優點

發布時間: 2022-04-23 10:46:10

⑴ 詳細比較在ASP中通過ADO介面實現對資料庫訪問的三種不同格式的特點

在ASP腳本中可以通過三種方式訪問資料庫:

● IDC(Internet Database Connector)方式

● ADO(ActiveX Data Objects)方式

● RDS(Remote Data Service)方式

從概念上來講,這三種訪問方式對資料庫的訪問是由Internet Information Server來完成的。Web瀏覽器用HTTP協議向Internet信息伺服器(IIS)遞交請求。Internet信息伺服器執行訪問資料庫的操作,並以一個HTML格式的文檔作為回答。

1.Internet資料庫介面(IDC)

IDC是一個傳統的資料庫查詢工具,用來定義和執行資料庫查詢的SQL命令,並向瀏覽器返回一個指定數據格式的頁面。使用IDC訪問資料庫最大的特點是簡單,幾乎不需要編程就能實現對資料庫的訪問。

2.ActiveX數據對象(ADO)

與IDC不同,用ADO訪問資料庫更類似於編寫資料庫應用程序,ADO把絕大部分的資料庫操作封裝在七個對象中,在ASP頁面中編程調用這些對象執行相應的資料庫操作。ADO是ASP技術的核心之一,它集中體現了ASP技術豐富而靈活的資料庫訪問功能。ADO建立了基於Web方式訪問資料庫的腳本編寫模型,它不僅支持任何大型資料庫的核心功能,而且支持許多資料庫所專有的特性。ADO使用本機數據源,通過ODBC訪問資料庫。這些資料庫可以是關系型資料庫、文本型資料庫、層次型資料庫或者任何支持ODBC的資料庫。ADO的主要優點是易用、高速、佔用內存和磁碟空間少,所以非常適合於作為伺服器端的資料庫訪問技術。相對於訪問資料庫的CGI程序而言,它是多線程的,在出現大量並發請求時,也同樣可以保持伺服器的運行效率,並且通過連接池(Connection Pool)技術以及對資料庫連接資源的完全控制,提供與遠程資料庫的高效連接與訪問,同時它還支持事務處理(Transaction),以開發高效率、高可靠性的資料庫應用程序。

正是因為使用ADO需要編寫腳本程序,所以ADO能夠實現更復雜、更靈活的資料庫訪問邏輯。目前,ADO包括Command、Connection、Recordset等七個對象和一個動態的Properties集合,絕大部分的資料庫訪問任務都可以通過它們的組合來完成。

1.3 ODBC與ADO對象

1.3.1 ASP訪問資料庫的幾種方式

3.遠程數據服務(RDS)

RDS是IIS 1.0中新提出的概念,它是由ASP中原來的Advanced Data Connector(ADC)發展而來的。在IIS 1.0中,RDS與ADO集成到一起,使用同樣的編程模型,提供訪問遠程資料庫的功能。

ADO雖然能夠提供非常強大的資料庫訪問功能,但是它不支持數據遠程操作(DataRemoting)。換句話說,ADO只能執行查詢並返回資料庫查詢的結果,這種結果是靜態的,伺服器上的資料庫與客戶端看到的數據沒有「活的連接關系」。假如,客戶端需要修改資料庫中的數據,就必須構造修改數據的SQL語句,執行相應的查詢動作。而RDS就比ADO更進一步,它支持數據遠程操作。它不僅能執行查詢並返回資料庫查詢結果,而且這種結果是「動態的」, 伺服器上的資料庫與客戶端看到的數據保持「活的連接關系」。即把伺服器端的數據搬到客戶端,在客戶端修改數據後,調用一個資料庫更新命令,就可以將客戶端對數據的修改寫回資料庫,就象使用本地資料庫一樣。

由於RDS與ADO集成,RDS的底層是調用ADO來完成的,所以也可以將RDS理解為ADO的RDS,即ActiveX數據對象的遠程數據服務。RDS在ADO的基礎上通過綁定的數據顯示和操作控制項,提供給客戶端更強的數據表現力和遠程數據操縱功能。可以說RDS是目前基於Web的最好的遠程資料庫訪問方式。

以上就是ASP訪問資料庫的三種方式,它們三者各有各的特色。IDC十分簡單,使用.idc文件和.htx文件分別完成資料庫的訪問與輸出任務,但是使用起來不靈活。ADO是ASP中推薦使用的方式,它功能強大,使用方便,是ASP的核心技術之一,但是它在提供用戶遠程操作資料庫的功能時,比較復雜,實現起來有一定的難度。而RDS是基於ADO的,並提供遠程操作資料庫的強大工具。所以在需要提供高性能、高可靠性的遠程數據操作功能時,RDS是更為理想的選擇。

⑵ ado.net通過中間環節訪問資料庫有什麼好處

中間環節指的是什麼,題主說的不明確。
程序要考慮效率,多方面兼顧,不能只考慮好處。祝好運,望採納。

⑶ ado,,odbc各自的優缺點是什麼現在哪個比較普遍,比較有前景

ADO
來自ITwiki,開放的中文IT網路
Jump to: navigation, <jumptoSearch>
微軟公司的ADO (ActiveX Data Objects) 是一個用於存取數據源的COM組件。它提供了編程語言和統一數據訪問方式OLE DB的一個中間層。允許開發人員編寫訪問數據的代碼而不用關心資料庫是如何實現的,而只用關心到資料庫的連接。訪問資料庫的時候,關於SQL的知識不是必要的,但是特定資料庫支持的SQL命令仍可以通過ADO中的命令對象來執行。

ADO被設計來繼承微軟早期的數據訪問對象層,包括RDO (Remote Data Objects) 和DAO(Data Access Objects)。ADO在1996年冬被發布。

ADO包含一些頂層的對象:

連接,代表到資料庫的連接
記錄集,代表資料庫記錄的一個集合
命令,代表一個SQL命令
記錄,代表數據的一個集合
流,代表數據的順序集合
錯誤,代表資料庫訪問中產生的意外
欄位,代表一個資料庫欄位
參數,代表一個SQL參數
屬性,保存對象的信息
ADO組件的使用需要利用支持COM的高級語言,例如ASP中的VBScript或者Visual Basic,甚至Delphi,微軟的競爭對手Borland的一個產品,現在也支持使用ADO來訪問資料庫。

在新的編程框架.NET Framework中, 微軟也提供了一個面向Internet的版本的ADO,稱為ADO.NET。其對象模型和傳統ADO差別很大。

DAO

DAO(Database Access Object)使用Microsoft Jet資料庫引擎來訪問資料庫。Microsoft Jet為象Access和Visual Basic這樣的產品提供了數據引擎。

與ODBC一樣,DAO提供了一組API供編程使用。MFC也提供了一組DAO類,封裝了底層的API,從而大大簡化了程序的開發。利用MFC的DAO類,用戶可以編寫獨立於DBMS的應用程序。

DAO是從Visual C++4.0版開始引入的。一般地講,DAO類提供了比ODBC類更廣泛的支持。一方面,只要有ODBC驅動程序,使用Microsoft Jet的DAO就可以訪問ODBC數據源。另一方面,由於DAO是基於Microsoft Jet引擎的,因而在訪問Access資料庫(即*.MDB文件)時具有很好的性能。

DAO和ODBC的相似之處

DAO類與ODBC類相比具有很多相似之處,這主要有下面幾點:

二者都支持對各種ODBC數據源的訪問。雖然二者使用的數據引擎不同,但都可以滿足用戶編寫獨立於DBMS的應用程序的要求。

DAO提供了與ODBC功能相似的MFC類。例如,DAO的CDaoDatabase類對應ODBC的CDatabase類,CDaoRecordset對應CRecordset,CDaoRecordView對應CRecordView,CDaoException對應CDBException。這些對應的類功能相似,它們的大部分成員函數都是相同的。

AppWizard和ClassWizard對使用DAO和ODBC對象的應用程序提供了類似的支持。

由於DAO和ODBC類的許多方面都比較相似,因此只要用戶掌握了ODBC,就很容易學會使用DAO。實際上,用戶可以很輕松地把資料庫應用程序從ODBC移植到DAO。

Visual C++隨盤提供了一個名為DaoEnrol的例子,該例實際上是Enroll的一個DAO版本。讀者可以打開DaoEnrol工程看一看,它的源代碼與Enroll的極為相似。讀者可以按照建立Enroll的步驟來建立DaoEnrol,其中只有若干個地方有差別,這主要有以下幾點:

選取的數據源不同。在用AppWizard創建DaoEnrol時,以及在用ClassWizard創建CDaoRecordset類的派生類時,在Database Options對話框中應該選擇DAO而不是ODBC。而且DAO的數據源是通過選擇一個.MDB文件來指定的,即點擊「...」按鈕後在文件對話框中選擇要訪問的.MDB文件。

記錄集的預設類型不同。ODBC記錄集的預設類型是快照(Snapshot),而DAO則是動態集(Dynaset)。

參數化的方式不同。DAO記錄集的m_strFilter和m_strSort中的參數不是「?」號,而是一個有意義的參數名。例如,在下面的過濾器中有一個名為CourseIDParam的參數。
m_pSet->m_strFilter ="CourseID = CourseIDParam";
在DoFieldExchange函數中,有下面兩行:
pFX->SetFieldType(CDaoFieldExchange::param);
DFX_Text(pFX, _T("CourseIDParam"), m_strCourseIDParam);
DFX函數的第二個參數也是CourseIDParam。

處理異常的方式不同。例如,在刪除記錄時,對異常的處理如下所示:

try

{

m_pSet->Delete();

}

catch(CDaoException* e)

{

AfxMessageBox(e->

m_pErrorInfo->m_strDescription);

e->Delete();

}

除了上述差別外,AppWizard和ClassWizard也隱藏了一些細微的不同之處,例如,DAO記錄集是使用是DFX數據交換機制(DAO record field exchange)而不是RFX,在DAO記錄集的DoFieldExchange中使用的是DFX函數而不是RFX函數。

10.8.3 DAO的特色

DAO可以通過ODBC驅動程序訪問ODBC數據源。但DAO是基於Microsoft Jet引擎的,通過該引擎,DAO可以直接訪問Access、FoxPro、dBASE、Paradox、Excel和Lotus WK等資料庫。CDaoDatabase類可以直接與這些資料庫進行連接,而不必在ODBC管理器中注冊DSN。例如,下面的代碼用來打開一個FoxPro資料庫:

CDaoDatabase Db;

Db.Open( 「」,FALSE,FALSE,"FoxPro 2.5;DATABASE=c:\\zyf");

CDaoDatabase::Open函數用來連接某個資料庫,該函數的聲明為:

virtual void Open( LPCTSTR lpszName, BOOL bExclusive = FALSE, BOOL bReadOnly = FALSE, LPCTSTR lpszConnect = _T("") );
throw( CDaoException, CMemoryException );

⑷ 用ADO.NET連接SQL Server 2000的優勢

Microsoft ActiveX Data Objects (ADO) 使得客戶端應用程序能夠通過任何 OLE.DB 提供者來訪問和操作資料庫伺服器中的數據。
ADO 使您能夠編寫應用程序以通過 OLE.DB 提供者訪問和操作資料庫伺服器中的數據。ADO 最主要的優點是易於使用、速度快、內存支出少和磁碟遺跡小。ADO 支持建立客戶端/伺服器和基於 Web 的應用程序的關鍵功能。
ADO 的另一個功能是「遠程數據訪問」(RDS),能夠通過一個來回的傳輸將數據從伺服器移動到客戶端應用程序或 Web 頁中,然後在客戶端對數據進行操作,最後將更新數據返回伺服器。RDS 先前發布的版本是 Microsoft Remote Data Service 1.5。RDS 已與 ADO 編程模塊合並以簡化客戶端數據的遠程調用。

⑸ ADO是什麼它的作用是什麼

ADO是一種程序對象,用於表示用戶資料庫中的數據結構和所包含的數據。

在Microsoft Visual Basic編輯器中,可以使用ADO對象以及ADO的附加組件(稱為Microsoft ADO Extensions for DLL and Security(ADOX))來創建或修改表和查詢、檢驗資料庫、或者訪問外部數據源。還可在代碼中使用ADO來操作資料庫中的數據。

(5)ado訪問資料庫優點擴展閱讀

像Microsoft的其它系統介面一樣,ADO是面向對象的。它是Microsoft全局數據訪問(UDA)的一部分,Microsoft認為與其自己創建一個數據,不如利用UDA訪問已有的資料庫。

為達到這一目的,Microsoft和其它資料庫公司在它們的資料庫和Microsoft的OLE資料庫之間提供了一個「橋」程序,OLE資料庫已經在使用ADO技術。

ADO技術優勢

1、ADO的優勢就是擁有更好的LINQ提供程序、文檔,並且是由微軟所支持的。

2、ADO具有大量Entity Framework 4.0所不具備的特性,像批量讀/寫、「額外的」延遲、集合過濾器、調整等等。

3、ADO工具的普遍開發速度快。

參考資料:網路—ActiveX Data Objects

⑹ ADO.NET的最大優點是哪兩點();

我個人認為是1,2。

它裡面有個DataAdapter,可以斷開連接訪問資料庫。

節省資源我以為是有自己的回收機制。

訪問速度快,那要根據資料庫的連接。

數據以XML傳輸,決定不可能。

⑺ C++中ADO訪問資料庫方法

一、ADO概述
ADO是Microsoft為最新和最強大的數據訪問範例 OLE DB 而設計的,是一個便於使用的應用程序層介面。ADO 使您能夠編寫應用程序以通過 OLE. DB 提供者訪問和操作資料庫伺服器中的數據。ADO 最主要的優點是易於使用、速度快、內存支出少和磁碟遺跡小。ADO 在關鍵的應用方案中使用最少的網路流量,並且在前端和數據源之間使用最少的層數,所有這些都是為了提供輕量、高性能的介面。之所以稱為 ADO,是用了一個比較熟悉的暗喻,OLE 自動化介面。

OLE DB是一組」組件對象模型」(COM) 介面,是新的資料庫低層介面,它封裝了ODBC的功能,並以統一的方式訪問存儲在不同信息源中的數據。OLE DB是Microsoft UDA(Universal Data Access)策略的技術基礎。OLE DB 為任何數據源提供了高性能的訪問,這些數據源包括關系和非關系資料庫、電子郵件和文件系統、文本和圖形、自定義業務對象等等。也就是說,OLE DB 並不局限於 ISAM、Jet 甚至關系數據源,它能夠處理任何類型的數據,而不考慮它們的格式和存儲方法。在實際應用中,這種多樣性意味著可以訪問駐留在 Excel 電子數據表、文本文件、電子郵件/目錄服務甚至郵件伺服器,諸如 Microsoft Exchange 中的數據。但是,OLE DB 應用程序編程介面的目的是為各種應用程序提供最佳的功能,它並不符合簡單化的要求。您需要的API 應該是一座連接應用程序和OLE DB 的橋梁,這就是 ActiveX Data Objects (ADO)。

二、在VC中使用ADO(開發步驟如下:)

1、引入ADO庫文件

使用ADO前必須在工程的stdafx.h頭文件里用直接引入符號#import引入ADO庫文件,以使編譯器能正確編譯。代碼如下所示:

用#import引入ADO庫文件

#import "c:\program files\common files\system\ado\msado15.dll"no_namespaces rename("EOF" adoEOF")

這行語句聲明在工程中使用ADO,但不使用ADO的名字空間,並且為了避免常數沖突,將常數EOF改名為adoEOF。現在不需添加另外的頭文件,就可以使用ADO介面了。

2、初始化OLE/COM庫環境
必須注意的是,ADO庫是一組COM動態庫,這意味應用程序在調用ADO前,必須初始化OLE/COM庫環境。在MFC應用程序里,一個比較好的方法是在應用程序主類的InitInstance成員函數里初始化OLE/COM庫環境。

BOOL CMyAdoTestApp::InitInstance()
{
if(!AfxOleInit())//這就是初始化COM庫
{
AfxMessageBox(「OLE初始化出錯!」);
return FALSE;
}

……

}

3、ADO介面簡介

ADO庫包含三個基本介面:_ConnectionPtr介面、_CommandPtr介面和_RecordsetPtr介面。
_ConnectionPtr介面返回一個記錄集或一個空指針。通常使用它來創建一個數據連接或執行一條不返回任何結果的SQL語句,如一個存儲過程。使用_ConnectionPtr介面返回一個記錄集不是一個好的使用方法。對於要返回記錄的操作通常用_RecordserPtr來實現。而用_ConnectionPtr操作時要想得到記錄條數得遍歷所有記錄,而用_RecordserPtr時不需要。

_CommandPtr介面返回一個記錄集。它提供了一種簡單的方法來執行返回記錄集的存儲過程和SQL語句。在使用_CommandPtr介面時,你可以利用全局_ConnectionPtr介面,也可以在_CommandPtr介面里直接使用連接串。如果你只執行一次或幾次數據訪問操作,後者是比較好的選擇。但如果你要頻繁訪問資料庫,並要返回很多記錄集,那麼,你應該使用全局_ConnectionPtr介面創建一個數據連接,然後使用_CommandPtr介面執行存儲過程和SQL語句。

_RecordsetPtr是一個記錄集對象。與以上兩種對象相比,它對記錄集提供了更多的控制功能,如記錄鎖定,游標控制等。同_CommandPtr介面一樣,它不一定要使用一個已經創建的數據連接,可以用一個連接串代替連接指針賦給_RecordsetPtr的connection成員變數,讓它自己創建數據連接。如果你要使用多個記錄集,最好的方法是同Command對象一樣使用已經創建了數據連接的全局_ConnectionPtr介面
,然後使用_RecordsetPtr執行存儲過程和SQL語句。

4、使用_ConnectionPtr介面
_ConnectionPtr主要是一個連接介面,取得與資料庫的連接。它的連接字元串可以是自己直接寫,也可以指向一個ODBC DSN。

_ConnectionPtr pConn;
if (FAILED(pConn.CreateInstance("ADODB.Connection")))
{
AfxMessageBox("Create Instance failed!");
return;
}

CString strSRC;
strSRC="Driver=SQL Server;Server=";
strSRC+="suppersoft";
strSRC+=";Database=";
strSRC+="mydb";
strSRC+=";UID=SA;PWD=";

CString strSQL = "Insert into student(no,name,sex,address) values(3,'aaa','male','beijing')";

_variant_t varSRC(strSRC);
_variant_t varSQL(strSQL);
_bstr_t bstrSRC(strSRC);

if (FAILED(pConn->Open(bstrSRC,"","",-1)))
{
AfxMessageBox("Can not open Database!");
pConn.Release();
return;
}

COleVariant vtOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR);

pConn->Execute(_bstr_t(strSQL),&vtOptional,-1);

pConn.Release();

AfxMessageBox("ok!");

5、使用_RecordsetPtr介面(以連接SQL Server為例)

_RecordsetPtr pPtr;
if (FAILED(pPtr.CreateInstance("ADODB.Recordset")))
{
AfxMessageBox("Create Instance failed!");
return FALSE;
}

CString strSRC;
strSRC="Driver=SQL Server;Server=";
strSRC+="210.46.141.145";
strSRC+=";Database=";
strSRC+="mydb";
strSRC+=";UID=sa;PWD=";
strSRC+="sa";

CString strSQL = "select id,name,gender,address from personal";

_variant_t varSRC(strSRC);
_variant_t varSQL(strSQL);

if(FAILED(pPtr->Open(varSQL,varSRC,adOpenStatic,adLockOptimistic,adCmdText)))
{
AfxMessageBox("Open table failed!");
pPtr.Release();
return FALSE;
}

while(!pPtr->GetadoEOF())
{
_variant_t varNo;
_variant_t varName;
_variant_t varSex;
_variant_t varAddress;

varNo = pPtr->GetCollect ("id");
varName = pPtr->GetCollect ("name");
varSex = pPtr->GetCollect ("gender");
varAddress = pPtr->GetCollect ("address");

CString strNo =(char *)_bstr_t(varNo);
CString strName =(char *)_bstr_t(varName);
CString strSex =(char *)_bstr_t(varSex);
CString strAddress =(char *)_bstr_t(varAddress);

strNo.TrimRight();
strName.TrimRight();
strSex.TrimRight();
strAddress.TrimRight();

int nCount = m_list.GetItemCount();
int nItem = m_list.InsertItem (nCount,_T(""));
m_list.SetItemText (nItem,0,strNo);
m_list.SetItemText (nItem,1,strName);
m_list.SetItemText (nItem,2,strSex);
m_list.SetItemText (nItem,3,strAddress);

pPtr->MoveNext();
}

pPtr->Close();
pPtr.Release();

6、使用_CommandPtr介面
_CommandPtr介面返回一個Recordset對象,並且提供了更多的記錄集控制功能,以下代碼示例了使用_CommandPtr介面的方法:

代碼:使用_CommandPtr介面獲取數據

_CommandPtr pCommand;
_RecordsetPtr pRs;
pCommand.CreateInstance(__uuidof(Command));
pCommand->ActiveConnection=pConn;
pCommand->CommandText="select * from student";
pCommand->CommandType=adCmdText;
pCommand->Parameters->Refresh();
pRs=pCommand->Execute(NULL,NULL,adCmdUnknown);
_variant_t varValue = pRs->GetCollect("name");
Cstring strValue=(char*)_bstr_t(varValue);

7、關於數據類型轉換由於COM對象是跨平台的,它使用了一種通用的方法來處理各種類型的數據,因此Cstring 類和COM對象是不兼容的,我們需要一組API來轉換COM對象和C++類型的數據。_vatiant_t和_bstr_t就是這樣兩種對象。它們提供了通用的方法轉換COM對象和C++類型的數據。

詳情請見 http://hi..com/lninglove/blog/item/3f6cec22959e4ca34723e833.html

⑻ 將ado.net對資料庫的操作方法封裝成資料庫訪問類有什麼好處,在線等

代碼簡潔、結構清晰、易於調試、便於維護

⑼ VB中ado控制項和代碼連接資料庫各有什麼優點

我能看懂他的問題,但是我用的是DELPHI,

具體VB是什麼情況,我不清楚,

ADO控制項連接是封裝後的,
用代碼連接是原生.

所有的ADO都是從原生衍變出來的,

ADO組件的
優點是方便,可以快速的做出需要的程序.
缺點是封裝了大部分的功能,不管用上用不上,一概封裝,無形中增加程序體積.

代碼(原生)
優點是僅僅添加自己需要的功能,不需要的,完全不添加.
缺點是過於繁瑣,往往很簡單的一個小功能,需要N*N行代碼才可以

建議:
如果興趣愛好,並且對程序的大小有嚴格限制,用原生,
如果做商業,用ADO,你不能保證以後你需要的功能都在你的代碼中,但是用組件,一個就可以包含幾乎所有的常用功能.

⑽ 資料庫編程用ADO好,還是ODBC好

這要看具體情況,如果對資料庫的底層訪問很看重,則用ODBC,如果只是需要一個資料庫的介面,而具體細節不是很重要的話,則用ADO。大多數情況下,使用ADO。
ODBC:
直接使用ODBC API編寫應用程序需要編制大量代碼,Visual C++提供了MFC ODBC類,其中封裝了ODBC API,因此,使用MFC來創建ODBC的應用程序非常簡便。主要的MFC ODBC類如下所示。
CDatabase類:一個CDatabase對象表示一個到數據源的連接,通過它可以操作數據源。應用程序可使用多個CDatabase對象,構造一個對象並調用OpenEx()成員函數打開一個連接。接著構造CRecordSet對象以操作連接的數據源,並向 CDatabase對象傳遞記錄集構造程序指針。完成後用Close()成員函數銷毀CDatabase對象。一般情況下並不需要直接使用CDatabase對象,因為CRecordSet對象可以實現大多數的功能。但是在進行事務處理時,CDatabase就起到關鍵作用。事務(Transaction)指的是將一系列對數據源的更新放在一起,同時提交或一個也不提交,為的是確保多用戶對數據源同時操作時的數據正確性。
CRecordSet類:一個CRecordSet對象代表一個從數據源選擇的一組記錄的集合——記錄集。記錄集有兩種形式,snapshot和dynaset,前者表示數據的靜態試圖,後者表示記錄集和其他用戶對資料庫的更新保持同步。通過CRecordSet對象,用戶可以對資料庫中的記錄進行各種操作。
CRecordView類:CRecordView對象是在空間中顯示資料庫記錄的視圖。這種視圖是一種直接連到CRecordSet對象的格式視圖,它從一個對話框模板資源創建,並將CRecordSet對象的欄位顯示在對話框模板的控制項中。對象利用DDX和RFX機制,使格式上的控制項和記錄集的欄位之間數據移動自動化,也就是說,用戶不用編寫一行代碼就可以實現簡單的資料庫記錄查看操作。
CDBException:由Cexception類派生,以3個繼承的成員變數反映對資料庫操作時的異常。
m_nRetCode:以ODBC返回代碼(SQL_RETURN)的形式表明造成異常的原因。
m_strError:字元串,描述造成拋出異常的錯誤原因。
m_strStateNativeOrigin:字元串,用以描述以ODBC錯誤代碼表示的異常錯誤。
MFC資料庫類成員函數都能拋出CDBException類型異常,所以在代碼對資料庫進行操作後監測異常是正確的做法。
ADO:
ADO技術是基於OLE DB的訪問介面,它繼承了OLE DB技術的優點,並且,ADO對OLE DB的介面作了封裝,定義了ADO對象,使程序開發得到簡化。ADO技術屬於資料庫訪問的高層介面。ADO基於COM,提供編程語言可利用的對象,除了面向VC++,還提供面向其他各種開發工具的應用,如VB、VJ等。ADO在伺服器應用方面非常有效,特別是對於動態伺服器頁面(ASP,Active Server Page)的支持。
ADO對象結構類似於OLE DB,但並不依靠對象層次。大多數情況下,用戶只需要創建並使用需要處理的對象。ADO 最主要的優點是易於使用、速度快、內存支出少和磁碟遺跡小。ADO 在關鍵的應用方案中使用最少的網路流量,並且在前端和數據源之間使用最少的層數,所有這些都是為了提供輕量、高性能的介面。下面的對象類組成了ADO介面。
Connection:用於表示與資料庫的連接,以及處理一些命令和事務。
Command:用於處理傳送給數據源的命令。
Recordset:用於處理數據的表格集,包括獲取和修改數據。
Field:用於表示記錄集中的列信息,包括列值和其他信息。
Parameter:在傳送給數據源的命令之間傳遞數據。
Property:用於操作在ADO中使用的其他對象的詳細屬性。
Error:用於獲得可能發生的詳細錯誤信息。

熱點內容
微信忘記密碼從哪裡看 發布:2024-05-19 16:06:37 瀏覽:32
寶馬x4貸款買哪個配置好 發布:2024-05-19 15:56:03 瀏覽:22
微控pid演算法 發布:2024-05-19 15:46:31 瀏覽:135
雲盤視頻解壓密碼 發布:2024-05-19 15:23:17 瀏覽:848
和平精英怎麼改地區位置安卓 發布:2024-05-19 15:19:05 瀏覽:286
酒店的路由器如何配置 發布:2024-05-19 15:10:44 瀏覽:500
rpgmaker腳本 發布:2024-05-19 14:48:58 瀏覽:407
hds存儲虛擬化 發布:2024-05-19 14:47:09 瀏覽:21
mysql資料庫分片 發布:2024-05-19 14:42:30 瀏覽:342
2021款魏派vv6買哪個配置 發布:2024-05-19 14:31:11 瀏覽:633