Поделиться через


db_accessor

Группируют db_column атрибуты, участвующие в IAccessorпривязке на основе.

Синтаксис

[ db_accessor(num, auto) ]

Параметры

num
Указывает номер метода доступа (отсчитываемый от нуля целый индекс). Необходимо указать номера метода доступа в растущем порядке, используя целые числа или определенные значения.

auto
Логическое значение, указывающее, извлекается ли метод доступа автоматически (TRUE) или не извлекается (FALSE).

Замечания

db_accessor определяет базовый метод доступа OLE DB для последующих db_column и db_param атрибутов в одном классе или функции. db_accessor можно использовать на уровне члена и используется для группирования db_column атрибутов, участвующих в привязке на основе OLE DBIAccessor. Он используется в сочетании с атрибутами db_table или db_command атрибутами. Вызов этого атрибута аналогичен вызову макросов BEGIN_ACCESSOR и END_ACCESSOR .

db_accessor создает набор строк и привязывает его к соответствующим картам доступа. Если вы не вызываете db_accessor, метод доступа 0 будет автоматически создан, и все привязки столбцов будут сопоставлены с этим блоком доступа.

db_accessor группирует привязки столбцов базы данных в один или несколько методов доступа. Обсуждение сценариев, в которых требуется использовать несколько методов доступа, см. в разделе "Использование нескольких методов доступа в наборе строк". Также см. раздел "Поддержка записи пользователей для нескольких методов доступа" в записях пользователей.

Когда поставщик атрибутов потребителя применяет этот атрибут к классу, компилятор переименовывает класс в _YourClassName Accessor, где YourClassName — это имя, которое вы предоставили класс, и компилятор также создаст класс YourClassName, производный от _YourClassName Accessor. В представлении классов отображаются оба класса.

Пример

В следующем примере используется db_accessor для группировки столбцов в таблице Orders из базы данных Northwind на два метода доступа. 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;
};

Требования

Контекст атрибута Значение
Относится к Блоки атрибутов
Повторяемый No
Обязательные атрибуты нет
Недопустимые атрибуты нет

Дополнительные сведения о контекстах атрибутов см. в разделе Контексты атрибутов.

См. также

Атрибуты объекта-получателя OLE DB