CRecordset:: Update

virtuelle BOOL Update ( );
werfen ( CDBException );

Rückgabewert

Ungleich NULL, wenn ein Datensatz erfolgreich aktualisiert wurde; andernfalls 0, wenn keine Spalten geändert haben. Wenn keine Zeilen aktualisiert wurden, oder wenn mehr als ein Datensatz aktualisiert wurde, wird eine Ausnahme ausgelöst. Eine Ausnahme wird auch ausgelöst für einen beliebigen anderen Fehler in der Datenquelle.

Bemerkungen

Rufen Sie diese Memberfunktion nach einem Aufruf der Memberfunktion AddNew oder Bearbeiten . Dieser Aufruf ist erforderlich zum Abschließen des Vorgangs AddNew oder Bearbeiten.

Hinweis&Nbsp;  Wenn Sie das gesammelte Abrufen von Zeilen implementiert haben, können nicht Sie Updateaufrufen. Dadurch wird eine Assertionsmeldung. Obwohl CRecordset -Klasse nicht über einen Mechanismus zum Aktualisieren von Zeilen Massenkopieren von Daten bereitstellt, können Sie eigene Funktionen schreiben, mithilfe der ODBC-API-Funktion SQLSetPos. Ein Beispiel für wie Sie dies tun, finden Sie im Beispiel DBFETCH. Weitere Informationen über gesammelte finden Sie im Artikel Recordset: Abrufen von Datensätzen in einer Sammeloperation (ODBC) im Visual C++ Programmer's Guide.

Sowohl AddNew und Edit bereiten einen Bearbeitungspuffer, in dem die hinzugefügten oder bearbeiteten Daten platziert werden, für das Speichern in der Datenquelle. Update speichert die Daten. Nur die Felder gekennzeichnet oder als geändert erkannt werden aktualisiert.

Wenn die Datenquelle Transaktionen unterstützt, können Sie die Update -Aufruf (und seine entsprechende AddNew oder Bearbeiten aufrufen) Teil einer Transaktion. Weitere Informationen über Transaktionen finden Sie im Artikel Transaktion (ODBC) im Visual C++ Programmer's Guide.

Vorsicht&Nbsp;  Wenn Sie Update ohne aufrufen, löst ein Aufruf zuerst entweder AddNew oder Edit, Update eine CDBException. Wenn Sie AddNew oder Editaufrufen, müssen Sie Update aufrufen vor dem Aufruf einer Move -Operation oder vor dem Schließen Sie entweder das Recordset oder die Datenquellenverbindung. Andernfalls gehen Ihre Änderungen verloren ohne Benachrichtigung.

Informationen zum Behandeln von Update -Fehlern finden Sie im Artikel Recordset: Datensatzaktualisierung durch Recordsets (ODBC) im Visual C++ Programmer's Guide.

Beispiel

Finden Sie im Artikel Transaktion: Ausführen einer Transaktion in einem Recordset (ODBC) im Visual C++ Programmer's Guide.

CRecordset ÜbersichtMember der Klasse | Hierarchiediagramm

Siehe auch&Nbsp;CRecordset::Edit, CRecordset::AddNew, CRecordset::SetFieldDirty, CDBException

Index