Udostępnij za pośrednictwem


CDaoRecordset::Seek

Wywołanie tej funkcji Członkowskich do zlokalizowania rekordu w obiekcie recordset indeksowanej tabeli, która spełnia określone kryteria dla bieżącego indeksu i upewnij się, że rejestrowanie bieżącego rekordu.

BOOL Seek(
   LPCTSTR lpszComparison,
   COleVariant* pKey1,
   COleVariant* pKey2 = NULL,
   COleVariant* pKey3 = NULL 
);
BOOL Seek(
   LPCTSTR lpszComparison,
   COleVariant* pKeyArray,
   WORD nKeys 
);

Parametry

  • lpszComparison
    Jedno z następujących wyrażeń ciąg: "<", "< =", "=", "> =", lub ">".

  • pKey1
    Wskaźnik do COleVariant którego wartość odpowiada pierwsze pole w indeksie.Wymagane.

  • pKey2
    Wskaźnik do COleVariant którego wartość odpowiada drugie pole indeksu, jeśli.Domyślnie NULL.

  • pKey3
    Wskaźnik do COleVariant którego wartość odpowiada trzecie pole indeksu, jeśli.Domyślnie NULL.

  • pKeyArray
    Wskaźnik do tablicy wariantów.Rozmiar tablicy odpowiada liczba pól w indeksie.

  • nKeys
    Całkowitą odpowiadającą rozmiar tablicy, która jest liczba pól w indeksie.

    [!UWAGA]

    Nie określaj symboli wieloznacznych w kluczach.Symbole wieloznaczne spowoduje, że Seek do zwracania pasujących rekordów.

Wartość zwracana

Niezerowa, jeśli znaleziono pasujących rekordów, inaczej 0.

Uwagi

Użyj druga wersja (tablicy) Seek do obsługi indeksy pól czterech lub więcej.

SeekUmożliwia wysokiej wydajności indeks, wyszukiwanie rekordów z tabeli typu.Należy ustawić bieżącego indeksu, wywołując SetCurrentIndex przed wywoływaniem Seek.Jeśli identyfikuje indeks nieunikatowy lub pól klucza, Seek lokalizuje pierwszego rekordu, który spełnia kryteria.Jeśli indeks nie jest ustawiony, wyjątek.

Należy zauważyć, że jeśli nie tworzysz rekordów UNICODE, COleVariant obiekty muszą być jawnie deklarowane ANSI.This can be done by using the COleVariant::COleVariant( lpszSrc**,** vtSrc ) form of constructor with vtSrc set to VT_BSTRT (ANSI) or by using the COleVariant function SetString( lpszSrc**,** vtSrc ) with vtSrc set to VT_BSTRT.

Po wywołaniu Seek, przekazać jeden lub więcej wartości kluczy i operator porównania ("<", "< =", "=", "> =", lub ">").SeekWyszukuje w określonych pól klucza i lokalizuje pierwszego rekordu, który spełnia kryteria określone przez lpszComparison i pKey1.Znaleziono jeden raz, Seek zwraca wartość różną od zera i czyni bieżącego rekordu.Jeśli Seek nie znajdzie dopasowanie, Seek zwraca zero, a bieżący rekord jest niezdefiniowane.Gdy bezpośrednio przy użyciu obiektów DAO, należy jawnie Sprawdź właściwości NoMatch.

Jeśli lpszComparison to "=", "> =", lub ">", Seek rozpoczyna się na początku indeksu.Jeśli lpszComparison jest "<" lub "< =", Seek uruchamia koniec indeksu i przeszukuje w tył, chyba że istnieją zduplikowane indeksu na końcu.W przypadku Seek rozpoczyna się od dowolnego wpisu wśród wpisów indeksu zduplikowane na końcu indeksu.

Musi być bieżącego rekordu podczas korzystania z Seek.

Do znajdowania rekordów dynamicznego lub rekordów typu migawka, który spełnia określony warunek, należy użyć operacji znajdowania.Aby uwzględnić wszystkie rekordy, nie tylko te, które spełniają określony warunek, należy użyć operacji przenoszenia do przechodzenia między rekordami.

Nie można wywołać Seek w załączonej tabeli dowolnego typu, ponieważ załączone tabele musi być otwarta jako dynamicznego lub zestawy rekordów typu migawka.Jednakże jeśli zadzwonisz CDaoDatabase::Open bezpośrednio otworzyć bazy danych ISAM instalowalne, można wywołać Seek tabel w bazie danych, ale wydajność może być powolne.

Powiązanych informacji zobacz temat "Poszukiwania metoda" w pomocy DAO.

Wymagania

Nagłówek: afxdao.h

Zobacz też

Informacje

Klasa CDaoRecordset

Wykres hierarchii

CDaoRecordset::FindFirst

CDaoRecordset::FindLast

CDaoRecordset::FindNext

CDaoRecordset::FindPrev

CDaoRecordset::Move

CDaoRecordset::MoveFirst

CDaoRecordset::MoveLast

CDaoRecordset::MoveNext

CDaoRecordset::MovePrev

COleVariant::COleVariant

COleVariant::SetString