IRowsetUpdateImpl — Klasa
Implementacja interfejsu IRowsetUpdate szablonów OLE DB.
Składnia
template <
class T,
class Storage,
class UpdateArray = CAtlArray<Storage>,
class RowClass = CSimpleRow,
class MapClass = CAtlMap <RowClass::KeyType, RowClass*>
>
class IRowsetUpdateImpl : public IRowsetChangeImpl<
T,
Storage,
IRowsetUpdate,
RowClass,
MapClass>
Parametry
T
Klasa pochodząca z IRowsetUpdateImpl
klasy .
Storage
Rekord użytkownika.
UpdateArray
Tablica zawierająca buforowane dane służące do aktualizowania zestawu wierszy.
RowClass
Jednostka magazynu dla elementu HROW
.
MapClass
Jednostka magazynu dla wszystkich dojść wierszy przechowywanych przez dostawcę.
Wymagania
Nagłówek: atldb.h
Elementy członkowskie
Metody interfejsu (używane z IRowsetChange)
Nazwa/nazwisko | opis |
---|---|
SetData | Ustawia wartości danych w co najmniej jednej kolumnie. |
Metody interfejsu (używane z IRowsetUpdate)
Nazwa/nazwisko | opis |
---|---|
GetOriginalData | Pobiera dane ostatnio przesyłane do lub uzyskane ze źródła danych, ignorując oczekujące zmiany. |
GetPendingRows | Zwraca listę wierszy z oczekującymi zmianami. |
GetRowStatus | Zwraca stan określonych wierszy. |
Cofnąć | Cofa wszelkie zmiany w wierszu od czasu ostatniego pobrania lub aktualizacji. |
Update | Przesyła wszelkie zmiany wprowadzone w wierszu od czasu ostatniego pobrania lub aktualizacji. |
Metody implementacji (wywołanie zwrotne)
Nazwa/nazwisko | opis |
---|---|
IsUpdateAllowed | Służy do sprawdzania bezpieczeństwa, integralności itd. przed zezwoleniem na aktualizacje. |
Składowe danych
Nazwa/nazwisko | opis |
---|---|
m_mapCachedData | Zawiera oryginalne dane dla operacji odroczonej. |
Uwagi
Najpierw należy przeczytać i zrozumieć dokumentację dotyczącą elementu IRowsetChange, ponieważ wszystkie opisane tam również elementy mają zastosowanie tutaj. Należy również przeczytać rozdział 6 dokumentacji programisty OLE DB na temat ustawień danych.
IRowsetUpdateImpl
implementuje interfejs OLE DB IRowsetUpdate
, który umożliwia konsumentom opóźnienie transmisji zmian wprowadzonych IRowsetChange
w źródle danych i cofanie zmian przed przesłaniem.
Ważne
Zdecydowanie zaleca się przeczytanie następującej dokumentacji PRZED podjęciem próby zaimplementowania dostawcy:
Rozdział 6 dokumentacji programisty OLE DB
Zobacz również, jak
RUpdateRowset
klasa jest używana w przykładzie UpdatePV
IRowsetUpdateImpl::SetData
Ustawia wartości danych w co najmniej jednej kolumnie.
Składnia
STDMETHOD (SetData )(HROW hRow,
HACCESSOR hAccessor,
void* pSrcData);
Parametry
Zobacz IRowsetChange::SetData w dokumentacji programisty OLE DB.
Uwagi
Ta metoda zastępuje metodę IRowsetChangeImpl::SetData , ale zawiera buforowanie oryginalnych danych w celu zezwolenia na natychmiastowe lub odroczone przetwarzanie operacji.
IRowsetUpdateImpl::GetOriginalData
Pobiera dane ostatnio przesyłane do lub uzyskane ze źródła danych, ignorując oczekujące zmiany.
Składnia
STDMETHOD (GetOriginalData )(HROW hRow,
HACCESSOR hAccessor,
void* pData);
Parametry
Zobacz IRowsetUpdate::GetOriginalData w dokumentacji programisty OLE DB.
IRowsetUpdateImpl::GetPendingRows
Zwraca listę wierszy z oczekującymi zmianami.
Składnia
STDMETHOD (GetPendingRows )(HCHAPTER /* hReserved */,
DBPENDINGSTATUS dwRowStatus,
DBCOUNTITEM* pcPendingRows,
HROW** prgPendingRows,
DBPENDINGSTATUS** prgPendingStatus);
Parametry
hReserved
[in] Odpowiada parametrowi hChapter w elemencie IRowsetUpdate::GetPendingRows.
Aby uzyskać inne parametry, zobacz IRowsetUpdate::GetPendingRows w dokumentacji programisty OLE DB.
Uwagi
Aby uzyskać więcej informacji, zobacz IRowsetUpdate::GetPendingRows w dokumentacji programisty OLE DB.
IRowsetUpdateImpl::GetRowStatus
Zwraca stan określonych wierszy.
Składnia
STDMETHOD (GetRowStatus )(HCHAPTER /* hReserved */,
DBCOUNTITEM cRows,
const HROW rghRows[],
DBPENDINGSTATUS rgPendingStatus[]);
Parametry
hReserved
[in] Odpowiada parametrowi hChapter w parametrze IRowsetUpdate::GetRowStatus.
Aby uzyskać inne parametry, zobacz IRowsetUpdate::GetRowStatus w dokumentacji programisty OLE DB.
IRowsetUpdateImpl::Undo
Cofa wszelkie zmiany w wierszu od czasu ostatniego pobrania lub aktualizacji.
Składnia
STDMETHOD (Undo )(HCHAPTER /* hReserved */,
DBCOUNTITEM cRows,
const HROW rghRows[ ],
DBCOUNTITEM* pcRowsUndone,
HROW** prgRowsUndone,
DBROWSTATUS** prgRowStatus);
Parametry
hReserved
[in] Odpowiada parametrowi hChapter w pliku IRowsetUpdate::Undo.
pcRowsUndone
[out] Odpowiada parametrowi pcRows w pliku IRowsetUpdate::Undo.
prgRowsUndone
[in] Odpowiada parametrowi prgRows w pliku IRowsetUpdate::Undo.
Aby uzyskać inne parametry, zobacz IRowsetUpdate::Undo w dokumentacji programisty OLE DB.
IRowsetUpdateImpl::Update
Przesyła wszelkie zmiany wprowadzone w wierszu od czasu ostatniego pobrania lub aktualizacji.
Składnia
STDMETHOD (Update )(HCHAPTER /* hReserved */,
DBCOUNTITEM cRows,
const HROW rghRows[],
DBCOUNTITEM* pcRows,
HROW** prgRows,
DBROWSTATUS** prgRowStatus);
Parametry
hReserved
[in] Odpowiada parametrowi hChapter w pliku IRowsetUpdate::Update.
Aby uzyskać inne parametry, zobacz IRowsetUpdate::Update w dokumentacji programisty OLE DB.
Uwagi
Zmiany są przesyłane przez wywołanie metody IRowsetChangeImpl::FlushData. Użytkownik musi wywołać metodę CRowset::Update , aby zmiany zaczęły obowiązywać. Ustaw wartość prgRowstatus na odpowiednią wartość zgodnie z opisem w temacie Stany wierszy w dokumentacji programisty OLE DB.
IRowsetUpdateImpl::IsUpdateAllowed
Zastąpi tę metodę, aby sprawdzić zabezpieczenia, integralność itd. przed aktualizacjami.
Składnia
HRESULT IsUpdateAllowed(DBPENDINGSTATUS /* [in] */ /* status */,
HROW /* [in] */ /* hRowUpdate */,
DBROWSTATUS* /* [out] */ /* pRowStatus */);
Parametry
status
[in] Stan oczekujących operacji w wierszach.
hRowUpdate
[in] Obsługa wierszy, które użytkownik chce zaktualizować.
pRowStatus
[out] Stan został zwrócony użytkownikowi.
Uwagi
Jeśli ustalisz, że aktualizacja powinna być dozwolona, zwraca S_OK; w przeciwnym razie zwraca E_FAIL. Jeśli zezwolisz na aktualizację, musisz również ustawić DBROWSTATUS
właściwość w pliku IRowsetUpdateImpl::Update na odpowiedni stan wiersza.
IRowsetUpdateImpl::m_mapCachedData
Mapa zawierająca oryginalne dane dla operacji odroczonej.
Składnia
CAtlMap<
HROW hRow,
Storage* pData
>
m_mapCachedData;
Parametry
hRow
Dojmij do wierszy dla danych.
pData
Wskaźnik do danych do buforowania. Dane są typu Storage (klasa rekordu użytkownika). Zobacz argument szablonu usługi Storage w klasie IRowsetUpdateImpl.
Zobacz też
Szablony dostawców OLE DB
Architektura szablonu dostawcy OLE DB
Tworzenie aktualizowalnego dostawcy