Zestaw rekordów: przewijanie (ODBC)
Ten temat dotyczy klas MFC ODBC.
Po otwarciu zestawu rekordów, możesz potrzebować dostępu do rekordów do wyświetlania wartości, wykonywania obliczeń, generowanie raportów itd.Przewijanie umożliwia przenoszenie się między rekordami w twoim zestawie rekordów.
Ten temat tłumaczy:
Jak przewijać z jednego rekordu do drugiego w zestawie rekordów.
W obszarze co okoliczności przewijanie jest i nie jest obsługiwane.
Przewijanie z jednego rekordu do innego
Klasa CRecordset zawiera przenieść funkcji elementów członkowskich do przewijania w zestawie rekordów.Tych funkcji Przenieś bieżący rekord zestawów wierszy.Jeśli zaimplementowano pobieranie wiersza zbiorczego przenieść operacja powoduje przeniesienie zestaw rekordów przez rozmiar zestawu wierszy.Jeśli nie zaimplementowano wiersza zbiorczego pobierania, wywołanie przenieść funkcja powoduje przeniesienie zestaw rekordów przez jeden rekord każdorazowo.Aby uzyskać więcej informacji dotyczących pobierania wierszy bulk, zobacz zestaw rekordów: pobieranie rekordów luzem (ODBC).
[!UWAGA]
Podczas przenoszenia przez zestaw rekordów, usuniętych rekordów nie mogą być pominięte.Aby uzyskać więcej informacji, zobacz IsDeleted funkcji składowej.
W uzupełnieniu do przenieść funkcje, CRecordset zapewnia funkcje składowe do sprawdzania, czy zostały przewinięte poza koniec lub przed początek zestawu rekordów.
Aby określić, czy przewijanie jest możliwe w twoim zestawie rekordów, wywołanie CanScroll funkcji składowej.
Aby przewinąć
Przesyłanie dalej jeden rekord lub jeden zestaw wierszy: wywołanie MoveNext funkcji składowej.
Jeden rekord do tyłu lub jeden zestaw wierszy: wywołanie MovePrev funkcji składowej.
Pierwszy rekord w zestawie rekordów: wywołanie MoveFirst funkcji składowej.
Do ostatniego rekordu w zestawie rekordów lub ostatni zestaw wierszy: wywołanie MoveLast funkcji składowej.
N rekordy w stosunku do bieżącego położenia: wywołanie przenieść funkcji składowej.
Próba na końcu lub początku zestawu rekordów
Zostały przewinięte poza ostatnim rekordzie?Wywołanie IsEOF funkcji składowej.
Zostały przewinięte przed pierwszym rekordzie (przenoszenie do tyłu)?Wywołanie IsBOF funkcji składowej.
Następujący kod w przykładzie wykorzystano IsBOF i IsEOF do wykrywania limitów zestaw rekordów podczas przewijania w dowolnym kierunku.
// Open a recordset; first record is current
CCustSet rsCustSet( NULL );
rsCustSet.Open( );
if( rsCustSet.IsBOF( ) )
return;
// The recordset is empty
// Scroll to the end of the recordset, past
// the last record, so no record is current
while ( !rsCustSet.IsEOF( ) )
rsCustSet.MoveNext( );
// Move to the last record
rsCustSet.MoveLast( );
// Scroll to beginning of the recordset, before
// the first record, so no record is current
while( !rsCustSet.IsBOF( ) )
rsCustSet.MovePrev( );
// First record is current again
rsCustSet.MoveFirst( );
IsEOFZwraca wartość różną od zera, jeśli zestaw rekordów jest umieszczony obok ostatniego rekordu.IsBOFZwraca wartość różną od zera, jeśli zestaw rekordów jest umieszczony przed pierwszym rekordzie (przed wszystkimi rekordami).W obu przypadkach nie istnieje bieżący rekord do pracy na.Jeśli zadzwonisz MovePrev po IsBOF jest już TRUE lub zadzwoń MoveNext po IsEOF jest już TRUE, rzuca w ramach CDBException.Można również użyć IsBOF i IsEOF Aby sprawdzić pustym zestawem rekordów.
Aby uzyskać więcej informacji na temat nawigacji zestawu rekordów, zobacz zestaw rekordów: zakładki i pozycje bezwzględne (ODBC).
Kiedy przewijanie jest obsługiwany
Zgodnie z pierwotnym przeznaczeniem SQL pod warunkiem przesuwać tylko do przodu, ale ODBC rozszerza możliwości przewijania.Dostępny poziom obsługi przewijanie zależy od sterowników ODBC aplikacja działa z poziomu zgodności interfejsu API ODBC w sterowniku, i tego, czy Biblioteka kursorów ODBC jest ładowany do pamięci.Aby uzyskać więcej informacji, zobacz ODBC i ODBC: Biblioteka kursorów ODBC.
Porada |
---|
Można kontrolować, czy używana jest Biblioteka kursorów.Zobacz bUseCursorLib i dwOptions parametry do CDatabase::Open. |
[!UWAGA]
W odróżnieniu od klas MFC DAO klas MFC ODBC nie stanowią zbiór znaleźć funkcje do lokalizowania następnym (lub poprzednim) rekord, który spełnia określone kryteria.