Класс 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
иInsertRow
DeleteRows
).
Внимание
Настоятельно рекомендуется ознакомиться со следующей документацией ПЕРЕД попыткой реализовать поставщика:
Глава 6 справочника программиста OLE DB
Кроме того, узнайте, как
RUpdateRowset
класс используется в примере UpdatePV .
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