IRowsetChangeImpl-Klasse
Die OLE DB-Vorlagenimplementierung der IRowsetChange-Schnittstelle in der OLE DB-Spezifikation.
Syntax
template <
class T,
class Storage,
class BaseInterface = IRowsetChange,
class RowClass = CSimpleRow,
class MapClass = CAtlMap <RowClass::KeyType, RowClass*>>
class ATL_NO_VTABLE IRowsetChangeImpl : public BaseInterface
Parameter
T
Eine von IRowsetChangeImpl
.
Storage
Der Benutzerdatensatz.
BaseInterface
Die Basisklasse für die Schnittstelle, z IRowsetChange
. B. .
RowClass
Die Speichereinheit für den Zeilenziehpunkt.
MapClass
Die Speichereinheit für alle Zeilenhandles, die vom Anbieter gehalten werden.
Anforderungen
Header: „atldb.h“
Member
Schnittstellenmethoden (verwendet mit IRowsetChange)
Name | Beschreibung |
---|---|
DeleteRows | Löscht Zeilen aus dem Rowset. |
InsertRow | Fügt eine Zeile in das Rowset ein. |
SetData | Legt Datenwerte in einer oder mehreren Spalten fest. |
Implementierungsmethode (Callback)
Name | Beschreibung |
---|---|
FlushData | Wird vom Anbieter überschrieben, um Daten in den Speicher zu übernehmen. |
Hinweise
Diese Schnittstelle ist für sofortige Schreibvorgänge in einen Datenspeicher verantwortlich. "Unmittelbar" bedeutet, dass diese Änderungen sofort an den Datenspeicher übermittelt werden (und nicht rückgängig gemacht werden können), wenn der Endbenutzer (die Person, die den Verbraucher verwendet) änderungen vorgibt.
IRowsetChangeImpl
implementiert die OLE DB-Schnittstelle IRowsetChange
, die das Aktualisieren von Werten von Spalten in vorhandenen Zeilen, Löschen von Zeilen und Einfügen neuer Zeilen ermöglicht.
Die OLE DB-Vorlagenimplementierung unterstützt alle Basismethoden (SetData
, InsertRow
und DeleteRows
).
Wichtig
Es wird dringend empfohlen, die folgende Dokumentation zu lesen, BEVOR Sie versuchen, Ihren Anbieter zu implementieren:
Kapitel 6 der OLE DB-Programmierreferenz
Sehen Sie sich auch an, wie die
RUpdateRowset
Klasse im UpdatePV-Beispiel verwendet wird.
IRowsetChangeImpl::DeleteRows
Löscht Zeilen aus dem Rowset.
Syntax
STDMETHOD (DeleteRows )(HCHAPTER /* hReserved */,
DBCOUNTITEM cRows,
const HROW rghRows[],
DBROWSTATUS rgRowStatus[]);
Parameter
Siehe "IRowsetChange::D eleteRows " in der OLE DB-Programmierreferenz.
IRowsetChangeImpl::InsertRow
Erstellt und initialisiert eine neue Zeile im Rowset.
Syntax
STDMETHOD (InsertRow )(HCHAPTER /* hReserved */,
HACCESSOR hAccessor,
void* pData,
HROW* phRow);
Parameter
Siehe IRowsetChange::InsertRow in der OLE DB-Programmierreferenz.
IRowsetChangeImpl::SetData
Legt Datenwerte in einer oder mehreren Spalten fest.
Syntax
STDMETHOD (SetData )(HROW hRow,
HACCESSOR hAccessor,
void* pSrcData);
Parameter
Siehe "IRowsetChange::SetData " in der OLE DB-Programmierreferenz.
IRowsetChangeImpl::FlushData
Wird vom Anbieter überschrieben, um Daten in den Speicher zu übernehmen.
Syntax
HRESULT FlushData(HROW hRowToFlush,
HACCESSOR hAccessorToFlush);
Parameter
hRowToFlush
[in] Behandeln Sie die Zeilen für die Daten. Der Typ dieser Zeile wird aus dem RowClass-Vorlagenargument der IRowsetImpl
Klasse (CSimpleRow
standardmäßig) bestimmt.
hAccessorToFlush
[in] Behandeln Sie den Accessor, der Bindungsinformationen und Typinformationen enthält PROVIDER_MAP
(siehe IAccessorImpl).
Rückgabewert
Ein Standard-HRESULT.
Siehe auch
OLE DB-Anbietervorlagen
Architektur von OLE DB-Anbietervorlagen