Verwenden eines vorhandenen ADO-Recordsets
Um OLE DB-Consumervorlagen und Active Data Objects (ADO) zu kombinieren, verwenden Sie ADO zum Öffnen eines Recordsets (entspricht einem Rowset in den OLE DB-Consumervorlagen).Wenn Sie über ein Recordset verfügen, führen Sie die folgenden Schritte aus, um eine Verbindung zu einem OLE DB-Rowset herzustellen:
Rufen Sie QueryInterface für den IRowset-Zeiger und den IAccessor-Zeiger auf.
IRowset* lpRowset = NULL; IAccessor* lpAccessor = NULL; lpUnk->QueryInterface(IID_IRowset, (void**)&lpRowset); lpUnk->QueryInterface(IID_IAccessor, (void**)&lpAccessor);
Hinweis lpUnk zeigt auf das IUnknown-Objekt des ADO-Recordsets.
Fügen Sie den Accessor und das Rowset den entsprechenden OLE DB-Consumervorlagen-Klassen hinzu.
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);