Acessadores e conjuntos de linhas

Para definir e recuperar dados, modelos OLE DB é usar 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 acessadores derivam de CAccessorBase. CAccessorBasefornece o parâmetro e ligação de coluna.

A figura a seguir mostra os tipos de acessador.

Classes de acessador

Tipos de acessador

  • CAccessor usar nesse acessador, quando você conhece a estrutura da fonte de banco de dados em tempo de design. CAccessorvincula estaticamente um registro de banco de dados, que contém o buffer, a fonte de dados.

  • CDynamicAccessor usar nesse acessador, quando você não souber a estrutura do banco de dados em tempo de design. CDynamicAccessorchamadas IColumnsInfo::GetColumnInfo para obter informações de coluna de banco de dados. Ele cria e gerencia um acessador e o buffer.

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

  • CDynamicStringAccessor, CDynamicStringAccessorA, e CDynamicStringAccessorW usar essas classes quando você não possui conhecimento do esquema do banco de dados. CDynamicStringAccessorArecupera dados como cadeias de caracteres ANSI; CDynamicStringAccessorWrecupera dados como 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 lida com os parâmetros de comando e de colunas de resultado.

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

Tipo do acessador

Dynamic

Manipula params

Buffer

Acessadores de vários

CAccessor

No

Yes

User

Yes

CDynamicAccessor

Yes

No

Modelos OLE DB

No

CDynamicParameterAccessor

Yes

Yes

Modelos OLE DB

No

CDynamicStringAccessor[A,W]

Yes

No

Modelos OLE DB

No

CManualAccessor

Yes

Yes

User

Yes

Tipos de conjunto de linhas

Os modelos OLE DB suportam três tipos de conjuntos de linhas (consulte a figura anterior): única de conjuntos de linhas (implementada pelo CRowset), em massa de conjuntos de linhas (implementada pelo CBulkRowset) e conjuntos de linhas de matriz (implementada pelo CArrayRowset). Busca de conjuntos de linhas simples lidar com uma única linha, quando MoveNext é chamado. Conjuntos de linhas BULK podem buscar vários identificadores de linha. Conjuntos de linhas da matriz são conjuntos de linhas que podem ser acessados usando a sintaxe da matriz.

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

Classes de conjunto de linhas

Gráfico de RowsetType

Conjuntos de linhas do esquema não os dados de acesso nos dados de armazenar 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 é conhecida em tempo de compilação e deve ser obtida em tempo de execução.

Consulte também

Conceitos

Modelos do OLE DB consumidor (C++)