Classe CRowsetImpl
Fornece uma implementação de conjunto de linhas padrão do OLE DB sem herança múltipla de várias interfaces de implementação.
template <
class T,
class Storage,
class CreatorClass,
class ArrayType = CAtlArray<Storage>,
class RowClass = CSimpleRow,
class RowsetInterface = IRowsetImpl < T, IRowset >
>
class CRowsetImpl :
public CComObjectRootEx<CreatorClass::_ThreadModel>,
public CRowsetBaseImpl<T, Storage, ArrayType, RowsetInterface>,
public IRowsetInfoImpl<T, CreatorClass::_PropClass>
Parâmetros
T
Classe do usuário que deriva de CRowsetImpl.Storage
A classe de registro do usuário.CreatorClass
A classe que contém propriedades para o conjunto de linhas; normalmente o comando.ArrayType
A classe que atuará sistema autônomo armazenamento de dados do conjunto de linhas.Este parâmetro padrão é CAtlArray, mas pode ser qualquer classe que oferece suporte a funcionalidade necessária.
Comentários
CRowsetImpl fornece substituições na forma de upcasts estático. Os métodos de controlam a maneira na qual um determinado conjunto de linhas irá validar texto do comando.Você pode criar seus próprios CRowsetImpl-classe de estilo, tornando suas interfaces de implementação herdadas múltiplo. O único método para o qual você deve fornecer implementação é Executar.Dependendo do tipo do conjunto de linhas que você está criando, os métodos de criador esperam assinaturas diferentes para Executar.Por exemplo, se você estiver usando um CRowsetImpl-classe derivada para implementar um conjunto de registros de esquema, o Executar método terá a seguinte assinatura:
HRESULT Execute(LONG* pcRows, ULONG cRestrictions, const VARIANT* rgRestrictions)
Se você estiver criando um CRowsetImpl-classe para implementar um comando ou conjunto de registros da sessão, derivada do Executar método terá a seguinte assinatura:
HRESULT Execute(LONG* pcRows, DBPARAMS* pParams)
Para implementar qualquer o CRowsetImpl-derivado Executar métodos, você deve popular seus buffers de dados internos (m_rgRowData).
Requisitos
Cabeçalho: atldb.h