db_accessor
对参与基于 IAccessor
绑定的 db_column
特性进行分组。
语法
[ db_accessor(num, auto) ]
参数
num
指定访问器编号(从零开始的整数索引)。 必须使用整数或定义的值按递增顺序指定访问器编号。
auto
一个布尔值,该值指定是否自动检索访问器(是则为 TRUE;否则为 FALSE)。
备注
db_accessor 为同一类或函数中的后续 db_column
和 db_param
特性定义基础 OLE DB 访问器。 db_accessor 在成员级别可用,用于对参与 OLE DB 基于 IAccessor
的绑定的 db_column
特性进行分组。 它与 db_table
或 db_command
特性结合使用。 调用此特性类似于调用 BEGIN_ACCESSOR 和 END_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;
};
要求
特性上下文 | 值 |
---|---|
适用于 | 特性块 |
可重复 | 否 |
必需的特性 | 无 |
无效的特性 | 无 |
有关特性上下文的详细信息,请参见 特性上下文。