CRowsetImpl — Klasa
Miejsce standardowej implementacji zestaw 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 dla wierszy; Zazwyczaj polecenie.ArrayType
Klasa, która będzie działać jako miejsce przechowywania danych zestawu wierszy.Ten parametr jest równa CAtlArray, ale może być dowolnej klasy, która obsługuje wymaganej funkcjonalności.
Elementy członkowskie
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). |
NotOverridable metody
Zwraca informacje o kolumnach dla żądania określonego klienta. |
|
Sprawdza, jeśli jeden lub oba parametry zawierają wartości ciągu, a jeśli tak, kopiuje wartości ciągów danych członków m_strCommandText i m_strIndexText. |
|
Sprawdza, czy albo lub oba identyfikator DBIDs zawierają wartości ciągu, a jeśli tak, skopiuje je do swoich członków danych m_strCommandText i m_strIndexText. |
Elementy członkowskie danych
Domyślnie CAtlArray templatizes że na argumencie szablonu rekordu użytkownika do CRowsetImpl.Inną klasę typu tablicy mogą być używane przez zmianę ArrayType argumentu szablon do CRowsetImpl. |
|
Zawiera polecenia początkowego zestawu wierszy. |
|
Zawiera indeks początkowy zestawu wierszy. |
Uwagi
CRowsetImplzapewnia przesłonięcia formatowania w postaci statycznej upcasts.Metody kontrolować sposób, w którym dany zestaw wierszy będzie sprawdzać poprawność tekst polecenia.Można tworzyć własne CRowsetImpl-styl klasy, dokonując implementacji interfejsów wielu dziedziczone.Jedyną metodą, dla której należy podać implementacja jest Execute.W zależności od tego, jakiego rodzaju wierszy jest tworzony, metody twórca będzie oczekiwać różnych podpisów dla Execute.Na przykład, jeśli używasz CRowsetImpl-klasy do wdrożenia zestaw 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 do realizacji polecenia lub sesja zestaw wierszy, Execute metoda będzie mieć następujący podpis:
HRESULT Execute(LONG* pcRows, DBPARAMS* pParams)
Można zaimplementować każdą z CRowsetImpl-pochodnych Execute metod, musi wypełnić swoje bufory danych wewnętrznych (m_rgRowData).
Wymagania
Nagłówek: atldb.h