Freigeben über


Recordset: Sperren von Datensätzen (ODBC)

Dieses Thema bezieht sich auf die MFC-ODBC-Klassen.

In diesem Thema wird Folgendes erläutert:

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:

  1. Sie beginnen den Vorgang, indem Sie die Edit-Memberfunktion aufrufen.

  2. Sie ändern die entsprechenden Felder des aktuellen Datensatzes.

  3. 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 Updatedem 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

  1. Rufen Sie die SetLockingMode-Memberfunktion auf, und geben Sie entweder CRecordset::pessimistic oder CRecordset::optimistic.

Der neue Sperrmodus wird wieder Standard 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)