Compartilhar via


Acessadores e conjuntos de linhas

Para definir e recuperar dados, modelos OLE DB use um acessador e um conjunto de linhas por meio de CAccessorRowset classe.Essa classe pode manipular acessadores vários tipos diferentes.

Tipos de acessador

Todos os responsáveis pelo acesso derivam de CAccessorBase.CAccessorBase Fornece parâmetro e ligação de coluna.

A figura a seguir mostra os tipos de acessador.

Classes de acessador

  • CAccessor   Use este acessador quando você já conhece a estrutura da fonte de banco de dados em time de design.CAccessor vincula estaticamente um registro de banco de dados que contém o buffer, a fonte de dados.

  • CDynamicAccessor   Use este acessador quando você não souber a estrutura do banco de dados em time de design.CDynamicAccessor chamadas IColumnsInfo::GetColumnInfo para obter as informações de coluna do banco de dados.Ele cria e gerencia um acessador e o buffer.

  • CDynamicParameterAccessor   Use este acessador para lidar com tipos de comando desconhecido.Quando você prepara os comandos, CDynamicParameterAccessor pode obter informações sobre parâmetro da ICommandWithParameters interface, se o provedor oferece suporte a ICommandWithParameters.

  • CDynamicStringAccessor, CDynamicStringAccessorA, and CDynamicStringAccessorW   Use essas classes quando você não possui conhecimento do esquema de banco de dados.CDynamicStringAccessorA recupera dados sistema autônomo cadeias de caracteres ANSI; CDynamicStringAccessorW recupera dados sistema autônomo cadeias de caracteres Unicode.

  • CManualAccessor   Com essa classe, você pode usar quaisquer tipos de dados que você deseja se o provedor pode converter o tipo.Ele trata as colunas de resultados e parâmetros de comando.

A tabela a seguir resume o suporte nos tipos de assessor OLE DB modelo.

Tipo de acessador

Dynamic

Manipula params

Buffer

Acessadores de vários

CAccessor

Não

Sim

Usuário

Sim

CDynamicAccessor

Sim

Não

Modelos de BD OLE DB

Não

CDynamicParameterAccessor

Sim

Sim

Modelos de BD OLE DB

Não

CDynamicStringAccessor [A, W]

Sim

Não

Modelos de BD OLE DB

Não

CManualAccessor

Sim

Sim

Usuário

Sim

Tipos de conjunto de linhas

Os modelos OLE DB oferecem suporte a três tipos de conjuntos de linhas (veja a figura anterior): conjuntos de linha único (implementados por CRowset) em massa conjuntos de linhas (implementados por CBulkRowset) e conjuntos de linhas (implementados por de arrayCArrayRowset).Conjuntos de linha única busca tratar uma única linha quando MoveNext é chamado. Conjuntos de linhas em massa podem buscar vários identificadores de linha.Conjuntos de linhas da matriz são conjuntos de linhas que podem ser acessados usando a sintaxe de matriz.

A figura a seguir mostra os tipos de conjunto de linhas.

Classes de conjunto de linhas

Conjuntos de linhas do esquema não acessar dados no armazenamento de dados mas, em vez disso, acessar informações sobre o armazenamento de dados, chamada de metadados.Conjuntos de linhas do esquema são normalmente usados em situações em que a estrutura do banco de dados não for conhecida no time de compilar e deve ser obtida em time de execução.

Consulte também

Conceitos

OLE DB consumidor modelos (C++)