Usando um Recordset do ADO existente
Para misturar modelos de consumidor de OLE DB e Active Data Objects (ADO), use o ADO para abrir um conjunto de registros (correspondente a um conjunto de linhas dos modelos do consumidor de BD OLE). Quando você tem um conjunto de registros, faça o seguinte para se conectar a um conjunto de linhas de OLE DB:
Chame QueryInterface para o IRowset e IAccessor ponteiros.
IRowset* lpRowset = NULL; IAccessor* lpAccessor = NULL; lpUnk->QueryInterface(IID_IRowset, (void**)&lpRowset); lpUnk->QueryInterface(IID_IAccessor, (void**)&lpAccessor);
Observação lpUnk aponta para o IUnknown o objeto do conjunto de registros ADO.
Anexe o conjunto de linhas e o acessador para suas classes de modelo de consumidor de OLE DB apropriados.
CRowset rs; CAccessor accessor; accessor.AddAccessorInfo(0ul); // 0 is the ordinal of an ADO accessor rs.m_spRowset.Attach(lpRowset); // use the Attach method of CComPtr<> rs.SetAccessor(accessor);