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, InsertRowund DeleteRows).

Wichtig

Es wird dringend empfohlen, die folgende Dokumentation zu lesen, BEVOR Sie versuchen, Ihren Anbieter zu implementieren:

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