Sdílet prostřednictvím


CRowsetImpl – třída

Poskytuje standardní implementaci sady řádků technologie OLE DB bez nutnosti vícenásobnou dědičnost mnoho implementací rozhraní.

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
    Třídy uživatele, který je odvozen od CRowsetImpl.

  • Storage
    Třída uživatelského záznamu.

  • CreatorClass
    Třídy, která obsahuje vlastnosti sady řádků; obvykle příkaz.

  • ArrayType
    Třída, která bude sloužit jako úložiště pro data sady řádků.Tento parametr výchozí hodnotu CAtlArray, ale může to být libovolné třídy, která podporuje požadované funkce.

Členy

Metody

NameFromDBID

Extrahuje z řetězce identifikátor DBID a zkopíruje jej do bstr předaný.

Příkaz SetCommandText

Ověřuje a ukládá identifikátor DBIDs dva řetězce (m_strCommandText a m_strIndexText).

Přetížitelné metody

GetColumnInfo

Načte informace o sloupci pro zadání konkrétního klienta.

GetCommandFromID

Zkontroluje, zda nebo oba parametry obsahují řetězec hodnoty a pokud ano, zkopíruje řetězec hodnoty datových členů m_strCommandText a m_strIndexText.

ValidateCommandID

Zkontroluje, zjistěte, zda se buď nebo oba identifikátor DBIDs obsahovat řetězcové hodnoty a pokud ano, je zkopíruje data členů m_strCommandText a m_strIndexText.

Datové členy

m_rgRow

Ve výchozím nastavení CAtlArray , templatizes na argument šablony záznamu uživatele CRowsetImpl.Lze použít jiný typ třídy array změnou ArrayType argument šablony CRowsetImpl.

m_strCommandText

Obsahuje výchozí příkaz sady řádků.

m_strIndexText

Obsahuje index počáteční sady řádků.

Poznámky

CRowsetImplobsahuje lokální změny ve formě statické upcasts.Metody řízení způsobem, ve kterém se dané sady řádků ověřit text příkazu.Můžete vytvořit vlastní CRowsetImpl-styl třídy tím, že vaše implementace rozhraní dědí více.Jedinou metodou, pro které je nutné zadat implementace je Execute.V závislosti na tom, jaký druh sady řádků při vytváření, Tvůrce metody bude očekávat různé podpisy pro Execute.Například, pokud používáte CRowsetImpl-odvozené třídy implementovat sadu řádků schématu Execute metoda bude mít následující signaturu:

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

Pokud vytváříte CRowsetImpl-odvozené třídy k provedení příkazu nebo sady řádků v relace, Execute metoda bude mít následující signaturu:

HRESULT Execute(LONG* pcRows, DBPARAMS* pParams)

K provedení všech CRowsetImpl-odvozené Execute metod, musí naplnit vaše interní datové vyrovnávací paměti (m_rgRow).

Požadavky

Záhlaví: atldb.h