Classe CRowsetImpl
Fornece uma implementação de conjunto de linhas OLE DB padrão 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 de usuário.CreatorClass
A classe que contém propriedades de conjunto de linhas; normalmente o comando.ArrayType
A classe que atuará como 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.
Membros
Métodos
Extrai uma cadeia de caracteres de um DBID e o copia para a bstr passado. |
|
Valida e armazena o DBIDs em duas seqüências de caracteres (m_strCommandText e m_strIndexText). |
Métodos substituíveis
Recupera informações de coluna para uma solicitação de cliente específico. |
|
Verifica se um ou ambos os parâmetros contêm valores de cadeia de caracteres e, em caso afirmativo, copia os valores de seqüência de caracteres para os membros de dados m_strCommandText e m_strIndexText. |
|
Verifica a veja se um ou ambos DBIDs contêm valores de cadeia de caracteres e, em caso afirmativo, copia-los para seus membros de dados m_strCommandText e m_strIndexText. |
Membros de dados
Por padrão, um CAtlArray que templatizes no argumento modelo registro usuário para CRowsetImpl.Outra classe de tipo de matriz pode ser usado, alterando a ArrayType argumento de modelo para CRowsetImpl. |
|
Contém comando inicial do conjunto de linhas. |
|
Contém o índice inicial do conjunto de linhas. |
Comentários
CRowsetImplfornece substituições na forma de upcasts estáticos.Os métodos de controlam a maneira em que um determinado conjunto de linhas irá validar texto do comando.Você pode criar seu próprio CRowsetImpl-classe de estilo, tornando suas interfaces de implementação herdadas múltiplos.O único método para o qual você deve fornecer implementação é Executar.Dependendo do tipo de conjunto de linhas que você está criando os métodos de criador esperará assinaturas diferentes para Executar.Por exemplo, se você estiver usando um CRowsetImpl-derivado classe para implementar um conjunto de linhas do esquema, o Executar método terá a seguinte assinatura:
HRESULT Execute(LONG* pcRows, ULONG cRestrictions, const VARIANT* rgRestrictions)
Se você estiver criando um CRowsetImpl-derivado classe para implementar um comando ou conjunto de linhas da sessão, o Executar método terá a seguinte assinatura:
HRESULT Execute(LONG* pcRows, DBPARAMS* pParams)
Para implementar qualquer um do CRowsetImpl-derivado Executar métodos, você deve preencher seus buffers de dados internos (m_rgRowData).
Requisitos
Cabeçalho: atldb.h