How Do I Use an Existing ADO Recordset?

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:

  1. Call QueryInterface for the IRecordset and IAccessor pointers.

    IRowset* lpRowset = NULL;
    IAccessor* lpAccessor = NULL;
    lpUnk->QueryInterface(IID_IRowset, (void**)&lpRowset);
    lpUnk->QueryInterface(IID_IAccessor, (void**)&lpAccessor);
    
  2. Attach the accessor and rowset to their appropriate OLE DB consumer template classes.

    CRowset rs;
    CAccessor accessor;
    
    accessor.Attach(lpAccessor);
    rs.Attach(lpRowset);
    rs.SetAccessor(accessor);