Klasa CRowsetImpl
Zapewnia standardowej implementacji wierszy OLE DB bez konieczności wielokrotne dziedziczenie wiele implementacji interfejsów.
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>
Parametry
T
Klasa użytkownika, który wynika z CRowsetImpl.Storage
Klasa rekordu użytkownika.CreatorClass
Klasa, która zawiera właściwości do zestawu wierszy; Zazwyczaj polecenie.ArrayType
Klasy, który będzie pełnił rolę magazynu danych zestawu wierszy.Ten parametr CAtlArray, ale można w dowolnej klasy, która obsługuje wymaganej funkcjonalności.
Członkowie
Metody
Wyodrębnia z ciągu identyfikator DBID i kopiuje go do bstr przekazany. |
|
Sprawdza poprawność i przechowuje identyfikator DBIDs w dwóch ciągów (m_strCommandText i m_strIndexText). |
Wykonać metody
Pobiera informacje o kolumnie dla żądania określonego klienta. |
|
Sprawdza, jeśli jeden lub oba parametry zawierają wartości ciągu i kopiuje wartości ciągu członkom danych m_strCommandText i m_strIndexText. |
|
Sprawdza Zobacz Jeśli albo lub obu identyfikator DBIDs zawierają wartości ciągu i jeśli tak, kopiuje je do swoich danych członków m_strCommandText i m_strIndexText. |
Członkowie danych
Domyślnie CAtlArray , templatizes na argumencie szablonu rekordu użytkownika do CRowsetImpl.Inną klasę typu tablicy mogą być używane przez zmianę ArrayType argument szablonu do CRowsetImpl. |
|
Zawiera polecenia początkowego zestawu wierszy. |
|
Zawiera indeks początkowy zestawu wierszy. |
Uwagi
CRowsetImplzapewnia przesłonięcia w formie upcasts statyczne.Metody kontrolować sposób, w którym dany zestaw wierszy będzie sprawdzać poprawność tekstu polecenia.Można tworzyć własne CRowsetImpl-styl klasy dzięki implementacji interfejsów dziedziczone wielu.Jedyną metodą, dla której należy podać implementacja jest Execute.W zależności od tego, jaki typ wierszy tworzysz, metody twórca będzie oczekiwać różnych podpisów dla Execute.Na przykład, jeśli używasz CRowsetImpl-klasy w celu wykonania zestawu wierszy schematu Execute metoda będzie mieć następujący podpis:
HRESULT Execute(LONG* pcRows, ULONG cRestrictions, const VARIANT* rgRestrictions)
W przypadku tworzenia CRowsetImpl-klasy w celu wykonania polecenia lub wierszy sesji Execute metoda będzie mieć następujący podpis:
HRESULT Execute(LONG* pcRows, DBPARAMS* pParams)
Do wykonania dowolnego z CRowsetImpl-uzyskane Execute metody, musi wypełniać swoje bufory danych wewnętrznych (m_rgRowData).
Wymagania
Nagłówek: atldb.h