次の方法で共有


db_table

OLE DB テーブルを開きます。

構文

[ db_table(db_table, name, source_name, hresult) ]

パラメーター

db_table
データベース テーブルの名前を指定する文字列 ("Products" など)。

name
(省略可能) テーブルの操作に使用するハンドルの名前。 複数の結果行を返す場合は、このパラメーターを指定する必要があります。 db_table は、指定された名前を持つ変数を生成します。この変数は、行セットの走査、複数のアクション クエリの実行のために使用できます。

source_name
(省略可能) コマンドが実行される db_source 属性が適用されているクラスの CSession 変数またはインスタンス。 「 db_source」をご覧ください。

hresult
(省略可能) このデータベース コマンドの HRESULT を受け取る変数を識別します。 変数が存在しない場合は、属性によって自動的に挿入されます。

解説

db_table は、テーブルを開くために OLE DB コンシューマーによって使用される CTable オブジェクトを作成します。 この属性はクラス レベルでのみ使用できます。インラインで使用することはできません。 db_column を使用してテーブル列を変数にバインドします。db_param を使用して、パラメーターを区切ります (パラメーターの型などの設定)。

コンシューマー属性プロバイダーがこの属性をクラスに適用すると、コンパイラはクラスの名前を _YourClassNameAccessor に変更します。ここで、YourClassName はユーザーがクラスに指定した名前です。コンパイラは、_YourClassNameAccessor から派生する 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;
};

アプリケーションで使用されるこの属性の例については、「MultiRead」を参照してください。

要件

属性コンテキスト Value
適用対象 $
反復可能 いいえ
必要な属性 なし
無効な属性 なし

属性コンテキストの詳細については、「 属性コンテキスト」を参照してください。

関連項目

OLE DB コンシューマー属性