Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Eine Momentaufnahme ist ein Recordset, das eine statische Ansicht der Daten widerspiegelt, wie sie zum Zeitpunkt der Erstellung der Momentaufnahme vorhanden ist. Wenn Sie die Momentaufnahme öffnen und zu allen Datensätzen wechseln, ändern sich die darin enthaltenen Datensätze und deren Werte nicht, bis Sie die Momentaufnahme durch Aufrufen von Requery neu erstellen.
Hinweis
Dieses Thema bezieht sich auf die MFC-ODBC-Klassen. Wenn Sie die MFC DAO-Klassen anstelle der MFC ODBC-Klassen verwenden, lesen Sie CDaoRecordset::Open für eine Beschreibung von Recordsets vom Typ Snapshot.
Sie können aktualisierbare oder schreibgeschützte Momentaufnahmen mit den Datenbankklassen erstellen. Im Gegensatz zu einem Dynaset spiegelt eine aktualisierbare Momentaufnahme keine Änderungen an Datensatzwerten wider, die von anderen Benutzern vorgenommen wurden, es spiegelt jedoch Aktualisierungen und Löschungen wider, die von Ihrem Programm vorgenommen wurden. Datensätze, die einem Schnappschuss hinzugefügt wurden, werden erst dann für den Schnappschuss sichtbar, wenn Sie Requery aufrufen.
Tipp
Eine Momentaufnahme ist ein statischer ODBC-Cursor. Statische Cursor erhalten erst dann eine Datenzeile, wenn Sie zu diesem Datensatz scrollen. Um sicherzustellen, dass alle Datensätze sofort abgerufen werden, können Sie bis zum Ende des Recordsets scrollen und dann zum ersten Datensatz scrollen, den Sie sehen möchten. Beachten Sie jedoch, dass das Scrollen am Ende zusätzlichen Aufwand und eine geringere Leistung zur Folge hat.
Momentaufnahmen sind am wertvollsten, wenn die Daten während Ihrer Vorgänge unverändert bleiben müssen, zum Beispiel, wenn Sie einen Bericht generieren oder Berechnungen durchführen. Dennoch kann die Datenquelle von Zeit zu Zeit erheblich von Ihrer Momentaufnahme abweichen, sodass Sie sie von Zeit zu Zeit neu erstellen möchten.
Die Snapshot-Unterstützung basiert auf der ODBC-Cursorbibliothek, die statische Cursor und positionierte Updates (erforderlich für die Aktualisierbarkeit) für jeden Level-1-Treiber bereitstellt. Die Cursorbibliothek-DLL muss im Arbeitsspeicher für diese Unterstützung geladen werden. Wenn Sie ein CDatabase Objekt erstellen und dessen OpenEx Memberfunktion aufrufen, müssen Sie die CDatabase::useCursorLib Option des dwOptions-Parameters angeben. Wenn Sie die Memberfunktion aufrufen, wird die Open Cursorbibliothek standardmäßig geladen. Wenn Sie Dynasets anstelle von Momentaufnahmen verwenden, möchten Sie nicht bewirken, dass die Cursorbibliothek geladen wird.
Momentaufnahmen sind nur verfügbar, wenn die ODBC-Cursorbibliothek geladen wurde, wenn das CDatabase Objekt erstellt wurde oder der von Ihnen verwendete ODBC-Treiber statische Cursor unterstützt.
Hinweis
Bei einigen ODBC-Treibern können Momentaufnahmen (statische Cursor) möglicherweise nicht aktualisiert werden. Überprüfen Sie ihre Treiberdokumentation auf unterstützte Cursortypen und die unterstützten Parallelitätstypen. Um aktualisierbare Momentaufnahmen zu gewährleisten, stellen Sie sicher, dass Sie die Cursorbibliothek beim Erstellen eines CDatabase Objekts in den Arbeitsspeicher laden. Weitere Informationen finden Sie unter ODBC: Die ODBC-Cursorbibliothek.
Hinweis
Wenn Sie sowohl Momentaufnahmen als auch Dynasets verwenden möchten, müssen Sie diese auf zwei verschiedenen CDatabase Objekten (zwei verschiedene Verbindungen) basieren.
Weitere Informationen zu den Schnappschusseigenschaften, die für alle Recordsets freigegeben sind, finden Sie unter Recordset (ODBC). Weitere Informationen zu ODBC und Momentaufnahmen, einschließlich der ODBC-Cursorbibliothek, finden Sie unter ODBC.