管理與數據源的連線。
語法
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& 。