CDaoRecordset::Edit

virtuelle void bearbeiten ();
Werfen Sie (CDaoException, CMemoryException);

Bemerkungen

Rufen Sie diese Memberfunktion um Änderungen am aktuellen Datensatz zu ermöglichen.

Sobald Sie die Edit -Memberfunktion aufrufen, werden Änderungen an Felder im aktuellen Datensatz in den Kopierpuffer kopiert. Nachdem Sie die gewünschten Änderungen auf den Datensatz haben, rufen Sie Update um Ihre Änderungen zu speichern. Bearbeiten , speichert die Werte von Datenmembern des Recordsets. Wenn Sie Bearbeiten aufrufen, Änderungen vornehmen, dann erneut Bearbeiten rufen , werden die Werte des Datensatzes wiederhergestellt, was sie vor dem ersten Aufruf von Bearbeiten waren.

Vorsicht&Nbsp;  Wenn Sie einen Datensatz bearbeiten, und führen Sie dann jede Operation, die zu einem anderen Datensatz ohne ersten Aufruf von Updatewird verschoben, gehen Ihre Änderungen verloren ohne Vorwarnung. Zusätzlich, wenn Sie das Recordset oder der übergeordneten Datenbank schließen, wird der bearbeitete Datensatz ohne Warnung verworfen.

In einigen Fällen können Sie eine Spalte aktualisieren, indem es Null (enthält keine Daten) zu machen. Hierzu rufen Sie SetFieldNull mit einem Parameter von TRUE , markieren Sie das Feld Null; Dies führt dazu, dass die Spalte aktualisiert werden. Möchten Sie ein Feld in der Datenquelle geschrieben werden, auch wenn der Wert nicht geändert hat, rufen Sie SetFieldDirty mit einem Parameter von TRUE. Dies funktioniert auch, wenn das Feld den Wert Null hatte.

Die Rahmen-Marken geändert Felddatenmember, um sicherzustellen, dass sie zu dem Datensatz in der Datenquelle von der DAO-Mechanismus Record Field Exchange (DFX) geschrieben werden. Ändern des Werts eines Felds in der Regel setzt das Feld schmutzig automatisch, so dass Sie selten SetFieldDirty selbst aufrufen müssen, aber manchmal möchten Sie sicherstellen, dass die Spalten explizit aktualisiert oder eingefügt, unabhängig davon, welcher Wert im Feld-Datenmember ist. Der DFX-Mechanismus beschäftigt auch die Verwendung von PSEUDO-NULL. Weitere Informationen finden Sie unter CDaoFieldExchange::m_nOperation.

Wenn der Doppelpufferung Mechanismus nicht verwendet wird, wird dann den Wert des Feldes ändern nicht automatisch das Feld als schmutzig festgelegt. In diesem Fall werden es ausdrücklich festlegen Feld verschmutzt. Die Flagge enthalten in M_bCheckCacheForDirtyFields Steuerelemente, diese automatische Feld-Überprüfung.

Wenn das Recordset-Objekt in einer Mehrbenutzerumgebung pessimistisch gesperrt ist, die Aufzeichnung Überreste aus der Zeit Bearbeiten gesperrt werden bis die Aktualisierung abgeschlossen ist. Wenn das Recordset optimistisch gesperrt ist, wird der Datensatz gesperrt und im Vergleich zu den vorherigen Datensatz, kurz bevor es in der Datenbank aktualisiert wird. Wenn der Datensatz geändert hat, da Sie Bearbeitenaufgerufen, der Update -Vorgang fehlschlägt und MFC wird eine Ausnahme ausgelöst. Sie können das Sperrverhalten mit SetLockingMode ändern.

Hinweis&Nbsp;  Optimistische Sperren wird immer auf externe Datenbankformate, wie z. B. ODBC und installierbare ISAM verwendet.

Der aktuelle Datensatz bleibt aktuelle nach dem Aufruf von Bearbeiten. Zum Bearbeitenaufrufen, muss es ein aktuellen Datensatz. Wenn es kein aktueller Datensatz ist oder das Recordset nicht zu einer geöffneten Tabelle-Typ oder vom Typ Dynaset-Recordset-Objekt verweist, tritt eine Ausnahme auf. Bearbeiten der Aufruf führt eine CDaoException unter folgenden Bedingungen ausgelöst werden:

Wenn die Datenquelle Transaktionen unterstützt, stellen Sie die Bearbeiten Teil einer Transaktion aufrufen. Beachten Sie, dass Sie CDaoWorkspace::BeginTrans aufrufen soll, vor dem Aufruf von Bearbeiten und nachdem das Recordset geöffnet wurde. Beachten Sie auch, dass aufrufen CDaoWorkspace::CommitTrans kein Ersatz für das Aufrufen von Update zum Abschließen des Vorgangs zu bearbeiten ist. Weitere Informationen über Transaktionen finden Sie unter Klasse CDaoWorkspace.

Weitere Informationen zum Aktualisieren von Daten finden Sie im Artikel DAO-Recordset: Recordset-Operationen im Visual C++ Programmer's Guide. Weitere Informationen finden Sie unter die Themen "AddNew-Methode", "Edit Method", "Delete-Methode", "Update-Methode" und "Updatable-Eigenschaft" in der DAO-Hilfe.

CDaoRecordset ÜbersichtMember der Klasse | Hierarchiediagramm

Siehe auch&Nbsp;CDaoRecordset::AddNew, CDaoRecordset::CancelUpdate, CDaoRecordset::CanTransact, CDaoRecordset::Delete, CDaoRecordset::Update

Index