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&
。