Compartilhar via


Classe IRowsetChangeImpl

A implementação de Modelos OLE DB da interface IRowsetChange na especificação OLE DB.

Sintaxe

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

Parâmetros

T
Uma classe derivada de IRowsetChangeImpl.

Storage
O registro do usuário.

BaseInterface
A classe base para a interface, como IRowsetChange.

RowClass
A unidade de armazenamento do identificador de linha.

MapClass
A unidade de armazenamento para todos os identificadores de linha mantidos pelo provedor.

Requisitos

Cabeçalho: atldb.h

Membros

Métodos de interface (usados com IRowsetChange)

Nome Descrição
DeleteRows Exclui linhas do conjunto de linhas.
InsertRow Insere uma linha no conjunto de linhas.
SetData Define valores de dados em uma ou mais colunas.

Método de implementação (retorno de chamada)

Nome Descrição
FlushData Substituído pelo provedor para confirmar dados em seu repositório.

Comentários

Essa interface é responsável por operações de gravação imediatas em um armazenamento de dados. "Imediato" significa que quando o usuário final (a pessoa que usa o consumidor) faz alterações, essas alterações são transmitidas imediatamente para o armazenamento de dados (e não podem ser desfeitas).

IRowsetChangeImpl implementa a interface OLE DB, IRowsetChange, que permite atualizar valores de colunas em linhas existentes, excluir linhas e inserir novas linhas.

A implementação de Modelos OLE DB dá suporte a todos os métodos base (SetData, InsertRow e DeleteRows).

Importante

É altamente recomendável que você leia a documentação a seguir ANTES de tentar implementar seu provedor:

IRowsetChangeImpl::DeleteRows

Exclui linhas do conjunto de linhas.

Sintaxe

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

Parâmetros

Consulte IRowsetChange::DeleteRows na Referência do programador OLE DB.

IRowsetChangeImpl::InsertRow

Cria e inicializa uma nova linha no conjunto de linhas.

Sintaxe

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

Parâmetros

Consulte IRowsetChange::InsertRow na Referência do programador OLE DB.

IRowsetChangeImpl::SetData

Define valores de dados em uma ou mais colunas.

Sintaxe

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

Parâmetros

Consulte IRowsetChange::SetData na Referência do programador OLE DB.

IRowsetChangeImpl::FlushData

Substituído pelo provedor para confirmar dados em seu repositório.

Sintaxe

HRESULT FlushData(HROW hRowToFlush,
   HACCESSOR hAccessorToFlush);

Parâmetros

hRowToFlush
[in] Identificador para as linhas dos dados. O tipo dessa linha é determinado a partir do argumento de modelo RowClass da classe IRowsetImpl (CSimpleRow por padrão).

hAccessorToFlush
[in] Identificador para o acessador, que contém informações de associação e informações de tipo em seu PROVIDER_MAP (consulte IAccessorImpl).

Valor de retorno

Um valor HRESULT padrão.

Confira também

Modelos de Provedor OLE DB
Arquitetura de modelo do provedor do OLE DB