Freigeben über


CDaoRecordset::Seek

Rufen Sie die Memberfunktion auf, um den Satz in einem Recordset indizierten vom Typ Tabellen-Objekt aufzufinden, das die angegebenen Kriterien für den aktuellen Index erfüllt und macht, das den aktuellen Datensatz aufzeichnen.

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

Parameter

  • lpszComparison
    Einer der folgenden Zeichenfolgenausdrücke: "<", "<=", "=", ">=", "oder >".

  • pKey1
    Ein Zeiger auf COleVariant, dessen Wert in das erste Feld im Index entspricht. Erforderlich.

  • pKey2
    Ein Zeiger auf COleVariant, dessen Wert auf den zweiten Feld im Index entspricht, sofern vorhanden. Standardwerte zu NULL.

  • pKey3
    Ein Zeiger auf COleVariant, dessen Wert auf das dritte Feld im Index entspricht, sofern vorhanden. Standardwerte zu NULL.

  • pKeyArray
    Ein Zeiger auf ein Array Varianten. Die Arraygröße entspricht der Anzahl von Feldern im Index.

  • nKeys
    Eine ganze Zahl entsprechend der Größe des Arrays, das die Anzahl von Feldern im Index ist.

    Hinweis

    Geben Sie nicht Platzhalter in der Schlüssel an.Platzhalter bewirken Seek, keine übereinstimmenden Datensätze zurückzugeben.

Rückgabewert

Ungleich 0 (null), wenn übereinstimmende Datensätze gefunden; andernfalls 0.

Hinweise

Verwenden Sie die zweite (Array) Version von Seek, um Indizes von vier Feldern oder von mehr zu bearbeiten.

Seek ermöglicht dem leistungsstarken Index, der auf Recordset vom Typ Tabellen sucht. Sie müssen den aktuellen Index festlegen, indem Sie SetCurrentIndex aufrufen, bevor Sie Seek aufrufen. Wenn der Index ein nonunique Schlüsselfeld oder Felder identifiziert, findet Seek den ersten Satz, der die Kriterien erfüllt. Wenn Sie keinen Index festlegen, wird eine Ausnahme ausgelöst.

Beachten Sie, dass, wenn Sie kein UNICODE-Recordset erstellen, die COleVariant-Objekte explizit deklariert werden müssen ANSI. Dies kann erreichen, indem das Formular COleVariant::COleVariant( lpszSrc**,** vtSrc ) des Konstruktors mit vtSrc verwendet, das zu VT_BSTRT (ANSI) festgelegt ist oder die COleVariant -Funktion SetString( lpszSrc**,** vtSrc ) mit vtSrc verwendet, das zu VT_BSTRT festgelegt ist.

Wenn Sie Seek aufrufen, können Sie einen oder mehrere Schlüsselwerte und einen Vergleichsoperator ("<", "<=", "=", ">=", "oder > "). Seek Suchen durch den angegebenen Schlüssel fängt auf und ersetzt den ersten Satz, der die Kriterien erfüllt, die von lpszComparison und pKey1 angegeben werden. Sobald gefunden, gibt Seek-Wert ungleich 0 (null) zurück und macht diese Rekordstrom. Wenn Seek eine Übereinstimmung nicht gefunden werden kann, gibt Seek null zurück, und der aktuelle Datensatz ist nicht definiert. Wenn Sie direkt DAO verwenden, müssen Sie die NoMatch-Eigenschaft explizit überprüfen.

Wenn lpszComparison "=", ">=", "oder >" ist, Seek beginnt am Anfang des Index. Wenn lpszComparison "<" oder "<=" ist, Seek beginnt am Ende des Indexes und der Suchen rückwärts, es sei denn, es doppelte Indexeinträge am Ende gibt. In diesem Fall Seek beginnt an einem beliebigen Eintrag unter doppelte Indexeinträgen am Ende des Indexes.

Es muss keinen aktuellen Datensatz geben, wenn Sie Seek verwenden.

Um einen Satz in einem oder einem Recordset zu aktualisierende vom Typ Dynaset vom Typ Momentaufnahme das eine bestimmte Bedingung erfüllt, verwenden Sie die Suchvorgänge. Um alle Datensätze einzuschließen, nicht nur die verwenden die eine bestimmte Bedingung erfüllen, die Verschiebungsvorgänge um von Datensätzen unterstützen zu bewegen.

Sie können Seek auf einer umschlossenen Tabelle eines beliebigen Typs nicht aufrufen, da umschlossene Tabellen als oder Recordsets geöffnet sein müssen vom Typ Dynaset vom Typ Momentaufnahme. Wenn Sie jedoch CDaoDatabase::Open aufrufen, um eine installierbare ISAM-Datenbank direkt zu öffnen, können Sie Seek auf Tabellen in dieser Datenbank aufrufen, obwohl die Leistung möglicherweise langsam ist.

Weitere Informationen finden Sie im Thema "Suchen-Methode" in der DAO-Hilfe.

Anforderungen

Header: afxdao.h

Siehe auch

Referenz

CDaoRecordset-Klasse

Hierarchiediagramm

CDaoRecordset::FindFirst

CDaoRecordset::FindLast

CDaoRecordset::FindNext

CDaoRecordset::FindPrev

CDaoRecordset::Move

CDaoRecordset::MoveFirst

CDaoRecordset::MoveLast

CDaoRecordset::MoveNext

CDaoRecordset::MovePrev

COleVariant::COleVariant

COleVariant::SetString