CCustomRowset (CustomRS.H)

La procedura guidata genera una voce per l'oggetto set di righe. In questo caso, viene chiamato CCustomRowset. La CCustomRowset classe eredita da una classe del provider OLE DB denominata CRowsetImpl, che implementa tutte le interfacce necessarie per l'oggetto set di righe. Il codice seguente mostra la catena di ereditarietà per CRowsetImpl:

template <class T, class Storage, class CreatorClass,
   class ArrayType = CAtlArray<Storage>>
class CMyRowsetImpl:
   public CRowsetImpl<T, Storage, CreatorClass, ArrayType,
      CSimpleRow, IRowsetLocateImpl< T >>

CRowsetImpl usa anche le IAccessor interfacce e IColumnsInfo . Usa queste interfacce per i campi di output nelle tabelle. La classe fornisce anche un'implementazione per IRowsetIdentity, che consente al consumer di determinare se due righe sono uguali. L'interfaccia IRowsetInfo implementa le proprietà per l'oggetto set di righe. L'interfaccia IConvertType consente al provider di risolvere le differenze tra i tipi di dati richiesti dal consumer e quelli usati dal provider.

L'interfaccia IRowset gestisce effettivamente il recupero dei dati. Il consumer chiama innanzitutto un metodo denominato GetNextRows per restituire un handle a una riga, noto come HROW. Il consumer chiama IRowset::GetData quindi con tale HROW oggetto per recuperare i dati richiesti.

CRowsetImpl accetta anche diversi parametri di modello. Questi parametri consentono di determinare il modo in cui la classe gestisce i CRowsetImpl dati. L'argomento ArrayType consente di determinare il meccanismo di archiviazione usato per archiviare i dati delle righe. Il parametro RowClass specifica la classe che contiene un oggetto HROW.

Il parametro RowsetInterface consente anche di usare l'interfaccia IRowsetLocate o IRowsetScroll . Le IRowsetLocate interfacce e IRowsetScroll ereditano entrambi da IRowset. Pertanto, i modelli di provider OLE DB devono fornire una gestione speciale per queste interfacce. Se si vuole usare una di queste interfacce, è necessario usare questo parametro.

Vedi anche

File del provider generati tramite procedura guidata