Usando acessadores manuais
Há quatro coisas a fazer ao lidar com um comando desconhecido:
Determinar os parâmetros.
Executar o comando.
Determinar as colunas de saída.
Ver se há vários conjuntos de linhas de retorno.
Para fazer essas coisas com os Modelos de Consumidor OLE DB, use a classe CManualAccessor
e siga estas etapas:
Abra um objeto
CCommand
comCManualAccessor
como parâmetro de modelo.CCommand<CManualAccessor, CRowset, CMultipleResults> rs;
Confira a sessão da interface
IDBSchemaRowset
e use o conjunto de linhas de parâmetros de procedimento. SeIDBSchemaRowset
não estiver disponível, confira a interfaceICommandWithParameters
. ChameGetParameterInfo
para obter informações. Se nenhuma das interfaces estiver disponível, você poderá assumir que não há parâmetros.Para cada parâmetro, chame
AddParameterEntry
para adicionar os parâmetros e defini-los.Abra o conjunto de linhas, mas defina o parâmetro de associação como
false
.Chame
GetColumnInfo
para recuperar as colunas de saída. UseAddBindEntry
para adicionar a coluna de saída à associação.Chame
GetNextResult
para determinar se há mais conjuntos de linhas disponíveis. Repita as etapas 2 a 5.
Para obter um exemplo de um acessador manual, confira CDBListView::CallProcedure
no exemplo do DBVIEWER.