次の方法で共有


CDataConnection クラス

データ ソースとの接続を管理します。

構文

class CDataConnection

必要条件

ヘッダー: atldbcli.h

メンバー

メソッド

Name 説明
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 がそのための便利な方法を提供します。

Note

複数のセッションを処理する必要があるデータベース アプリケーションを作成する場合は、OpenNewSession を使用する必要があります。

CDataConnection::CDataConnection

CDataConnection オブジェクトをインスタンス化して初期化します。

構文

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

パラメーター

ds
[入力] 既存のデータ接続への参照。

解説

最初のオーバーライドでは、既定の設定で新しい CDataConnection オブジェクトが作成されます。

2 番目のオーバーライドでは、指定したデータ接続オブジェクトと同等の設定を持つ新しい CDataConnection オブジェクトが作成されます。

CDataConnection::Copy

既存のデータ接続のコピーを作成します。

構文

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

パラメーター

ds
[入力] コピーする既存のデータ接続への参照。

CDataConnection::Open

初期化文字列を使用してデータ ソースへの接続を開きます。

構文

HRESULT Open(LPCOLESTR szInitString) throw();

パラメーター

szInitString
[入力] データ ソースの初期化文字列。

戻り値

標準の 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 オブジェクトへの参照を返します。これにより、CDataSource 参照が必要な CDataConnection オブジェクトを渡すことができます。

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 オブジェクトへのポインターを返します。これにより、CDataSource ポインターが必要な CDataConnection オブジェクトを渡すことができます。

使用例については、「operator CDataSource&」を参照してください。

CDataConnection::operator CSession&

含まれる CSession オブジェクトへの参照を返します。

構文

operator const CSession&();

解説

この演算子は、含まれている CSession オブジェクトへの参照を返します。これにより、CSession 参照が必要な CDataConnection オブジェクトを渡すことができます。

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 オブジェクトへのポインターを返します。これにより、CSession ポインターが必要な CDataConnection オブジェクトを渡すことができます。

使用例については、「operator CSession&」を参照してください。

関連項目

OLE DB コンシューマー テンプレート
OLE DB コンシューマー テンプレート リファレンス