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&
」を参照してください。