Condividi tramite


Classe CRowsetImpl

Fornisce un'implementazione di rowset OLE DB standard senza richiedere l'ereditarietà multipla di molte interfacce di implementazione.

template <
   class T,
   class Storage,
   class CreatorClass,
   class ArrayType = CAtlArray<Storage>, 
   class RowClass = CSimpleRow, 
   class RowsetInterface = IRowsetImpl < T, IRowset > 
>
class CRowsetImpl :  
   public CComObjectRootEx<CreatorClass::_ThreadModel>, 
   public CRowsetBaseImpl<T, Storage, ArrayType, RowsetInterface>, 
   public IRowsetInfoImpl<T, CreatorClass::_PropClass>

Parametri

  • T
    La classe dell'utente che deriva da CRowsetImpl.

  • Storage
    La classe di record utente.

  • CreatorClass
    La classe che contiene le proprietà del rowset; in genere il comando.

  • ArrayType
    La classe che fungerà dall'archivio per i dati del rowset.Impostazioni predefinite di questo parametro a CAtlArray, ma possono essere di qualsiasi classe che supporta la funzionalità richiesta.

Membri

xzwszaah.collapse_all(it-it,VS.110).gifMetodi

NameFromDBID

Estrae una stringa da DBID e dalle copie a bstr passato.

SetCommandText

Convalida e archivia DBIDoggetti nelle due stringhe (m_strCommandText e m_strIndexText).

xzwszaah.collapse_all(it-it,VS.110).gifMetodi sottoponibili a override

GetColumnInfo

Recupera le informazioni di colonna per la richiesta di un determinato client.

GetCommandFromID

Verifica se uno o entrambi i parametri contengono valori stringa e in caso affermativo, copia i valori stringa ai membri dati m_strCommandText e m_strIndexText.

ValidateCommandID

I controlli da verificare se una o entrambe il DBIDoggetti contiene valori stringa e in caso affermativo, quindi copiati ai relativi membri dati m_strCommandText e m_strIndexText.

xzwszaah.collapse_all(it-it,VS.110).gifMembri di dati

m_rgRowData

Per impostazione predefinita, CAtlArray che templatizes nell'argomento di modello di record utente a CRowsetImpl.Un'altra classe del tipo di matrice può essere utilizzata modificando argomento di template di ArrayType a CRowsetImpl.

m_strCommandText

Contiene il comando iniziale del rowset.

m_strIndexText

Contiene l'indice iniziale del rowset.

Note

CRowsetImpl fornisce override sotto forma di eseguire l'upcast statici.I metodi controllano il modo in cui un rowset specificato convalidate il testo del comando.È possibile creare una classe stile di CRowsetImpltramite le interfacce di implementazione multiplo-ereditate.L'unico metodo per il quale è necessario fornire l'implementazione è Execute.A seconda del tipo di rowset si sta creando, i metodi dell'autore prevedranno firme diverse per Execute.Ad esempio, se si utilizza CRowsetImplclasse derivata da implementare un rowset dello schema, il metodo Execute avrà la firma seguente:

HRESULT Execute(LONG* pcRows, ULONG cRestrictions, const VARIANT* rgRestrictions)

Se si sta creando CRowsetImplclasse derivata da implementare un set di righe della sessione o il comando, il metodo Execute avrà la firma seguente:

HRESULT Execute(LONG* pcRows, DBPARAMS* pParams)

Per implementare uno di CRowsetImpl- metodi Execute derivati, è necessario popolare i buffer di dati interni (m_rgRowData).

Requisiti

Header: il file