Compartilhar via


CCustomRowset (CustomRS.H)

O assistente gera uma entrada para o objeto de conjunto de linhas. Nesse caso, ele é chamado CCustomRowset. A CCustomRowsetclasse herda de uma classe de provedor OLE DB chamada CRowsetImpl, que implementa todas as interfaces necessárias para o objeto de conjunto de linhas. O seguinte código mostra a nova lista de heranças para CRowsetImpl:

template <class T, class Storage, class CreatorClass,
   class ArrayType = CAtlArray<Storage>>
class CMyRowsetImpl:
   public CRowsetImpl<T, Storage, CreatorClass, ArrayType,
      CSimpleRow, IRowsetLocateImpl< T >>

CRowsetImpltambém usa as interfaces IAccessor e IColumnsInfo. Ele usa essas interfaces para campos de saída em tabelas. A classe também fornece uma implementação para IRowsetIdentity que permite que o consumidor determine se duas linhas são iguais. A interface IRowsetInfo implementa propriedades para o objeto de conjunto de linhas. A interface IConvertType permite que o provedor resolva diferenças entre os tipos de dados solicitados pelo consumidor e aqueles usados pelo provedor.

A interface IRowset lida de fato com a recuperação de dados. O consumidor primeiro chama um método denominado GetNextRows para retornar um identificador para uma linha conhecida como HROW. Em seguida, o consumidor chama IRowset::GetData com essa HROW para recuperar os dados solicitados.

CRowsetImpl também usa vários parâmetros de modelo. Esses parâmetros permitem determinar como a classe CRowsetImpl lida com os dados. O argumento ArrayType permite que você determine qual mecanismo de armazenamento é usado para armazenar os dados de linha. O parâmetro RowClass especifica qual classe contém um HROW.

O parâmetro RowsetInterface permite que você também use a interface IRowsetLocate ou IRowsetScroll. As interfaces IRowsetLocate e IRowsetScroll herdam de IRowset. Portanto, os modelos de provedor OLE DB devem fornecer tratamento especial para essas interfaces. Se você quiser usar qualquer uma dessas interfaces, precisará usar esse parâmetro.

Confira também

Arquivos gerados pelo Assistente do Provedor