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 |
Обязательные атрибуты | нет |
Недопустимые атрибуты | нет |
Дополнительные сведения о контекстах атрибутов см. в разделе Контексты атрибутов.