Dela via


Ögonblicksbild

En ögonblicksbild är en postuppsättning som återspeglar en statisk vy över data som den fanns när ögonblicksbilden skapades. När du öppnar ögonblicksbilden och flyttar till alla poster, ändras inte den uppsättning poster som den innehåller och deras värden förrän du återskapar ögonblicksbilden genom att anropa Requery.

Anmärkning

Det här avsnittet gäller för MFC ODBC-klasserna. Om du använder MFC DAO-klasserna i stället för MFC ODBC-klasserna kan du läsa CDaoRecordset::Öppna för en beskrivning av postuppsättningar av ögonblicksbildstyp.

Du kan skapa uppdateringsbara eller skrivskyddade ögonblicksbilder med databasklasserna. Till skillnad från en dynaset återspeglar en uppdateringsbar ögonblicksbild inte ändringar i postvärden som gjorts av andra användare, men den återspeglar uppdateringar och borttagningar som gjorts av ditt program. Poster som läggs till i en snapshot blir inte synliga för snapshoten förrän du anropar Requery.

Tips/Råd

En ögonblicksbild är en statisk ODBC-markör. Statiska markörer får faktiskt inte en rad med data förrän du bläddrar till posten. För att säkerställa att alla poster hämtas omedelbart, kan du skrolla till slutet av postlistan och sedan till den första posten som du vill se. Observera dock att rullning till slutet medför extra omkostnader och kan sänka prestandan.

Ögonblicksbilder är mest värdefulla när du behöver att data förblir fasta under dina åtgärder, som när du genererar en rapport eller utför beräkningar. Trots detta kan datakällan skilja sig avsevärt från ögonblicksbilden, så du kanske vill återskapa den då och då.

Snapshot-stöd baseras på ODBC Cursor Library, som tillhandahåller statiska markörer och positionerade uppdateringar (behövda för uppdateringsbarhet) för alla nivå 1-drivrutiner. Markörbibliotekets DLL måste läsas in i minnet för det här stödet. När du skapar ett CDatabase objekt och anropar dess OpenEx medlemsfunktion måste du ange CDatabase::useCursorLib alternativet för parametern dwOptions . Om du anropar medlemsfunktionen Open läses markörbiblioteket in som standard. Om du använder "dynasets" i stället för "snapshots" vill du undvika att markörbiblioteket laddas in.

Ögonblicksbilder är endast tillgängliga om ODBC-markörbiblioteket lästes in när CDatabase objektet skapades eller om ODBC-drivrutinen som du använder stöder statiska markörer.

Anmärkning

För vissa ODBC-drivrutiner kanske ögonblicksbilder (statiska markörer) inte kan uppdateras. Kontrollera drivrutinsdokumentationen för de markörtyper som stöds och vilka samtidighetstyper de stöder. Kontrollera att du läser in markörbiblioteket i minnet när du skapar ett CDatabase objekt för att garantera uppdateringsbara ögonblicksbilder. Mer information finns i ODBC: ODBC-markörbiblioteket.

Anmärkning

Om du vill använda både ögonblicksbilder och dynasets måste du basera dem på två olika CDatabase objekt (två olika anslutningar).

Mer information om egenskaper som ögonblicksbilder delar med alla postuppsättningar finns i Recordset (ODBC). Mer information om ODBC och ögonblicksbilder, inklusive ODBC-markörbiblioteket, finns i ODBC.

Se även

Open Database Connectivity (ODBC)