共用方式為


CDataConnection 類別

管理與數據源的連線。

語法

class CDataConnection

需求

標頭檔:atldbcli.h

成員

方法

名稱 描述
CDataConnection::CDataConnection 建構函式。 具現化和初始化 CDataConnection 物件。
CDataConnection::Copy 建立現有數據連線的複本。
CDataConnection::Open 使用初始化字串開啟數據源的連接。
CDataConnection::OpenNewSession 開啟目前連線上的新會話。

操作員

名稱 描述
CDataConnection::operator BOOL 判斷目前的工作階段是否開啟。
CDataConnection::operator bool 判斷目前的工作階段是否開啟。
CDataConnection::operator CDataSource& 傳回自主 CDataSource 對象的參考。
CDataConnection::operator CDataSource* 將指標傳回至包含的 CDataSource 物件。
CDataConnection::operator CSession& 傳回自主 CSession 對象的參考。
CDataConnection::operator CSession* 將指標傳回至包含的 CSession 物件。

備註

CDataConnection 是用來建立客戶端的實用類別,因為它會封裝必要的對象(數據源和會話),以及連線至數據源時需要執行的一些工作

如果沒有 CDataConnection,您必須建立 CDataSource 對象、呼叫其 OpenFromInitializationString 方法、建立 對象的實例 CSession 、呼叫其 Open 方法,然後建立 CCommand 物件並呼叫其 Open* 方法。

使用 CDataConnection時,您只需要建立連接物件、將它傳遞初始化字串,然後使用該連接來開啟命令。 如果您打算重複使用資料庫的連線,最好讓連線保持開啟,並提供 CDataConnection 方便的方式來執行此動作。

注意

如果您要建立需要處理多個工作階段的資料庫應用程式,則必須使用 OpenNewSession

CDataConnection::CDataConnection

具現化和初始化 CDataConnection 物件。

語法

CDataConnection();
CDataConnection(const CDataConnection &ds);

參數

ds
[in]現有數據連接的參考。

備註

第一個覆寫會建立具有預設設定的新 CDataConnection 物件。

第二個覆寫會建立新的 CDataConnection 物件,其設定相當於您指定的數據連接物件。

CDataConnection::Copy

建立現有數據連線的複本。

語法

CDataConnection& Copy(const CDataConnection & ds) throw();

參數

ds
[in]要複製之現有數據連接的參考。

CDataConnection::Open

使用初始化字串開啟數據源的連接。

語法

HRESULT Open(LPCOLESTR szInitString) throw();

參數

szInitString
[in]數據源的初始化字串。

傳回值

標準 HRESULT

CDataConnection::OpenNewSession

使用目前連接對象的數據源開啟新的工作階段。

語法

HRESULT OpenNewSession(CSession & session) throw();

參數

session
[in/out]新會話對象的參考。

備註

新的工作階段會使用目前連接物件的自主數據源物件做為其父代,而且可以存取與數據源相同的所有資訊。

傳回值

標準 HRESULT

CDataConnection::operator BOOL

判斷目前的工作階段是否開啟。

語法

operator BOOL() throw();

備註

BOOL 傳回 (MFC typedef) 值。 TRUE 表示目前的會話已開啟; FALSE 表示目前的工作階段已關閉。

CDataConnection::operator bool (OLE DB)

判斷目前的工作階段是否開啟。

語法

operator bool() throw();

備註

bool 回 (C++ 資料類型) 值。 true 表示目前的會話已開啟; false 表示目前的工作階段已關閉。

CDataConnection::operator CDataSource&

傳回自主 CDataSource 對象的參考。

語法

operator const CDataSource&() throw();

備註

這個運算符會傳回自主 CDataSource 對象的參考,讓您傳遞 CDataConnection 預期參考的物件 CDataSource

範例

如果您有接受參考的CDataSource函式(如func以下所示),您可以使用 CDataSource& 來改為傳遞CDataConnection物件。

void SourceFunc(const CDataSource& theSource)
{
   CComVariant var;
   theSource.GetProperty(DBPROPSET_DATASOURCEINFO, DBPROP_DATASOURCENAME, &var);
}

 

CDataConnection dc;
dc.Open(szInit);
SourceFunc(dc);

CDataConnection::operator CDataSource*

將指標傳回至包含的 CDataSource 物件。

語法

operator const CDataSource*() throw();

備註

這個運算子會將指標傳回至包含的 CDataSource 物件,讓您傳遞需要 CDataConnection 指標的 CDataSource 物件。

如需使用範例,請參閱 operator CDataSource&

CDataConnection::operator CSession&

傳回自主 CSession 對象的參考。

語法

operator const CSession&();

備註

這個運算符會傳回自主 CSession 對象的參考,讓您傳遞 CDataConnection 預期參考的物件 CSession

範例

如果您有接受參考的CSession函式(如func以下所示),您可以使用 CSession& 來改為傳遞CDataConnection物件。

void SessionFunc(const CSession& theSession)
{
   XACTTRANSINFO info = {0};
   HRESULT hr = theSession.GetTransactionInfo(&info);
   wprintf_s(_T("GetTransactionInfo returned %x\n"), hr);
}

 

CDataConnection dc;
dc.Open(szInit);
SessionFunc(dc);

CDataConnection::operator CSession*

將指標傳回至包含的 CSession 物件。

語法

operator const CSession*() throw();

備註

這個運算子會將指標傳回至包含的 CSession 物件,讓您傳遞需要 CDataConnection 指標的 CSession 物件。

範例

如需使用範例,請參閱 operator CSession&

另請參閱

OLE DB 取用者範本
OLE DB 取用者範本參考