Udostępnij za pośrednictwem


CRecordset::Move

 

Przenosi bieżący wskaźnik rekordu w zestawie rekordów do przodu lub do tyłu.

Składnia

      virtual void Move( 
   long nRows, 
   WORD wFetchType = SQL_FETCH_RELATIVE  
);

Parametry

  • nRows
    Liczba wierszy, aby przejść do przodu lub do tyłu.Wartości dodatnie przesuwają się do przodu, do końca rekordów.Wartości ujemne przesuwają się do tyłu, do początku.

  • wFetchType
    Określa zestaw wierszy, przenieść spowoduje pobranie.Aby uzyskać szczegółowe informacje Zobacz uwagi.

Uwagi

Jeśli przekazać wartość 0 dla nRows, przenieść Odświeża bieżący rekord; Przenieść zostaną zakończone wszystkie bieżące AddNew lub Edytuj tryb i przywróci wartości bieżącego rekordu przed AddNew lub Edytuj została wywołana.

Uwaga

Podczas przenoszenia przez zestaw rekordów usuniętych rekordów nie można pominąć.Zobacz CRecordset::IsDeleted Aby uzyskać więcej informacji.Po otwarciu CRecordset z skipDeletedRecords zestaw opcji przenieść twierdzi, jeśli nRows parametr jest 0.To zachowanie zapobiega odświeżanie wierszy, które są usuwane przez inne aplikacje klienta przy użyciu tych samych danych.Zobacz dwOption parametr w Otwórz opis skipDeletedRecords.

Przenieść zmiana zestawu rekordów przez zestawów wierszy.Na podstawie wartości dla nRows i wFetchType, przenieść pobiera odpowiednie wierszy, a następnie wprowadza pierwszy rekord w tym zestawie wierszy bieżącego rekordu.Jeśli nie zaimplementowano pobieranie wiersza luzem, następnie rozmiar zestawu wierszy jest zawsze 1.Podczas pobierania wierszy, przenieść bezpośrednio wywołuje CheckRowsetError Członkowskich funkcji obsługi błędy wynikające z pobieraniem.

W zależności od wartości przekazać przenieść jest odpowiednikiem drugiej CRecordset funkcji elementów członkowskich.W szczególności wartość wFetchType może wskazywać funkcji składowej, który jest bardziej intuicyjna i często preferowana metoda przenoszenia bieżącego rekordu.

W poniższej tabeli przedstawiono możliwe wartości dla wFetchType, zestawu wierszy, przenieść fetch będzie oparte na wFetchType i nRowsi wszelkich funkcji równoważne Członkowskich odpowiadające wFetchType.

wFetchType

Pobieranych wierszy.

Funkcja Członkowskie równoważnych

SQL_FETCH_RELATIVE(wartość domyślna)

Uruchamianie wierszy nRows wiersze z pierwszego wiersza w bieżącym zestawie wierszy.

 

SQL_FETCH_NEXT

Następny zestaw wierszy; nRowsjest ignorowana.

MoveNext

SQL_FETCH_PRIOR

Poprzedni zestaw wierszy; nRowsjest ignorowana.

MovePrev

SQL_FETCH_FIRST

Pierwszy zestaw wierszy w zestawie rekordów; nRowsjest ignorowana.

MoveFirst

SQL_FETCH_LAST

Ostatni pełny wierszy w zestawie rekordów; nRowsjest ignorowana.

MoveLast

SQL_FETCH_ABSOLUTE

If nRows > 0 wierszy od nRows wiersze od początku zestawu rekordów.If nRows < 0 wierszy od nRows wiersze na końcu zestawu rekordów.Jeśli nRows = 0, to zwracana jest warunek początku pliku (BOF).

SetAbsolutePosition

SQL_FETCH_BOOKMARK

Zestaw wierszy, począwszy od wiersza, którego wartość zakładki odpowiada nRows.

SetBookmark

Uwaga

Dla rekordów tylko przesyłanie dalej przenieść jest prawidłowa tylko z wartości SQL_FETCH_NEXT do wFetchType.

Ostrzeżenie

Wywołanie przenieść zgłasza wyjątek, jeśli zestaw rekordów nie zawiera żadnych rekordów.Aby ustalić, czy zestaw rekordów zawiera rekordy, call IsBOF i IsEOF.

Uwaga

Jeżeli przewiniesz w przeszłości początek lub koniec zestawu rekordów (IsBOF lub IsEOF zwraca wartość różną od zera), wywołujący przenieść prawdopodobnie wygeneruje funkcji CDBException.Na przykład jeśli IsEOF zwraca wartość różną od zera i IsBOF nie ma, następnie MoveNext wygeneruje wyjątek, ale MovePrev nie będzie.

Uwaga

Jeśli zadzwonisz przenieść podczas bieżącego rekordu zaktualizowane lub dodane, aktualizacje zostaną utracone bez ostrzeżenia.

Aby uzyskać więcej informacji na temat nawigacji zestawu rekordów, zobacz artykuły rekordów: przewijanie (ODBC) i rekordów: zakładki i pozycje bezwzględne (ODBC).Aby uzyskać więcej informacji na temat Pobieranie wiersza luzem, zobacz artykuł rekordów: pobieranie rekordów luzem (ODBC).Aby uzyskać pokrewne informacje, zobacz funkcji interfejsu API ODBC SQLExtendedFetch w Windows SDK.

Wyjątki

Exception

Condition

Tej metody można zgłosić wyjątków typu CDBException * i CMemoryException*.

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

// Change the rowset size to 5
rs.SetRowsetSize(5);

// Open the recordset
rs.Open(CRecordset::dynaset, NULL, CRecordset::useMultiRowFetch);

// Move to the first record in the recordset
rs.MoveFirst();

// Move to the sixth record
rs.Move(5);
// Other equivalent ways to move to the sixth record:
rs.Move(6, SQL_FETCH_ABSOLUTE);
rs.SetAbsolutePosition(6);
// In this case, the sixth record is the first record in the next rowset,
// so the following are also equivalent:
rs.MoveFirst();
rs.Move(1, SQL_FETCH_NEXT);

rs.MoveFirst();
rs.MoveNext();

Wymagania

Nagłówek: afxdb.h

Zobacz też

Klasa CRecordset
Diagram hierarchii
CRecordset::MoveNext
CRecordset::MovePrev
CRecordset::MoveFirst
CRecordset::MoveLast
CRecordset::SetAbsolutePosition
CRecordset::SetBookmark
CRecordset::IsBOF
CRecordset::IsEOF
CRecordset::CheckRowsetError