IRowsetFastLoad::InsertRow (OLE DB)
Fügt dem Rowset für das Massenkopieren eine Zeile hinzu.
Syntax
HRESULT InsertRow(
HACCESSOR hAccessor,
void* pData);
Argumente
hAccessor[in]
Das Handle des Accessors, der die Zeilendaten für das Massenkopieren definiert. Der Accessor, auf den verwiesen wird, ist ein Zeilenaccessor, der den consumer-eigenen Speicher bindet, in dem sich die Datenwerte befinden.pData[in]
Ein Zeiger zum consumer-eigenen Speicher, in dem sich die Datenwerte befinden. Weitere Informationen finden Sie unter DBBINDING-Strukturen.
Rückgabecodewerte
S_OK
Die Methode wurde erfolgreich ausgeführt. Alle gebundenen Statuswerte für alle Spalten weisen den Wert DBSTATUS_S_OK oder DBSTATUS_S_NULL auf.E_FAIL
Ein Fehler ist aufgetreten. Fehlerinformationen sind über die Fehlerschnittstellen des Rowsets verfügbar.E_INVALIDARG
Das pData-Argument wurde auf einen NULL-Zeiger festgelegt.E_OUTOFMEMORY
SQLNCLI10 konnte keinen ausreichenden Arbeitsspeicher zum Ausführen der Anfrage zuordnen.E_UNEXPECTED
Die Methode wurde für ein Rowset für das Massenkopieren aufgerufen, das zuvor von der IRowsetFastLoad::Commit-Methode für ungültig erklärt wurde.DB_E_BADACCESSORHANDLE
Das vom Consumer bereitgestellte hAccessor-Argument ist ungültig.DB_E_BADACCESSORTYPE
Der angegebene Accessor war kein Zeilenaccessor oder hat keinen consumer-eigenen Arbeitsspeicher angegeben.
Hinweise
Ein Fehler bei der Konvertierung der Consumerdaten in den SQL Server-Datentyp einer Spalte ruft eine E_FAIL-Rückgabe durch den SQL Server Native Client-OLE DB-Anbieter hervor. Die Daten können entweder über eine beliebige InsertRow-Methode oder nur über die Commit-Methode an SQL Server übertragen werden. lDie Consumer-Anwendung kann die InsertRow-Methode mehrere Male mit fehlerhaften Daten aufrufen, bevor eine Meldung eintrifft, dass die Daten nicht korrekt sind. Die Commit-Methode gewährleistet, dass alle Daten ordnungsgemäß vom Consumer angegeben werden. Der Consumer kann die Commit-Methode gegebenenfalls verwenden, um die Daten zu überprüfen.
Die Massenkopiervorgänge des SQL Server Native Client-OLE DB-Anbieters erlauben nur den Schreibzugriff. Der SQL Server Native Client-OLE DB-Anbieter macht keine Methoden verfügbar, die Abfragen von Consumern hinsichtlich des Rowsets verfügbar machen. Um die Verarbeitung zu beenden, kann der Consumer seine Verweise auf die IRowsetFastLoad-Schnittstelle ohne die Commit-Methode senden. Es gibt keine Möglichkeit, auf von Consumern eingefügte Zeilen im Rowset zuzugreifen und deren Werte zu ändern oder diese einzeln aus dem Rowset zu entfernen.
Massenkopierte Zeilen werden auf dem Server für SQL Server formatiert. Das Zeilenformat entspricht den Optionen, die eventuell für die Verbindung oder die Sitzung festgelegt wurden, wie z. B. ANSI_PADDING. Diese Option ist standardmäßig für alle über den SQL Server Native Client-OLE DB-Anbieter angebotenen Verbindungen aktiviert.