ATL Attributes: db_accessor

Allows the grouping of db_column attributes that participate in OLE DB IAccessor based binding

Syntax

[
    define_attribute = "db_accessor",
    argument_list = {
        "id",
        "auto"
    },
    argument_type ("id") = eIntegerValue,
    default_value ("auto") = "true",
    help_string = "Allows the grouping of db_column attributes that participate in OLE DB IAccessor based binding",
    usage = eAnonymousUsage,
    group = eDBConsumerGroup,
    shipping = true,
    variable_args = true
];

Documentation Error

The id argument is misnamed num in the product documentation. That the documentation is incorrect is easily demonstrable just by changing its own example to supply db_accessor with arguments by name instead of position. The programmer who follows the documentation and uses num to name the first argument will be rewarded with error C3322. A minimal example is:

#define     _ATL_ATTRIBUTES
#include    <atlbase.h>

class Test
{
    [
        db_accessor (num = 0)           // C3322
    ];                                  // C1903
};