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


Класс IRowsetChangeImpl

Реализация шаблонов OLE DB интерфейса IRowsetChange в спецификации OLE DB.

Синтаксис

template <
   class T,
   class Storage,
   class BaseInterface = IRowsetChange,
   class RowClass = CSimpleRow,
   class MapClass = CAtlMap <RowClass::KeyType, RowClass*>>
class ATL_NO_VTABLE IRowsetChangeImpl : public BaseInterface

Параметры

T
Класс, производный от IRowsetChangeImpl.

Память
Запись пользователя.

BaseInterface
Базовый класс для интерфейса, например IRowsetChange.

RowClass
Единица хранения для дескриптора строки.

MapClass
Единица хранения для всех дескрипторов строк, удерживаемых поставщиком.

Требования

Заголовок: atldb.h

Участники

Методы интерфейса (используемые с IRowsetChange)

Имя Описание
DeleteRows Удаляет строки из набора строк.
InsertRow Вставляет строку в набор строк.
SetData Задает значения данных в одном или нескольких столбцах.

Метод реализации (обратный вызов)

Имя Описание
FlushData Переопределяется поставщиком для фиксации данных в хранилище.

Замечания

Этот интерфейс отвечает за немедленные операции записи в хранилище данных. "Интерпретация" означает, что когда конечный пользователь (пользователь, использующий потребитель) вносит любые изменения, эти изменения немедленно передаются в хранилище данных (и не могут быть отменены).

IRowsetChangeImpl реализует интерфейс OLE DB IRowsetChange , который позволяет обновлять значения столбцов в существующих строках, удалять строки и вставлять новые строки.

Реализация шаблонов OLE DB поддерживает все базовые методы (SetDataиInsertRowDeleteRows).

Внимание

Настоятельно рекомендуется ознакомиться со следующей документацией ПЕРЕД попыткой реализовать поставщика:

IRowsetChangeImpl::DeleteRows

Удаляет строки из набора строк.

Синтаксис

STDMETHOD (DeleteRows )(HCHAPTER /* hReserved */,
   DBCOUNTITEM cRows,
   const HROW rghRows[],
   DBROWSTATUS rgRowStatus[]);

Параметры

См. статью IRowsetChange::D eleteRows в справочнике программиста OLE DB.

IRowsetChangeImpl::InsertRow

Создает и инициализирует новую строку в наборе строк.

Синтаксис

STDMETHOD (InsertRow )(HCHAPTER /* hReserved */,
   HACCESSOR hAccessor,
   void* pData,
   HROW* phRow);

Параметры

См. раздел IRowsetChange::InsertRow в справочнике программиста OLE DB.

IRowsetChangeImpl::SetData

Задает значения данных в одном или нескольких столбцах.

Синтаксис

STDMETHOD (SetData )(HROW hRow,
   HACCESSOR hAccessor,
   void* pSrcData);

Параметры

См. раздел IRowsetChange::SetData в справочнике программиста OLE DB.

IRowsetChangeImpl::FlushData

Переопределяется поставщиком для фиксации данных в хранилище.

Синтаксис

HRESULT FlushData(HROW hRowToFlush,
   HACCESSOR hAccessorToFlush);

Параметры

hRowToFlush
[in] Обработка строк для данных. Тип этой строки определяется из аргумента IRowsetImpl шаблона RowClass класса (CSimpleRowпо умолчанию).

hAccessorToFlush
[in] Дескриптор доступа, содержащий сведения о привязке и сведения о типе в нем PROVIDER_MAP (см . раздел IAccessorImpl).

Возвращаемое значение

Стандартный HRESULT.

См. также

Шаблоны поставщика OLE DB
Архитектура шаблона поставщика OLE DB