db_source
データ ソースへの接続を作成します。
[ db_source(
db_source,
name,
hresult
) ]
パラメータ
db_source
データ ソースとの接続に使用する接続文字列。接続文字列の書式については、『OLE DB Programmer's Reference』の「Connection Strings and Data Links」を参照してください。name (省略可能)
db_source をクラスで使用する場合、name は属性 db_source が適用されたデータ ソース オブジェクトのインスタンスです。例 1 を参照してください。メソッド実装で db_source をインラインで使用する場合、name はメソッドに対してローカルな変数であり、データ ソースへのアクセスに使用できます。例 2 を参照してください。name を db_command の source_name パラメータに渡して、データ ソースとコマンドを関連付けます。hresult (省略可能)
データベース コマンドの HRESULT を受け取る変数を識別する値。変数が存在しない場合は、属性によって自動的に挿入されます。
解説
db_source は、CDataSource および CSession オブジェクトを作成します。これらのオブジェクトの組み合わせて、OLE DB コンシューマ データ ソースとの接続を表します。
db_source をクラスで使用すると、CSession オブジェクトは使用したクラスのメンバになります。
db_source をメソッドで使用すると、挿入されたコードはメソッド スコープ内で実行され、CSession オブジェクトはローカル変数として作成されます。
db_source はデータ ソースのプロパティをクラスまたはメソッド内に追加します。db_source は db_command と組み合わせて使用します。db_command は db_source の name パラメータを source_name パラメータとして使用します。
コンシューマ属性プロバイダがこの属性をクラスに適用すると、コンパイラはクラスの名前を _YourClassNameAccessor (YourClassName はクラスの名前) に変更します。さらに、コンパイラは、_YourClassName から派生した YourClassName という名前のクラスを生成します。クラス ビューに両方のクラスが表示されます。
この属性のアプリケーションでの使用例については、AtlAgent サンプルおよび MultiRead サンプルを参照してください。
使用例
このサンプルでは、db_source をクラスで呼び出し、Northwind データベースを使用するデータ ソース ds への接続を作成します。ds は、CMyCommand クラスに対して内部的に使用できる、データ ソースのハンドルです。
// db_source_1.cpp
// compile with: /LD
#include <atlbase.h>
#include <atlplus.h>
#include <atldbcli.h>
[
db_source(L"my_connection_string", name="ds"),
db_command(L"select * from Products")
]
class CMyCommand {};
必要条件
属性コンテキスト
対象 |
class、struct、メンバ、メソッド、ローカル |
複数回の適用 |
不可 |
必要な属性 |
なし |
無効な属性 |
なし |
属性コンテキストの詳細については、「属性コンテキスト」を参照してください。