Partilhar via


Determinar que tipo de acessador para uso

Você pode determinar os tipos de dados em um conjunto de linhas em tempo de compilação ou em tempo de execução.

Se você precisar determinar os tipos de dados em tempo de compilação, use um acessador estático (como CAccessor). Você pode determinar os tipos de dados manualmente ou usando o ATL OLE DB consumidor Wizard.

Se você precisar determinar os tipos de dados em tempo de execução, use um dinâmico (CDynamicAccessor ou seus filhos) ou o acessador manual (CManualAccessor). Nesses casos, você pode chamar GetColumnInfo no conjunto de linhas para retornar a coluna de ligação de informações, a partir do qual você pode determinar tipos.

A tabela a seguir lista os tipos de acessadores fornecidos nos modelos de consumidor. Cada acessador tem vantagens e desvantagens. Dependendo da situação, um tipo de acessador deve atender às suas necessidades.

Classe do acessador

Binding

Parameter

Comment

CAccessor

Criar um registro de usuário com COLUMN_ENTRY macros. As macros vincular a um membro de dados desse registro para o acessador. Quando é criado o conjunto de linhas, colunas não podem ser desligadas.

Sim, usando um PARAM_MAP a entrada de macro. Uma vez acoplado, parâmetros não podem ser desligados.

Acessador mais rápido por causa de uma pequena quantidade de código.

CDynamicAccessor

Automático.

No.

É útil se você não souber o tipo de dados em um conjunto de linhas.

CDynamicParameterAccessor

Automático, mas pode ser substituído.

Sim, se o provedor oferece suporte ICommandWithParameters. Parâmetros vinculados automaticamente.

Mais lento do que CDynamicAccessor , mas útil para chamar procedimentos armazenados genérico.

CDynamicStringAccessor [A, W]

Automático.

No.

Recupera dados acessados do armazenamento de dados como dados de seqüência de caracteres.

CManualAccessor

Usando o manual AddBindEntry.

Manualmente usando AddParameterEntry.

Muito rápida; parâmetros e colunas vinculados somente uma vez. Determine o tipo de dados para usar. (Consulte DBVIEWER exemplo, para obter um exemplo.) Requer mais código que CDynamicAccessor ou CAccessor. É mais semelhante a chamar diretamente o banco de dados OLE.

CXMLAccessor

Automático.

No.

Recupera dados acessados do armazenamento de dados como dados de seqüência de caracteres e formatos de dados marcados como XML.

Consulte também

Conceitos

Usar acessadores