OLE DB користувача запису

Використовувати статичні методи доступу, ваш споживач повинен запис користувача. Запис користувача є C++ клас, який містить елементи даних маркер вводу або виводу. ATL об'єкт Майстер створює запис користувача для споживача. Можна додати методи для користувача запису для додаткових завдань, як обробка команди.

Наступний код показує приклади запис, який обробляє команд. У записі користувача BEGIN_OLUMN_MAP являє собою набір рядків даних передається споживачеві від постачальника. BEGIN_PARAM_MAP являє собою набір параметрів для команди. У цьому прикладі використовується CCommand клас для обробки параметрів командного. Карта записи, члени дані представляють скорочення викидів в один суцільний блок пам'яті для кожного екземпляра класу. Макроси COLUMN_ENTRY відповідати PROVIDER_COLUMN_ENTRY макроси на стороні постачальника.

Більш докладну інформацію про COLUMN_MAP і PARAM_MAP макроси перегляньте макроси для OLE DB споживача шаблонів.

клас CArtists
{
готелю:
/ / Елементів даних
   CHAR m_szFirstName [20];
   CHAR m_szLastName [30];
   короткий m_nAge;
 
/ / виводу прив'язування карта
BEGIN_COLUMN_MAP(CArtists)
   COLUMN_ENTRY (1, m_szFirstName)
   COLUMN_ENTRY (2, m_szLastName)
   COLUMN_ENTRY (3, m_nAge)
END_COLUMN_MAP()
 
/ / параметр прив'язування карта
BEGIN_PARAM_MAP(CArtists)
   COLUMN_ENTRY (1, m_nAge)
END_PARAM_MAP
}

Наступний приклад показує користувача запису змінено на підтримку декількох методів доступу — на набір рядків. Замість того, щоб BEGIN_COLUMN_MAP і END_COLUMN_MAPвін використовує BEGIN_ACCESSOR_MAP і BEGIN_ACCESSOR для кожної функції доступу. BEGIN_ACCESSOR макрос визначає номер методів доступу (зсув від нуля) і чи у функції доступу є на autoaccessor. Autoaccessors називати GetData для отримання даних автоматично на заклик до MoveNext. Non автоматичні методів доступу — вимагають явно отримати дані. Використовуйте не автоматичні поводи, якщо є обов'язковими до великих даних поля (наприклад, растрові зображення), що ви не можете отримати для кожного запису.

клас CMultiArtists
{
готелю:
/ / Елементів даних
   CHAR m_szFirstName [20];
   CHAR m_szLastName [30];
   короткий m_nAge;
 
/ / виводу прив'язування карта
BEGIN_ACCESSOR_MAP (CMultiArtists, 2)
   BEGIN_ACCESSOR (0, правда)
    COLUMN_ENTRY (1, m_szFirstName)
    COLUMN_ENTRY (2, m_szLastName)
   END_ACCESSOR()
   BEGIN_ACCESSOR (1, помилкові) / / не функції автоматичного доступу
    COLUMN_ENTRY (3, m_nAge)
   END_ACCESSOR()
END_ACCESSOR_MAP()
}

Назад до архітектура шаблон OLE DB споживача

Index