To mix OLE DB consumer templates and Active Data Objects, use ADO to open a recordset (corresponding to a rowset in the OLE DB consumer templates). Once you have a recordset, do the following to connect to an OLE DB rowset:
IRowset* lpRowset = NULL;
IAccessor* lpAccessor = NULL;
lpUnk->QueryInterface(IID_IRowset, (void**)&lpRowset);
lpUnk->QueryInterface(IID_IAccessor, (void**)&lpAccessor);
CRowset rs;
CAccessor accessor;
accessor.Attach(lpAccessor);
rs.Attach(lpRowset);
rs.SetAccessor(accessor);