db_table
OLE DB テーブルを開きます。
[ db_table(
db_table,
name,
source_name,
hresult
) ]
パラメーター
db_table
データベース テーブル名 ("Products" など) を指定する文字列。name (省略可能)
テーブルの操作に使用するハンドルの名前。 複数の結果行を返す場合は、このパラメーターを指定する必要があります。 指定した name を持つ変数が db_table によって生成され、行セットの走査や複数のアクション クエリの実行に使用できます。source_name (省略可能)
実行するコマンドの対象となる属性 db_source が適用された CSession 変数またはクラスのインスタンス。 「db_source」を参照してください。hresult (省略可能)
データベース コマンドの HRESULT を受け取る変数を識別する値。 変数が存在しない場合は、属性によって自動的に挿入されます。
解説
db_table は、テーブルを開くために OLE DB コンシューマーが使用する CTable オブジェクトを作成します。 この属性が使用できるのはクラス レベルだけです。インラインでは使用できません。 db_column を使用してテーブルの列を変数に連結し、db_param を使用してパラメーターの型などを設定し、パラメーターを区切ります。
コンシューマー属性プロバイダーがこの属性をクラスに適用すると、コンパイラはクラスの名前を _YourClassNameAccessor (YourClassName はクラスの名前) に変更します。さらに、コンパイラは、_YourClassName から派生した YourClassName という名前のクラスを生成します。 クラス ビューに両方のクラスが表示されます。
使用例
CProducts で使用する Products テーブルを開く例を次に示します。
// db_table.cpp
// compile with: /LD
#include <atlbase.h>
#include <atlplus.h>
#include <atldbcli.h>
[ db_table(L"dbo.Products") ]
class CProducts {
[ db_column("1") ] LONG m_ProductID;
};
この属性のアプリケーションでの使用例については、AtlAgent サンプルおよび MultiRead サンプルを参照してください。
必要条件
属性コンテキスト
対象 |
class、struct |
複数回の適用 |
不要 |
必要な属性 |
[なし] |
無効な属性 |
[なし] |
属性コンテキストの詳細については、「属性コンテキスト」を参照してください。