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< 0DBPROP_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