Recordset: Datensatzaktualisierung durch Recordsets (ODBC)
Dieses Thema bezieht sich auf die MFC-ODBC-Klassen.
Neben der Möglichkeit, Datensätze aus einer Datenquelle auszuwählen, können Recordsets die ausgewählten Datensätze aktualisieren oder löschen oder neue Datensätze hinzufügen. Drei Faktoren bestimmen die Aktualisierungsfähigkeit eines Recordsets: Ob die verbundene Datenquelle aktualisiert werden kann, die Optionen, die Sie beim Erstellen eines Recordsetobjekts angeben, und die sql, die erstellt wird.
Hinweis
Die SQL,auf der Ihr CRecordset
Objekt basiert, kann sich auf die Aktualisierung des Recordsets auswirken. Wenn Ihre SQL z. B. eine Verknüpfung oder eine GROUP BY-Klausel enthält, legt MFC die Aktualisierungsfähigkeit auf FALSE fest.
Hinweis
Dieses Thema bezieht sich auf von CRecordset
abgeleitete Objekte, in denen das gesammelte Abrufen von Zeilen nicht implementiert wurde. Wenn Sie massenweises Abrufen von Zeilen verwenden, lesen Sie "Recordset: Fetching Records in Bulk (ODBC)".
In diesem Thema wird Folgendes erläutert:
Ihre Rolle beim Aktualisieren des Recordsets und der Funktionsweise des Frameworks.
Das Recordset als Bearbeitungspuffer und die Unterschiede zwischen Dynasets und Momentaufnahme s.
Recordset: How AddNew, Edit, and Delete Work (ODBC) beschreibt die Aktionen dieser Funktionen aus sicht des Recordsets.
Recordset: Weitere Informationen zu Updates (ODBC) schließt den Datensatzaktualisierungsabschnitt ab, indem erläutert wird, wie Sich Transaktionen auf Updates auswirken, wie sich das Schließen eines Recordsets oder bildlaufs auf aktuelle Updates auswirkt und wie Ihre Updates mit den Updates anderer Benutzer interagieren.
Ihre Rolle beim Aktualisieren des Recordsets
Die folgende Tabelle zeigt Ihre Rolle bei der Verwendung von Recordsets zum Hinzufügen, Bearbeiten oder Löschen von Datensätzen zusammen mit dem, was das Framework für Sie tut.
Recordset-Aktualisierung: Sie und das Framework
Sie | Das Framework |
---|---|
Bestimmen Sie, ob die Datenquelle aktualisiert werden kann (oder anfügebar). | Stellt CDatabase-Memberfunktionen zum Testen der Aktualisierungs- oder Anfügebarkeit der Datenquelle zur Anwendung. |
Öffnen Sie ein aktualisierbares Recordset (beliebiger Typ). | |
Bestimmen Sie, ob das Recordset aktualisierbar ist, indem Sie CRecordset Aktualisierungsfunktionen wie CanUpdate oder CanAppend . |
|
Rufen Sie Recordset-Memberfunktionen auf, um Datensätze hinzuzufügen, zu bearbeiten und zu löschen. | Verwaltet die Mechanismen des Austauschs von Daten zwischen dem Recordset-Objekt und der Datenquelle. |
Verwenden Sie optional Transaktionen, um den Aktualisierungsprozess zu steuern. | Stellt CDatabase Memberfunktionen zur Unterstützung von Transaktionen bereit. |
Weitere Informationen zu Transaktionen finden Sie unter Transaction (ODBC).For more information about transactions, see Transaction (ODBC).
Der Bearbeitungspuffer
Zusammen dienen die Felddatenmember eines Recordsets als Bearbeitungspuffer, der einen Datensatz enthält – den aktuellen Datensatz. Aktualisierungsvorgänge verwenden diesen Puffer, um mit dem aktuellen Datensatz zu arbeiten.
Wenn Sie einen Datensatz hinzufügen, wird der Bearbeitungspuffer verwendet, um einen neuen Datensatz zu erstellen. Wenn Sie mit dem Hinzufügen des Datensatzes fertig sind, wird der datensatz, der zuvor aktuell war, wieder aktuell.
Wenn Sie einen Datensatz aktualisieren (bearbeiten), wird der Bearbeitungspuffer verwendet, um die Felddatenmember des Recordsets auf neue Werte festzulegen. Wenn Sie die Aktualisierung abgeschlossen haben, ist der aktualisierte Datensatz immer noch aktuell.
Wenn Sie AddNew oder Edit aufrufen, wird der aktuelle Datensatz gespeichert, damit er später nach Bedarf wiederhergestellt werden kann. Wenn Sie "Delete" aufrufen, wird der aktuelle Datensatz nicht gespeichert, sondern als gelöscht markiert, und Sie müssen zu einem anderen Datensatz scrollen.
Hinweis
Der Bearbeitungspuffer spielt keine Rolle beim Löschen von Datensätzen. Wenn Sie den aktuellen Datensatz löschen, wird der Datensatz als gelöscht markiert, und das Recordset befindet sich "nicht in einem Datensatz", bis Sie zu einem anderen Datensatz scrollen.
Dynasets und Momentaufnahmen
Dynasets aktualisieren den Inhalt eines Datensatzes, während Sie zum Datensatz scrollen. Momentaufnahmen sind statische Darstellungen der Datensätze, sodass der Inhalt eines Datensatzes nur aktualisiert wird, wenn Sie Requery aufrufen. Um alle Funktionen von Dynasets zu verwenden, müssen Sie mit einem ODBC-Treiber arbeiten, der der richtigen Ebene der ODBC-API-Unterstützung entspricht. Weitere Informationen finden Sie unter ODBC und Dynaset.
Siehe auch
Recordset (ODBC)
Recordset: Funktionsweise von AddNew, Edit und Delete (ODBC)