Sdílet prostřednictvím


CRowset – třída

Zapouzdřuje objekt sady řádků OLE DB a několik souvisejících rozhraní a poskytuje metody manipulace s daty sady řádků.

Syntaxe

template <class TAccessor = CAccessorBase>
class CRowset

Parametry

TAccessor
Třída příslušenství. Výchozí hodnota je CAccessorBase.

Požadavky

Hlavička: atldbcli.h

Členové

Metody

Název Popis
AddRefRows Zvýší počet odkazů přidružený k aktuálnímu řádku.
Zavřít Uvolní řádky a aktuální IRowset rozhraní.
Compare Porovná dvě záložky pomocí funkce IRowsetLocate::Compare.
CRowset Vytvoří nový CRowset objekt a (volitelně) ho IRowset přidruží k rozhraní zadanému jako parametr.
Odstranění Odstraní řádky ze sady řádků pomocí IRowsetChange :DeleteRows.
NajítNextRow Najde další odpovídající řádek za zadanou záložkou.
GetApproximatePosition Vrátí přibližnou pozici řádku odpovídající záložce.
GetData Načte data z kopie sady řádků řádku.
GetDataHere Načte data ze zadané vyrovnávací paměti.
GetOriginalData Načte data naposledy načtená ze zdroje dat nebo přenášená do zdroje dat a ignoruje čekající změny.
GetRowStatus Vrátí stav všech řádků.
Insert Vytvoří a vloží nový řádek pomocí IRowsetChange:InsertRow.
IsSameRow Porovná zadaný řádek s aktuálním řádkem.
MoveFirst Přemísťuje umístění dalšího načtení na počáteční pozici.
MoveLast Přesune se na poslední záznam.
MoveNext Načte data z dalšího sekvenčního řádku nebo zadaného počtu pozic nad dalším řádkem.
MovePrev Přesune se na předchozí záznam.
MoveToBookmark Načte řádek označený záložkou nebo řádkem v zadaném posunu od této záložky.
MoveToRatio Načte řádky začínající desetinnou pozicí v sadě řádků.
ReleaseRows Volá IRowset::ReleaseRows k vydání aktuálního popisovače řádku.
SetData Nastaví hodnoty dat v jednom nebo více sloupcích řádku pomocí IRowsetChange:SetData.
Odčinit Vrátí zpět všechny změny provedené v řádku od posledního načtení nebo aktualizace.
Aktualizace Přenáší všechny čekající změny provedené v aktuálním řádku od posledního načtení nebo aktualizace.
UpdateAll Přenáší všechny čekající změny provedené ve všech řádcích od posledního načtení nebo aktualizace.

Poznámky

V OLE DB je sada řádků objekt, přes který program nastaví a načte data.

Tato třída není určena k vytvoření instance, ale spíše předána jako parametr CTable šablony nebo CCommand (CRowset je výchozí).

CRowset::AddRefRows

Volá IRowset::AddRefRows k přírůstku (o jeden) počet odkazů přidružený k aktuálnímu popisovači řádku.

Syntaxe

HRESULT AddRefRows() throw();

Návratová hodnota

Standardní HODNOTA HRESULT.

Poznámky

Tato metoda zvýší počet odkazů pro aktuální popisovač řádku. Volání ReleaseRows pro snížení počtu. Řádky vrácené metodami přesunutí mají počet odkazů na jeden.

CRowset::Close

Uvolní řádky a aktuální rozhraní IRowset .

Syntaxe

void Close() throw();

Poznámky

Tato metoda uvolní všechny řádky aktuálně v sadě řádků.

CRowset::Compare

Porovná dvě záložky pomocí funkce IRowsetLocate::Compare.

Syntaxe

HRESULT Compare(const CBookmarkBase& bookmark1,
   const CBookmarkBase& bookmark2,
   DBCOMPARE* pComparison) const throw();

Parametry

Záložka 1
[v] První záložka, která se má porovnat.

Záložka 2
[v] Druhá záložka, která se má porovnat.

pComparison
[ven] Ukazatel na výsledek porovnání.

Návratová hodnota

Standardní HODNOTA HRESULT.

Poznámky

Tato metoda vyžaduje volitelné rozhraní IRowsetLocate, které nemusí být podporováno u všech poskytovatelů; pokud se jedná o tento případ, metoda vrátí E_NOINTERFACE. Před voláním Open tabulky nebo příkazu, který obsahuje sadu řádků, musíte také nastavit DBPROP_IRowsetLocate VARIANT_TRUE.

Informace o používání záložek v uživatelích naleznete v tématu Použití záložek.

CRowset::CRowset

Vytvoří nový CRowset objekt a (volitelně) ho přidruží k rozhraní IRowset zadanému jako parametr.

Syntaxe

CRowset();

CRowset(IRowset* pRowset);

Parametry

pRowset
[v] Ukazatel na IRowset rozhraní, které má být přidruženo k této třídě.

CRowset::Delete

Volá IRowsetChange::D eleteRows odstranit aktuální řádek ze sady řádků.

Syntaxe

HRESULT Delete() const throw();

Návratová hodnota

Standardní HODNOTA HRESULT.

CRowset::FindNextRow

Najde další odpovídající řádek za zadanou záložkou.

Syntaxe

HRESULT FindNextRow(DBCOMPAREOP op,
   BYTE* pData,
   DBTYPE wType,
   DBLENGTH nLength,
   BYTE bPrecision,
   BYTE bScale,
   BOOL bSkipCurrent = TRUE,
   CBookmarkBase* pBookmark = NULL) throw();

Parametry

Op
[v] Operace, která se má použít při porovnávání hodnot řádků. Hodnoty naleznete v tématu IRowsetFind::FindNextRow.

pData
[v] Ukazatel na hodnotu, která se má shodovat.

wType
[v] Určuje datový typ hodnoty části vyrovnávací paměti. Informace o indikátorech typů naleznete v části Datové typy v odkazu programátora OLE DB v sadě Windows SDK.

nLength
[v] Délka datové struktury příjemce přidělené datové hodnotě v bajtech. Podrobnosti najdete v popisu cbMaxLen struktury DBBINDING v odkazech programátora OLE DB.

bPrecision
[v] Maximální přesnost použitá při získávání dat. Používá se pouze v případě, že je typ wType DBTYPE_NUMERIC. Další informace naleznete v tématu Převody zahrnující DBTYPE_NUMERIC nebo DBTYPE_DECIMAL v odkazech programátora OLE DB.

bScale
[v] Měřítko použité při získávání dat. Používá se pouze v případě, že je typ wType DBTYPE_NUMERIC nebo DBTYPE_DECIMAL. Další informace naleznete v tématu Převody zahrnující DBTYPE_NUMERIC nebo DBTYPE_DECIMAL v odkazech programátora OLE DB.

bSkipCurrent
[v] Počet řádků ze záložky, na které chcete zahájit hledání.

pBookmark
[v] Záložka pro pozici, na které chcete zahájit hledání.

Návratová hodnota

Standardní HODNOTA HRESULT.

Poznámky

Tato metoda vyžaduje volitelné rozhraní IRowsetFind, které nemusí být podporováno u všech poskytovatelů; pokud se jedná o tento případ, metoda vrátí E_NOINTERFACE. Před voláním Open tabulky nebo příkazu, který obsahuje sadu řádků, musíte také nastavit DBPROP_IRowsetFind VARIANT_TRUE.

Informace o používání záložek v uživatelích naleznete v tématu Použití záložek.

CRowset::GetApproximatePosition

Vrátí přibližnou pozici řádku odpovídající záložce.

Syntaxe

HRESULT GetApproximatePosition(const CBookmarkBase* pBookmark,
   DBCOUNTITEM* pPosition,
   DBCOUNTITEM* pcRows) throw();

Parametry

pBookmark
[v] Ukazatel na záložku, která identifikuje řádek, jehož pozici se má najít. Hodnota NULL, pokud je vyžadován pouze počet řádků.

Umístění
[ven] Ukazatel na umístění, kde GetApproximatePosition vrátí pozici řádku. Hodnota NULL, pokud není požadována pozice.

pcRows
[ven] Ukazatel na umístění, kde GetApproximatePosition vrátí celkový počet řádků. HODNOTA NULL, pokud se počet řádků nevyžaduje.

Návratová hodnota

Standardní HODNOTA HRESULT.

Poznámky

Tato metoda vyžaduje volitelné rozhraní IRowsetScroll, které nemusí být podporováno u všech poskytovatelů; pokud se jedná o tento případ, metoda vrátí E_NOINTERFACE. Před voláním Open tabulky nebo příkazu, který obsahuje sadu řádků, musíte také nastavit DBPROP_IRowsetScroll VARIANT_TRUE.

Informace o používání záložek v uživatelích naleznete v tématu Použití záložek.

CRowset::GetData

Načte data z kopie sady řádků řádku.

Syntaxe

HRESULT GetData() throw();

HRESULT GetData(int nAccessor) throw();

Parametry

nAccessor
[v] Číslo indexu (odsazení nula) přístupového objektu, který se má použít pro přístup k datům.

Návratová hodnota

Standardní HODNOTA HRESULT.

Poznámky

Pokud zadáte přístup, který není automatickýmaccessorem v BEGIN_ACCESSOR, použijte tuto metodu k explicitnímu získání dat předáním čísla přístupového objektu.

CRowset::GetDataHere

Načte data z aktuálního řádku a umístí je do zadané vyrovnávací paměti.

Syntaxe

HRESULT GetDataHere(int nAccessor,
   void* pBuffer) throw();

Parametry

nAccessor
[v] Číslo indexu přístupového objektu, který se má použít pro přístup k datům.

pBuffer
[ven] Vyrovnávací paměť, do které se mají umístit data pro aktuální záznam.

Návratová hodnota

Standardní HODNOTA HRESULT.

Poznámky

Příklad použití této funkce najdete v ukázce MultiRead.

CRowset::GetOriginalData

Volání IRowsetUpdate::GetOriginalData pro načtení dat naposledy načtených ze zdroje dat nebo jejich přenosu do zdroje dat.

Syntaxe

HRESULT GetOriginalData() throw();

Návratová hodnota

Standardní HODNOTA HRESULT.

Poznámky

Tato metoda načte data naposledy načtená ze zdroje dat nebo přenášená do zdroje dat; nenačítá hodnoty na základě čekajících změn.

Tato metoda vyžaduje volitelné rozhraní IRowsetUpdate, které nemusí být podporováno u všech poskytovatelů; pokud se jedná o tento případ, metoda vrátí E_NOINTERFACE. Před voláním Open tabulky nebo příkazu, který obsahuje sadu řádků, musíte také nastavit DBPROP_IRowsetUpdate VARIANT_TRUE.

CRowset::GetRowStatus

Vrátí stav všech řádků.

Syntaxe

HRESULT GetRowStatus(DBPENDINGSTATUS* pStatus) const throw();

Parametry

pStatus
[ven] Ukazatel na umístění, kde GetRowStatus vrátí hodnotu stavu. Viz DBPENDINGSTATUS v odkazu programátora OLE DB.

Návratová hodnota

Standardní HODNOTA HRESULT.

Poznámky

Tato metoda vyžaduje volitelné rozhraní IRowsetUpdate, které nemusí být podporováno u všech poskytovatelů; pokud se jedná o tento případ, metoda vrátí E_NOINTERFACE. Před voláním Open tabulky nebo příkazu, který obsahuje sadu řádků, musíte také nastavit DBPROP_IRowsetUpdate VARIANT_TRUE.

CRowset::Insert

Vytvoří a inicializuje nový řádek pomocí dat z přístupového objektu.

Syntaxe

HRESULT Insert(int nAccessor = 0,
   bool bGetHRow = false) throw();

Parametry

nAccessor
[v] Počet přístupových objektů, které se mají použít k vložení dat.

bGetHRow
[v] Určuje, zda je načten popisovač pro vložený řádek.

Návratová hodnota

Standardní HODNOTA HRESULT.

Poznámky

Tato metoda vyžaduje volitelné rozhraní IRowsetChange, které nemusí být podporováno u všech poskytovatelů; pokud se jedná o tento případ, metoda vrátí E_NOINTERFACE. Před voláním Open tabulky nebo příkazu, který obsahuje sadu řádků, musíte také nastavit DBPROP_IRowsetChange VARIANT_TRUE.

Vložení může selhat, pokud jeden nebo více sloupců není zapisovatelný. Upravte mapu kurzoru tak, aby to opravil.

Příklad

Následující příklad ukazuje, jak získat přístup ke zdroji dat prostřednictvím sady řádků a potom vložit řetězec pomocí tabulky v této sadě řádků.

Nejprve vytvořte třídu tabulky vložením nového objektu ATL do projektu. Klikněte například pravým tlačítkem myši na projekt v podokně Pracovní prostor a vyberte Nový objekt ATL. V kategorii Přístup k datům vyberte Příjemce. Vytvořte objekt příjemce typu Table. (Výběr Tabulka vytvoří sadu řádků přímo z tabulky; výběrem příkazu Command se vytvoří sada řádků prostřednictvím příkazu SQL.) Vyberte zdroj dat a zadejte tabulku, přes kterou chcete získat přístup ke zdroji dat. Pokud zavoláte objekt příjemce CCustomerTable, implementujete kód vložení následujícím způsobem:

// Access the rowset using the wizard-generated class, CCustomerTable
CCustomerTable rs;           // Your CTable-derived class

// Insert a customer
// Note that for fixed-length fields such as billing ID it isn't necessary
// to set the length
rs.m_BillingID = 5002;
rs.m_dwBillingIDStatus = DBSTATUS_S_OK;

_tcscpy_s(rs.m_ContactFirstName, sizeof(rs.m_ContactFirstName) / sizeof(TCHAR), 
   _T("Malcolm"));
rs.m_dwContactFirstNameLength = 7;
rs.m_dwContactFirstNameStatus = DBSTATUS_S_OK;

_tcscpy_s(rs.m_L_Name, sizeof(rs.m_L_Name) / sizeof(TCHAR), _T("Reynolds"));
rs.m_dwL_NameLength = 8;
rs.m_dwContactFirstNameStatus = DBSTATUS_S_OK;

rs.m_CustomerID = 2005;
rs.m_dwCustomerIDStatus = DBSTATUS_S_OK;

_tcscpy_s(rs.m_PostalCode, sizeof(rs.m_PostalCode) / sizeof(TCHAR), 
   _T("34213-4444"));
rs.m_dwPostalCodeLength = 10;
rs.m_dwPostalCodeStatus = DBSTATUS_S_OK;

HRESULT hr = rs.Insert();
if (FAILED(hr))
{
   ATLTRACE(_T("Insert failed: 0x%X\n"), hr);
}

CRowset::IsSameRow

Porovná zadaný řádek s aktuálním řádkem.

Syntaxe

HRESULT IsSameRow(HROW hRow) const throw();

Parametry

hRow
[v] Popisovač řádku pro porovnání s aktuálním řádkem.

Návratová hodnota

Standardní HODNOTA HRESULT. S_OK označuje, že řádky jsou stejné. Další hodnoty naleznete v části IRowsetIndentity::IsSameRow v odkazech programátora OLE DB v sadě Windows SDK.

CRowset::MoveFirst

Přesune kurzor na počáteční pozici a načte počáteční řádek.

Syntaxe

HRESULT MoveFirst() throw();

Návratová hodnota

Standardní HODNOTA HRESULT.

Poznámky

Volá IRowset::RestartPosition, aby přemísťoval další umístění na počáteční pozici (umístění, které bylo umístění dalšího načtení při vytvoření sady řádků) a načte počáteční řádek.

CRowset::MoveLast

Přesune kurzor na poslední řádek.

Syntaxe

HRESULT MoveLast() throw();

Návratová hodnota

Standardní HODNOTA HRESULT.

Poznámky

Volá IRowset::RestartPosition, aby přemísťoval umístění dalšího načtení na poslední pozici a načte poslední řádek.

Tato metoda vyžaduje, abyste před voláním Open tabulky nebo příkazu obsahující sadu řádků nastavili DBPROP_CANSCROLLBACKWARDS na VARIANT_TRUE. (Pokud chcete dosáhnout lepšího výkonu, můžete také nastavit DBPROP_QUICKRESTART VARIANT_TRUE.)

CRowset::MoveNext

Přesune kurzor na další záznam.

Syntaxe

HRESULT MoveNext() throw();

HRESULT MoveNext(LONG lSkip,
   bool bForward= true) throw();

Parametry

LSkip
[v] Početřádkůch

bForward
[v] Předáním true se posunete vpřed k dalšímu záznamu a false posunete se dozadu.

Návratová hodnota

Standardní HODNOTA HRESULT. Po dosažení konce sady řádků se vrátí DB_S_ENDOFROWSET.

Poznámky

Načte další sekvenční řádek z objektu CRowset a zapamatuje si předchozí pozici. Volitelně můžete přeskočit dopředu řádky lSkip nebo se přesunout dozadu.

Tato metoda vyžaduje, abyste před voláním Open tabulky nebo příkazu obsahující sadu řádků nastavili následující vlastnosti:

  • DBPROP_CANSCROLLBACKWARDS musí být VARIANT_TRUE, pokud lSkip< 0

  • DBPROP_CANFETCHBACKWARDS musí být VARIANT_TRUE, pokud bForward = false

Jinak (pokud lSkip>= 0 a bForward = true), nemusíte nastavovat žádné další vlastnosti.

CRowset::MovePrev

Přesune kurzor na předchozí záznam.

Syntaxe

HRESULT MovePrev() throw();

Návratová hodnota

Standardní HODNOTA HRESULT.

Poznámky

Tato metoda vyžaduje, abyste před voláním Open tabulky nebo příkazu obsahující sadu řádků nastavili DBPROP_CANFETCHBACKWARDS nebo DBPROP_CANSCROLLBACKWARDS VARIANT_TRUE.

CRowset::MoveToBookmark

Načte řádek označený záložkou nebo řádkem v zadaném posunu (lSkip) z této záložky.

Syntaxe

HRESULT MoveToBookmark(const CBookmarkBase& bookmark,
   LONG lSkip = 0) throw();

Parametry

bookmark
[v] Záložka označující umístění, ze kterého chcete načíst data.

LSkip
[v] Počet řádků ze záložky do cílového řádku. Pokud je lSkip nula, první řádek načtený je řádek záložky. Pokud je lSkip 1, první řádek načtený je řádek za záložkou řádku. Pokud je lSkip -1, první řádek načtený je řádek před řádkem záložky.

Návratová hodnota

Standardní HODNOTA HRESULT.

Poznámky

Tato metoda vyžaduje volitelné rozhraní IRowsetLocate, které nemusí být podporováno u všech poskytovatelů; pokud se jedná o tento případ, metoda vrátí E_NOINTERFACE. Musíte také nastavit DBPROP_IRowsetLocate VARIANT_TRUE a nastavit DBPROP_CANFETCHBACKWARDS na VARIANT_TRUE před voláním Open tabulky nebo příkazu obsahující sadu řádků.

Informace o používání záložek v uživatelích naleznete v tématu Použití záložek.

CRowset::MoveToRatio

Načte řádky začínající desetinnou pozicí v sadě řádků.

Syntaxe

HRESULT MoveToRatio(DBCOUNTITEM nNumerator,
   DBCOUNTITEM nDenominator,bool bForward = true) throw();

Parametry

nNumerator
[v] Čitatel použitý k určení desetinné pozice, ze které se mají načítat data.

nDenominator
[v] Jmenovatel použitý k určení desetinné pozice, ze které se mají načítat data.

bForward
[v] Určuje, jestli se má pohybovat dopředu nebo dozadu. Výchozí hodnota je přeposlat.

Návratová hodnota

Standardní HODNOTA HRESULT.

Poznámky

MoveToRatio Načte řádky zhruba podle následujícího vzorce:

(nNumerator * RowsetSize ) / nDenominator

kde RowsetSize je velikost sady řádků měřená v řádcích. Přesnost tohoto vzorce závisí na konkrétním poskytovateli. Podrobnosti najdete v tématu IRowsetScroll::GetRowsAtRatio.

Tato metoda vyžaduje volitelné rozhraní IRowsetScroll, které nemusí být podporováno u všech poskytovatelů; pokud se jedná o tento případ, metoda vrátí E_NOINTERFACE. Před voláním Open tabulky nebo příkazu, který obsahuje sadu řádků, musíte také nastavit DBPROP_IRowsetScroll VARIANT_TRUE.

CRowset::ReleaseRows

Volá IRowset::ReleaseRows k vydání aktuálního popisovače řádku.

Syntaxe

HRESULT ReleaseRows() throw();

Návratová hodnota

Standardní HODNOTA HRESULT.

CRowset::SetData

Nastaví hodnoty dat v jednom nebo více sloupcích řádku.

Syntaxe

HRESULT SetData() const throw();

HRESULT SetData(int nAccessor) const throw();

Parametry

nAccessor
[v] Počet přístupových objektů pro přístup k datům.

Návratová hodnota

Standardní HODNOTA HRESULT.

Poznámky

SetData U formuláře, který nepřijímá žádné argumenty, se všechny přístupové objekty používají k aktualizaci. Obvykle voláte SetData nastavení hodnot dat ve sloupcích na řádku a voláním update tyto změny přenesete.

Tato metoda vyžaduje volitelné rozhraní IRowsetChange, které nemusí být podporováno u všech poskytovatelů; pokud se jedná o tento případ, metoda vrátí E_NOINTERFACE. Před voláním Open tabulky nebo příkazu, který obsahuje sadu řádků, musíte také nastavit DBPROP_IRowsetChange VARIANT_TRUE.

Operace nastavení může selhat, pokud nelze zapisovat jeden nebo více sloupců. Upravte mapu kurzoru tak, aby to opravil.

CRowset::Undo

Vrátí zpět všechny změny provedené v řádku od posledního načtení nebo aktualizace.

Syntaxe

HRESULT Undo(DBCOUNTITEM* pcRows = NULL,
   HROW* phRow = NULL,
   DBROWSTATUS* pStatus = NULL) throw();

Parametry

pcRows
[ven] Ukazatel na umístění, kde Undo vrátí počet řádků, které se v případě potřeby pokusil vrátit zpět.

PhRow
[ven] Ukazatel na umístění, kde Undo vrátí pole popisovačů na všechny řádky, které se v případě potřeby pokusil vrátit zpět.

pStatus
[ven] Ukazatel na umístění, kde Undo vrátí hodnotu stavu řádku. Pokud má pStatus hodnotu null, nevrátí se žádný stav.

Návratová hodnota

Standardní HODNOTA HRESULT.

Poznámky

Tato metoda vyžaduje volitelné rozhraní IRowsetUpdate, které nemusí být podporováno u všech poskytovatelů; pokud se jedná o tento případ, metoda vrátí E_NOINTERFACE. Před voláním Open tabulky nebo příkazu, který obsahuje sadu řádků, musíte také nastavit DBPROP_IRowsetUpdate VARIANT_TRUE.

CRowset::Update

Přenáší všechny čekající změny provedené v aktuálním řádku od posledního načtení nebo Update volání.

Syntaxe

HRESULT Update(DBCOUNTITEM* pcRows = NULL,
   HROW* phRow = NULL,
   DBROWSTATUS* pStatus = NULL) throw();

Parametry

pcRows
[ven] Ukazatel na umístění, kde Update v případě potřeby vrátí počet řádků, které se pokusil aktualizovat.

PhRow
[ven] Ukazatel na umístění, kde Update se vrátí popisovač řádku, který se pokusil aktualizovat. Pokud je hodnota phRow null, nevrátí se žádný popisovač.

pStatus
[ven] Ukazatel na umístění, kde Update vrátí hodnotu stavu řádku. Pokud má pStatus hodnotu null, nevrátí se žádný stav.

Návratová hodnota

Standardní HODNOTA HRESULT.

Poznámky

Přenáší všechny čekající změny provedené v aktuálním řádku od posledního načtení nebo aktualizace řádku (pomocí Update nebo UpdateAll). Obvykle voláte SetData k nastavení hodnot dat ve sloupcích v řádku a následné volání Update pro přenos těchto změn.

Tato metoda vyžaduje volitelné rozhraní IRowsetUpdate, které nemusí být podporováno u všech poskytovatelů; pokud se jedná o tento případ, metoda vrátí E_NOINTERFACE. Před voláním Open tabulky nebo příkazu, který obsahuje sadu řádků, musíte také nastavit DBPROP_IRowsetUpdate VARIANT_TRUE.

CRowset::UpdateAll

Přenáší všechny čekající změny provedené ve všech řádcích od posledního načtení nebo Update volání.

Syntaxe

HRESULT UpdateAll(DBCOUNTITEM* pcRows = NULL,
   HROW** pphRow = NULL,
   DBROWSTATUS** ppStatus = NULL) throw();

Parametry

pcRows
[ven] Ukazatel na umístění, kde UpdateAll v případě potřeby vrátí počet řádků, které se pokusil aktualizovat.

pphRow
[ven] Ukazatel na paměť, ve kterém UpdateAll se vrátí popisovač řádku, který se pokusil aktualizovat. Pokud má pphRow hodnotu null, nevrátí se žádný popisovač.

ppStatus
[ven] Ukazatel na umístění, kde Update vrátí hodnotu stavu řádku. Pokud má ppStatus hodnotu null, není vrácen žádný stav.

Poznámky

Přenáší všechny čekající změny provedené ve všech řádcích, protože tyto řádky byly naposledy načteny nebo aktualizovány pomocí aktualizace nebo UpdateAll. UpdateAll bude aktualizovat každý řádek, který byl změněn, bez ohledu na to, zda pro ně stále máte popisovač (viz pphRow) nebo ne.

Pokud jste například vložili Insert pět řádků do sady řádků, můžete zavolat Update pětkrát nebo volat UpdateAll jednou, abyste je aktualizovali.

Tato metoda vyžaduje volitelné rozhraní IRowsetUpdate, které nemusí být podporováno u všech poskytovatelů; pokud se jedná o tento případ, metoda vrátí E_NOINTERFACE. Před voláním Open tabulky nebo příkazu, který obsahuje sadu řádků, musíte také nastavit DBPROP_IRowsetUpdate VARIANT_TRUE.

Návratová hodnota

Standardní HODNOTA HRESULT.

Viz také

Ukázka DBVieweru
Ukázka funkce MultiRead
Ukázka atributů s více vlákny
Šablony příjemců OLE DB
Referenční dokumentace k šablonám příjemců OLE DB