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

NameFromDBID

Wyodrębnia z ciągu identyfikator DBID i kopiuje go do bstr przekazany.

Działanie metody SetCommandText

Sprawdza poprawność i przechowuje identyfikator DBIDs w dwóch ciągów (m_strCommandText i m_strIndexText).

NotOverridable metody

GetColumnInfo

Zwraca informacje o kolumnach dla żądania określonego klienta.

GetCommandFromID

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.

ValidateCommandID

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

m_rgRowData

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.

m_strCommandText

Zawiera polecenia początkowego zestawu wierszy.

m_strIndexText

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