Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Een momentopname is een recordset die een statische weergave van de gegevens weerspiegelt zoals deze bestond op het moment dat de momentopname werd gemaakt. Wanneer u de momentopname opent en naar alle records gaat, worden de recordset die deze bevat en de bijbehorende waarden pas gewijzigd wanneer u de momentopname opnieuw opbouwt door aan te roepen Requery.
Opmerking
Dit onderwerp is van toepassing op de MFC ODBC-klassen. Als u de MFC DAO-klassen gebruikt in plaats van de MFC ODBC-klassen, raadpleegt u CDaoRecordset::Open voor een beschrijving van recordsets van het type momentopname.
U kunt bijwerkbare of alleen-lezen momentopnamen maken met de databaseklassen. In tegenstelling tot een dynaset geeft een bijwerkbare momentopname geen wijzigingen weer in de recordwaarden die door andere gebruikers zijn gemaakt, maar wel updates en verwijderingen die door uw programma zijn aangebracht. Records toegevoegd aan een momentopname worden pas zichtbaar voor de momentopname wanneer u Requery aanroept.
Aanbeveling
Een momentopname is een statische ODBC-cursor. Statische cursors krijgen pas een rij met gegevens als u naar die record schuift. Om ervoor te zorgen dat alle records onmiddellijk worden opgehaald, kunt u naar het einde van de recordset schuiven en vervolgens naar de eerste record schuiven die u wilt zien. Houd er echter rekening mee dat het schuiven naar het einde extra overhead met zich meebrengt en de prestaties kan verlagen.
Momentopnamen zijn het meest waardevol wanneer u de gegevens nodig hebt om vast te blijven tijdens uw bewerkingen, zoals wanneer u een rapport genereert of berekeningen uitvoert. Toch kan de gegevensbron aanzienlijk afwijken van uw momentopname, zodat u deze mogelijk van tijd tot tijd opnieuw wilt opbouwen.
Ondersteuning voor momentopnamen is gebaseerd op de ODBC Cursor-bibliotheek, die statische cursors en positioned updates (nodig voor updatebaarheid) biedt voor elk stuurprogramma op niveau 1. De DLL van de cursorbibliotheek moet voor deze ondersteuning in het geheugen worden geladen. Wanneer u een CDatabase object maakt en de lidfunctie aanroept OpenEx , moet u de CDatabase::useCursorLib optie van de dwOptions-parameter opgeven. Als u de Open lidfunctie aanroept, wordt de cursorbibliotheek standaard geladen. Als u dynasets gebruikt in plaats van momentopnamen, wilt u niet dat de cursorbibliotheek wordt geladen.
Momentopnamen zijn alleen beschikbaar als de ODBC-cursorbibliotheek is geladen toen het CDatabase object werd gemaakt of het ODBC-stuurprogramma dat u gebruikt, statische cursors ondersteunt.
Opmerking
Voor sommige ODBC-stuurprogramma's kunnen momentopnamen (statische cursors) mogelijk niet worden bijgewerkt. Raadpleeg de documentatie van uw stuurprogramma voor ondersteunde cursortypen en de gelijktijdigheidstypen die ze ondersteunen. Als u bijwerkbare momentopnamen wilt garanderen, moet u de cursorbibliotheek in het geheugen laden wanneer u een CDatabase object maakt. Zie ODBC: De ODBC-cursorbibliotheek voor meer informatie.
Opmerking
Als u zowel momentopnamen als dynasets wilt gebruiken, moet u deze baseren op twee verschillende CDatabase objecten (twee verschillende verbindingen).
Zie Recordset (ODBC) voor meer informatie over eigenschapssnapshots die met alle recordsets worden gedeeld. Zie ODBC voor meer informatie over ODBC en momentopnamen, waaronder de ODBC Cursor Library.