Udostępnij za pośrednictwem


Snapshot

Migawka to zestaw rekordów, który odzwierciedla statyczny widok danych, ponieważ istniał w momencie utworzenia migawki. Po otwarciu migawki i przejściu do wszystkich rekordów zestaw zawartych w nim rekordów i ich wartości nie zmieniają się do momentu ponownego skompilowania migawki przez wywołanie metody Requery.

Uwaga

Ten temat dotyczy klas MFC ODBC. Jeśli używasz klas MFC DAO zamiast klas MFC ODBC, zobacz CDaoRecordset::Open , aby uzyskać opis zestawów rekordów typu migawki.

Migawki z możliwością aktualizacji lub tylko do odczytu można tworzyć przy użyciu klas baz danych. W przeciwieństwie do dynamicznego zestawu migawka z możliwością aktualizacji nie odzwierciedla zmian w rekordach wprowadzonych przez innych użytkowników, ale odzwierciedla aktualizacje i usunięcia wprowadzone przez program. Rekordy dodane do migawki nie stają się widoczne dla migawki, dopóki nie wywołasz polecenia Requery.

Napiwek

Migawka to statyczny kursor ODBC. Kursory statyczne nie pobierają wierszy danych do momentu przewinięcia do tego rekordu. Aby upewnić się, że wszystkie rekordy są natychmiast pobierane, możesz przewinąć na końcu zestawu rekordów, a następnie przewinąć do pierwszego rekordu, który chcesz zobaczyć. Należy jednak pamiętać, że przewijanie na końcu wiąże się z dodatkowym obciążeniem i może obniżyć wydajność.

Migawki są najcenniejsze, gdy dane muszą pozostać stałe podczas operacji, tak jak podczas generowania raportu lub wykonywania obliczeń. Mimo to źródło danych może znacznie się odróżnić od migawki, więc warto ją od czasu do czasu ponownie skompilować.

Obsługa migawek jest oparta na bibliotece kursorów ODBC, która zapewnia statyczne kursory i aktualizacje umieszczone (wymagane do aktualizacji) dla dowolnego sterownika poziomu 1. Biblioteka DLL biblioteki kursorów musi być załadowana w pamięci, aby ta obsługa. Podczas konstruowania CDatabase obiektu i wywoływania jego OpenEx funkcji składowej należy określić CDatabase::useCursorLib opcję parametru dwOptions . Jeśli wywołasz funkcję składową Open , biblioteka kursorów zostanie załadowana domyślnie. Jeśli używasz dynamicznych zestawów zamiast migawek, nie chcesz powodować załadowania biblioteki kursorów.

Migawki są dostępne tylko wtedy, gdy biblioteka kursorów ODBC została załadowana podczas CDatabase konstruowania obiektu lub sterownika ODBC, którego używasz, obsługuje kursory statyczne.

Uwaga

W przypadku niektórych sterowników ODBC migawki (kursory statyczne) mogą nie być aktualizowane. Zapoznaj się z dokumentacją sterownika pod kątem obsługiwanych typów kursorów i obsługiwanych typów współbieżności. Aby zagwarantować aktualizowanie migawek, upewnij się, że biblioteka kursorów jest ładowana do pamięci podczas tworzenia CDatabase obiektu. Aby uzyskać więcej informacji, zobacz ODBC: Biblioteka kursorów ODBC.

Uwaga

Jeśli chcesz użyć zarówno migawek, jak i dynamicznych, musisz opierać je na dwóch różnych obiektach (dwóch różnych CDatabase połączeniach).

Aby uzyskać więcej informacji na temat migawek właściwości udostępnianych wszystkim zestawom rekordów, zobacz Zestaw rekordów (ODBC). Aby uzyskać więcej informacji na temat odBC i migawek, w tym biblioteki kursorów ODBC, zobacz ODBC.

Zobacz też

Open Database Connectivity (ODBC)