Utilisation d'un recordset ADO existant
Pour combiner des modèles du consommateur OLE DB et ADO (Active Data Objects), utilisez ADO pour ouvrir un recordset (correspondant à un jeu de lignes dans les modèles du consommateur OLE DB). Une fois que vous avez un recordset, connectez-vous à un jeu de lignes OLE DB en procédant de la manière suivante :
Appelez QueryInterface pour les pointeurs IRowset et IAccessor.
IRowset* lpRowset = NULL; IAccessor* lpAccessor = NULL; lpUnk->QueryInterface(IID_IRowset, (void**)&lpRowset); lpUnk->QueryInterface(IID_IAccessor, (void**)&lpAccessor);
Notes
lpUnk désigne l'objet IUnknown du recordset ADO.
Attachez l'accesseur et le jeu de lignes à leurs classes de modèles du consommateur OLE DB appropriées.
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);