Recordset: Sperren von Datensätzen (ODBC)
Dieses Thema bezieht sich auf die MFC-ODBC-Klassen.
In diesem Thema wird Folgendes erläutert:
Die Arten der verfügbaren Datensatzsperre.
So sperren Sie Datensätze während Updates in Ihrem Recordset.
Wenn Sie ein Recordset verwenden, um einen Datensatz in der Datenquelle zu aktualisieren, kann Ihre Anwendung den Datensatz sperren, sodass kein anderer Benutzer den Datensatz gleichzeitig aktualisieren kann. Der Status eines Datensatzes, der von zwei Benutzern gleichzeitig aktualisiert wird, ist nicht definiert, es sei denn, das System kann garantieren, dass zwei Benutzer einen Datensatz nicht gleichzeitig aktualisieren können.
Hinweis
Dieses Thema bezieht sich auf von CRecordset
abgeleitete Objekte, in denen das gesammelte Abrufen von Zeilen nicht implementiert wurde. Wenn Sie das Abrufen von Massenzeilen implementiert haben, gelten einige der Informationen nicht. Beispielsweise können Sie die Edit
Funktionen und Update
Member nicht aufrufen. Weitere Informationen zum Abrufen von Massenzeilen finden Sie unter Recordset: Abrufen von Datensätzen in Massen (ODBC).For more information about bulk row fetching, see Recordset: Fetching Records in Bulk (ODBC).For more information about bulk row fetching, see Recordset: Fetching Records in Bulk (ODBC).For more information
Aufzeichnungssperrmodi
Die Datenbankklassen stellen zwei Datensatzsperrmodi bereit:
Optimistisches Sperren (Standard)
Pessimistische Sperrung
Das Aktualisieren eines Datensatzes erfolgt in drei Schritten:
Sie beginnen den Vorgang, indem Sie die Edit-Memberfunktion aufrufen.
Sie ändern die entsprechenden Felder des aktuellen Datensatzes.
Sie beenden den Vorgang – und übernehmen normalerweise das Update – durch Aufrufen der Update-Memberfunktion .
Optimistisches Sperren sperrt den Datensatz nur während des Update
Anrufs auf der Datenquelle. Wenn Sie die optimistische Sperre in einer Mehrbenutzerumgebung verwenden, sollte die Anwendung eine Update
Fehlerbedingung behandeln. Pessimistische Sperrung sperrt den Datensatz, sobald Sie den Datensatz aufrufen Edit
, und gibt ihn erst wieder frei, wenn Sie anrufen Update
(Fehler werden über den CDBException
Mechanismus angegeben, nicht durch einen Wert von FALSE, von Update
dem zurückgegeben wird). Pessimistische Sperrung hat eine potenzielle Leistungseinbuße für andere Benutzer, da gleichzeitiger Zugriff auf denselben Datensatz möglicherweise bis zum Abschluss des Prozesses Ihrer Anwendung Update
warten muss.
Sperren von Datensätzen in Ihrem Recordset
Wenn Sie den Sperrmodus eines Recordsetobjekts von der Standardeinstellung ändern möchten, müssen Sie den Modus vor dem Aufrufen Edit
ändern.
So ändern Sie den aktuellen Sperrmodus für Ihr Recordset
- Rufen Sie die SetLockingMode-Memberfunktion auf, und geben Sie entweder
CRecordset::pessimistic
oderCRecordset::optimistic
.
Der neue Sperrmodus bleibt wirksam, bis Sie ihn erneut ändern oder das Recordset geschlossen wird.
Hinweis
Relativ wenige ODBC-Treiber unterstützen derzeit pessimistische Sperren.
Siehe auch
Recordset (ODBC)
Recordset: Ausführen eines Join (ODBC)
Recordset: Hinzufügen, Aktualisieren und Löschen von Datensätzen (ODBC)