Share via


db_accessor

对参与基于 IAccessor 绑定的 db_column 特性进行分组。

语法

[ db_accessor(num, auto) ]

参数

num
指定访问器编号(从零开始的整数索引)。 必须使用整数或定义的值按递增顺序指定访问器编号。

auto
一个布尔值,该值指定是否自动检索访问器(是则为 TRUE;否则为 FALSE)。

备注

db_accessor 为同一类或函数中的后续 db_columndb_param 特性定义基础 OLE DB 访问器。 db_accessor 在成员级别可用,用于对参与 OLE DB 基于 IAccessor 的绑定的 db_column 特性进行分组。 它与 db_tabledb_command 特性结合使用。 调用此特性类似于调用 BEGIN_ACCESSOREND_ACCESSOR 宏。

db_accessor 生成行集并将其绑定到相应的访问器映射。 如果不调用 db_accessor,将自动生成访问器 0,并且所有列绑定都将映射到此访问器块。

db_accessor 将数据库列绑定分组到一个或多个访问器中。 有关需要使用多个访问器的情况的讨论,请参阅对行集使用多个访问器。 另请参阅用户记录中的“对多个访问器的用户记录支持”。

使用者特性提供程序将此特性应用到某个类时,编译器会将该类重命名为 _YourClassNameAccessor,其中 YourClassName 是为类命名的名称,且编译器还将创建一个派生自 _YourClassNameAccessor、名为 YourClassName 的类。 将在类视图中看到这两个类。

示例

以下示例使用 db_accessor 将 Orders 表中的列从 Northwind 数据库分组为两个访问器。 访问器 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 使用者特性