Classe CRowsetImpl
Fornece uma implementação padrão de conjunto de linhas OLE DB sem exigir a herança múltipla das 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
A classe do usuário que se deriva de CRowsetImpl.Storage
A classe de registro do usuário.CreatorClass
A classe que contém as propriedades do conjunto de linhas; normalmente o comando.ArrayType
A classe que atuará como armazenamento para os dados do conjunto de linhas. Esse parâmetro assume como padrão CAtlArray, mas pode ser qualquer classe que ofereça suporte à funcionalidade necessária.
Membros
Métodos
Extrai uma cadeia de caracteres de DBID e copiá-lo em bstr passado. |
|
Valida e armazena DBIDs em duas cadeias de caracteres (m_strCommandText e m_strIndexText). |
Métodos substituível
Recupera informações de coluna para uma solicitação de cliente específica. |
|
Verifica se um ou ambos os parâmetros contêm valores de cadeia de caracteres e, em caso afirmativo, copia os valores da cadeia de caracteres os membros de dados m_strCommandText e m_strIndexText. |
|
Verifica se um ou ambos DBIDs contém valores de cadeia de caracteres e, em caso afirmativo, copiá-los para os membros de dados m_strCommandText e m_strIndexText. |
Membros de dados
Por padrão, CAtlArray que templatizes no argumento do modelo de registro de usuário a CRowsetImpl. Outra classe do tipo de matriz pode ser usada alterando o argumento do modelo de ArrayType a CRowsetImpl. |
|
Contém o comando inicial do conjunto de linhas. |
|
Contém o índice inicial do conjunto de linhas. |
Comentários
CRowsetImpl fornece substituições na forma de upcasts estáticos. Os métodos controlam o modo no qual um determinado conjunto de linhas validará o texto do comando. Você pode criar seu próprio CRowsetImpl- classe de estilo fazendo as interfaces de implementação vários herdadas. O único método para o qual você deve fornecer uma implementação é Executar. Dependendo do tipo de conjunto de linhas estiver sendo criado, os métodos do designer esperarão assinaturas diferentes para Executar. Por exemplo, se você estiver usando CRowsetImpl- classe derivada a implementar um conjunto de linhas de esquema, o método de Executar terá a seguinte assinatura:
HRESULT Execute(LONG* pcRows, ULONG cRestrictions, const VARIANT* rgRestrictions)
Se você estiver criando CRowsetImpl- classe derivada a implementar um conjunto de linhas de comando ou de sessão, o método de Executar terá a seguinte assinatura:
HRESULT Execute(LONG* pcRows, DBPARAMS* pParams)
Para implementar qualquer um de CRowsetImpl- métodos derivados de Executar , você deve popular seus buffers de dados internas (m_rgRowData).
Requisitos
Header: atldb.h