Методы доступа обычно создаются с использованием макросы BEGIN_COLUMN_MAP и END_COLUMN_MAP . Это гарантирует, что метод MoveNext автоматически получать данные для всех указанных столбцов. В некоторых случаях вы не можете для извлечения всех столбцов на каждый шаг (например, если один из столбцов содержит большой графический элемент). В этом случае можно поместить один конкретный столбец в отдельный метод доступа и сделать что Неавтоматические объекты доступа, как показано ниже. При вызове MoveNext, этот код извлекает только Идентификатор продукта автоматически. Если вам нужна длинное имя, необходимо вызвать метод GetData явно, передав номер доступа (1, в данном случае) для извлечения данных.
класс CProduct
{
общественности:
длинные nProductID;
Чар szVeryLong&Name [2048];
BEGIN_ACCESSOR_MAP (CProduct, 2) / / проходят количество методов доступа
BEGIN_ACCESSOR (0, true) / / true = автоматический метод доступа
COLUMN_ENTRY (1, nProductID)
END_ACCESSOR()
BEGIN_ACCESSOR (1, false) nbsp; / / false = не autoaccessor
COLUMN_ENTRY (2, szVeryLongName)
END_ACCESSOR()
END_ACCESSOR_MAP()
};