Existem quatro tipos principais de acessadores nos modelos de consumidor. Cada acessador tem suas próprias vantagens e desvantagens. Dependendo do seu tipo de acessador de um situação deve atender às suas necessidades.
CAccessor
| Vinculação | Parâmetros | Comentários |
| Crie um registro de usuário com as macros de COLUMN_ENTRY . As macros ligam um membro de dados desse registro para o acessador. Uma vez que o conjunto de registros é criado, as colunas não podem ser não acopladas. | Sim, usando uma entrada de macro PARAM_MAP . Uma vez ligado, parâmetros não podem ser desvinculados. |
Acessador mais rápido por causa da pequena quantidade de código. |
CDynamicAccessor
| Vinculação | Parâmetros | Comentários |
| Automático. | Não. | Útil se você não souber o tipo de dados em um conjunto de linhas. |
CDynamicParameterAccessor
| Vinculação | Parâmetros | Comentários |
| Automático, mas pode ser substituído. | Sim, se o provedor oferece suporte a ICommandWithParameters. Parâmetros ligados automaticamente. | Mais lento do que CDynamicAccessor mas útil para chamar procedimentos armazenados genéricos. |
CManualAccessor
| Vinculação | Parâmetros | Comentários |
| Manual usando AddBindEntry | Manualmente usando AddParameterEntry. | Muito rápido, uma vez que parâmetros e colunas são vinculadas apenas uma vez. Você determina o tipo de dados que pretende tratar. (Consulte o exemplo de DBVIEWER exemplo.) Requer mais código que CDynamicAccessor ou CAccessor. Código tende a ser mais como a chamada OLE DB diretamente. |