次の方法で共有


db_accessor

IAccessor のベースのバインディングに含める db_column の属性をグループ化します。

[ db_accessor( 
   num, 
   auto 
) ]

パラメーター

  • num
    アクセサーの番号 (ベース) の整数インデックスを指定します。整数または定義済みの値を使用して昇順にアクセサーの番号を指定する必要があります。

  • 自動
    アクセサーが自動的に取得されます ()True 取得されていないかどうかを指定するブール値 (False)。

解説

db_accessor は後続の db_column の根本的な OLE DB のアクセサーと同じクラスまたは関数内の db_param の属性を定義します。db_accessor にはメンバー レベルで使用できOLE DB IAccessor のベースのバインディングに含める db_column の属性をグループ化するために使用されます。これは db_table または db_command 属性とともに使用されます。この属性を呼び出す BEGIN_ACCESSOREND_ACCESSOR マクロの呼び出しに似ています。

db_accessor は行セットが生成され対応するアクセサーのマップにバインドします。db_accessor を呼び出してアクセサー 0 は自動的に生成されすべての列バインディングはこのアクセサー ブロックにマップされます。

db_accessor は一つ以上のアクセサーにはデータベース列連結をグループ化します。ユーザーが複数のアクセサーを使用する必要があるシナリオの詳細については 行セットの複数のアクセサーを使用します を参照してください。「 ユーザー レコード の複数のアクセサーのユーザー レコード サポート」を参照してください。

コンシューマー属性プロバイダーがクラスにこの属性を適用するとコンパイラは YourClassName はクラスを受け取るとコンパイラは_YourClassNameAccessor から派生 YourClassName と いうクラスを作成する名前です _YourClassNameAccessor にクラスの名前を変更します。[クラス ビュー] でこれらのクラスを参照してください。

使用例

次の例では2 人のアクセサーに Northwind データベースからOrders テーブル内のグループの列に db_accessor を使用します。アクセサー 0 は自動アクセサーでありアクセサー 1 はありません。

// cpp_attr_ref_db_accessor.cpp
// compile with: /LD /link /OPT:NOREF
#define _ATL_ATTRIBUTES
#include <atlbase.h>
#include <atldbcli.h>

[ db_command(L"SELECT LastName, FirstName FROM Orders") ]
class CEmployees {
public:
   [ db_accessor(0, TRUE) ];
   [ db_column("1") ] LONG m_OrderID;
   [ db_column("2") ] TCHAR m_CustomerID[6];
   [ db_column("4") ] DBTIMESTAMP m_OrderDate; 

   [ db_accessor(1, FALSE) ];
   [ db_column("8") ] CURRENCY m_Freight;
};

必要条件

属性コンテキスト

対象

属性ブロック

複数回の適用

必要な属性

なし

無効な属性

なし

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

参照

その他の技術情報

OLE DB コンシューマー属性

Attributes Samples