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
Metodi
Estrae una stringa da DBID e dalle copie a bstr passato. |
|
Convalida e archivia DBIDoggetti nelle due stringhe (m_strCommandText e m_strIndexText). |
Metodi sottoponibili a override
Recupera le informazioni di colonna per la richiesta di un determinato client. |
|
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. |
|
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. |
Membri di dati
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. |
|
Contiene il comando iniziale del rowset. |
|
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