Freigeben über


Recordset: Erneutes Abfragen eines Recordsets (ODBC)

Aktualisiert: November 2007

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

In diesem Thema wird erläutert, wie Sie ein Recordset-Objekt durch Aufruf seiner Requery-Memberfunktion dazu verwenden können, sich selbst in der Datenbank neu abzufragen (zu aktualisieren).

Die Hauptgründe für die Neuabfrage eines Recordsets sind:

  • Die von Ihnen oder anderen Benutzern neu hinzugefügten und gelöschten Datensätze sollen richtig angezeigt werden (die gelöschten Datensätze werden bereits richtig im Recordset widergespiegelt).

  • Das Recordset soll aufgrund geänderter Parameterwerte aktualisiert werden.

Aktualisieren des Recordsets

Sie werden das Recordset-Objekt gelegentlich neu abfragen müssen, um es zu aktualisieren. In einer Mehrbenutzerdatenbankumgebung können andere Benutzer innerhalb der Lebensdauer des Recordsets Änderungen an den Daten vornehmen. Weitere Informationen darüber, wann das Recordset von anderen Benutzern vorgenommene Änderungen widerspiegelt und wann im Gegenzug von Ihnen vorgenommene Änderungen in den Recordsets anderer Benutzer widergespiegelt werden, finden Sie in unter Recordset: Datensatzaktualisierung durch Recordsets (ODBC) und Dynaset.

Neuabfragen mit geänderten Parameterwerten

Ein anderer wichtiger Verwendungszweck für Requery ist das Auswählen einer neuen Gruppe von Datensätzen, wenn sich Parameterwerte geändert haben.

Tipp:

Die Geschwindigkeit der Abfrage ist wahrscheinlich wesentlich größer, wenn Sie Requery mit geänderten Parameterwerten aufrufen, als dies bei einem erneuten Aufruf von Open der Fall ist.

Neuabfragen von Dynasets und Snapshots

Da Dynasets eine Gruppe von Datensätzen mit dynamischen, aktuellen Daten repräsentieren sollen, werden Sie Dynasets häufig abfragen, um die Ergänzungen anderer Benutzer widerzuspiegeln. Snapshots sind dagegen insofern praktisch, als Sie sich darauf verlassen können, dass ihr Inhalt gleich bleibt, während Sie Berichte erstellen, Summen berechnen usw. Trotzdem gibt es gelegentlich die Notwendigkeit, auch einen Snapshot neu abzufragen. In einer Mehrbenutzerumgebung kann bei Snapshotdaten die Synchronisierung mit der Datenquelle verloren gehen, wenn andere Benutzer die Datenbank ändern.

So fragen Sie ein Recordset-Objekt neu ab

  • Rufen Sie die Requery-Memberfunktion des Objekts auf.

Alternativ können Sie auch das ursprüngliche Recordset schließen und erneut öffnen. In beiden Fällen repräsentiert das neue Recordset den aktuellen Zustand der Datenquelle.

Ein Beispiel hierzu finden Sie unter Füllen eines Listenfelds aus einem zweiten Recordset.

Tipp:

Zur Optimierung der Requery-Leistung vermeiden Sie Änderungen am Filter oder der Sortierung des Recordsets. Ändern Sie vor dem Aufruf von Requery ausschließlich den Parameterwert.

Wenn beim Aufruf von Requery ein Fehler auftritt, können Sie versuchen, den Aufruf noch einmal durchzuführen. Andernfalls sollte die Anwendung ordnungsgemäß beendet werden. Beim Aufruf von Requery oder Open kann eine ganze Reihe von Fehlern auftreten. Es kann z. B. ein Netzwerkfehler auftreten oder zwischen dem Zeitpunkt, an dem die alten Daten verworfen werden und dem Zeitpunkt, an dem die neuen Daten abgerufen werden, könnte ein anderer Benutzer den exklusiven Zugriff erhalten. Die Tabelle, auf die sich das Recordset bezieht, könnte jedoch auch gelöscht werden.

Siehe auch

Konzepte

Recordset (ODBC)

Recordset: Dynamisches Binden von Datenspalten (ODBC)

Recordset: Erstellen und Schließen von Recordsets (ODBC)