Freigeben über


CRecordset::Update

Schließt einen AddNew oder Bearbeiten Vorgang durch Speichern der neuen oder geänderten Daten in der Datenquelle.

virtual BOOL Update( );

Rückgabewert

Ungleich 0 (null), wenn ein Datensatz erfolgreich aktualisiert wurde, Andernfalls 0, wenn keine Spalten geändert haben. Wenn keine Datensätze aktualisiert wurden oder wenn mehr als ein Datensatz aktualisiert wurde, wird eine Ausnahme ausgelöst. Eine Ausnahme wird auch für jeden anderen Fehler auf der Datenquelle ausgelöst.

Hinweise

Rufen Sie diese Memberfunktion nach einem Aufruf der AddNew oder Bearbeiten-Memberfunktion auf. Dieser Aufruf ist erforderlich, um den AddNew oder Bearbeiten Vorgang abzuschließen.

Hinweis

Wenn Sie das gesammelte Abrufen von Zeilen implementiert haben, können Sie Update nicht aufrufen.Dies führt zu einem Assertionsfehler.Obwohl Klasse CRecordset keinen Mechanismus zum Aktualisieren von Datenzeilen bereitstellt, können Sie eigene Funktionen schreiben, indem Sie die ODBC-API-Funktion SQLSetPos verwenden.Weitere Informationen über das gesammelte Abrufen von Zeilen, finden Sie im Artikel Recordset: Datensätzen in einer Sammeloperation (ODBC).

Vorbereiten AddNew und Bearbeiten einen Bearbeitungspuffer vor, in dem die hinzugefügten oder geänderten Daten zum Speichern der Datenquelle eingefügt werden. Update speichert die Daten. Nur die Felder, die als geändert gekennzeichnet oder erkannt werden, werden aktualisiert.

Wenn die Datenquelle Transaktionen unterstützt, können Sie den Teil Update Aufrufs (und des entsprechenden AddNew oder Bearbeiten Aufrufs) einer Transaktion ausführen. Weitere Informationen über Transaktionen, finden Sie im Artikel Transaktion (ODBC).

Warnung

Wenn Sie Update aufrufen, ohne die AddNew oder Bearbeiten zuerst aufzurufen, löst UpdateCDBException aus.Wenn Sie AddNew oder Bearbeiten aufrufen, müssen Sie Update aufrufen, bevor Sie einen Move Vorgang aufrufen, oder bevor Sie entweder das Recordset oder die Datenquellenverbindung schließen.Andernfalls sind die Änderungen ohne Benachrichtigung verloren.

Ausführliche Informationen zum Behandeln von Fehlern, Update finden Sie im Artikel Recordset: Datensatzaktualisierung durch Recordsets (ODBC).

Ausnahmen

Diese Methode kann Ausnahmen des Typs CDBException* auslösen.

Beispiel

Weitere Informationen finden Sie im Artikel Transaktion: Eine Transaktion in einem Recordset ausführen (ODBC).

Anforderungen

Header: afxdb.h

Siehe auch

Referenz

CRecordset-Klasse

Hierarchiediagramm

CRecordset::Edit

CRecordset::AddNew

CRecordset::SetFieldDirty

CDBException-Klasse