Udostępnij za pośrednictwem


Zestaw rekordów: Zakładki i pozycje bezwzględne (ODBC)

Ten temat dotyczy klas MFC ODBC.

Podczas poruszania się z zestawu rekordów, często konieczne jest sposób powrotu do określonego rekordu.Zakładki i bezwzględne położenie rekordu udostępniają dwie takie metody.

W tym temacie wyjaśniono:

  • Jak używać zakładek.

  • Jak ustawić bieżący rekord przy użyciu pozycje bezwzględne.

Zakładki w MFC ODBC

Zakładka jednoznacznie identyfikuje rekord.Podczas nawigacji za pomocą zestawu rekordów nie można zawsze polegać, na bezwzględne położenie rekordu, ponieważ zestaw rekordów można usunąć rekordy.Niezawodny sposób, aby śledzić położenie rekordu jest użycie jego zakładkę.Klasa CRecordset dostarcza funkcji elementów członkowskich dla:

  • Uzyskiwanie zakładkę bieżącego rekordu, więc można go zapisać w zmiennej (GetBookmark).

  • Przenoszenie szybko do danego rekordu przez określenie jego zakładkę, który zapisano wcześniej w zmiennej (SetBookmark).

Poniższy przykład ilustruje sposób użycia tych funkcji elementów członkowskich do znaku bieżącego rekordu i później przywrócić:

// rs is a CRecordset or
// CRecordset-derived object

CDBVariant varRecordToReturnTo;
rs.GetBookmark( varRecordToReturnTo );

// More code in which you
// move to other records

rs.SetBookmark( varRecordToReturnTo );

Nie należy wyodrębnić podstawowy typ danych z Klasa CDBVariant obiektu.Przypisz wartość z GetBookmark i powrócić do tej zakładki z SetBookmark.

[!UWAGA]

W zależności od sterownika ODBC i typ zestawu rekordów nie mogą być obsługiwane zakładki.Można łatwo określić, czy zakładki są obsługiwane przez wywołanie CRecordset::CanBookmark.Ponadto, jeśli zakładki są obsługiwane, należy jawnie wybrać je zaimplementować, określając CRecordset::useBookmarks opcji w CRecordset::Open funkcji składowej.Należy także sprawdzić trwałość zakładki po niektórych operacji zestawu rekordów.Na przykład jeśli użytkownik Requery zestaw rekordów zakładki może nie być już prawidłowe.Wywołanie CDatabase::GetBookmarkPersistence do sprawdzania, czy można bezpiecznie wywołać SetBookmark.

Pozycje bezwzględne w MFC ODBC

Oprócz zakładek, klasy CRecordset pozwala ustawić bieżący rekord, określając pozycję porządkową.Jest to więc zastosować pozycjonowanie bezwzględne.

[!UWAGA]

Pozycjonowanie bezwzględne nie jest dostępny w Progresywne zestawy rekordów.Aby uzyskać więcej informacji na temat Progresywne zestawy rekordów, zobacz Zestaw rekordów (ODBC).

Umieszczenie wskaźnika bieżącego rekordu za pomocą bezwzględne położenie, call CRecordset::SetAbsolutePosition.Podczas przekazywania wartości do SetAbsolutePosition, rekordem odpowiadającym, że pozycja porządkowa staje się rekordem bieżącym.

[!UWAGA]

Bezwzględne położenie rekordu jest potencjalnie zawodne.Jeśli użytkownik usuwa rekordy z zestawu rekordów, wszelkie zmiany rekordu kolejnych pozycji porządkowej.Zakładki są zalecaną metodą przenoszenia bieżącego rekordu.Aby uzyskać więcej informacji, zobacz zakładek w MFC ODBC.

Aby uzyskać więcej informacji na temat nawigacji zestawu rekordów, zobacz Zestaw rekordów: Przewijanie (ODBC).

Zobacz też

Koncepcje

Zestaw rekordów (ODBC)