Freigeben über


CDaoRecordset::FindFirst

Rufen Sie die Memberfunktion auf, um den ersten Datensatz zu suchen, der eine angegebene Bedingung entspricht.

BOOL FindFirst( 
   LPCTSTR lpszFilter  
);

Parameter

  • lpszFilter
    Ein Zeichenfolgenausdruck (wie die WHERE-Klausel in einer SQL-Anweisung ohne das Wort WHERE) verwendet, um zum Finden des Datensatzes.

Rückgabewert

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

Hinweise

Die FindFirst-Memberfunktion beginnt die Suche am Anfang des Recordsets und Suchen zum Ende des Recordsets.

Wenn Sie alle Datensätze in der Suche einschließen möchten (nicht nur, die, die eine bestimmte Bedingung erfüllen), verwenden einen der Verschiebungsvorgänge, um von Datensätzen unterstützen zu bewegen. Um einen Satz in einem Recordset vom Typ Tabelle aufzufinden, rufen Sie die Seek-Memberfunktion auf.

Wenn ein Datensatz, Kriterien abgleichend, nicht gefunden wird, ist der Zeiger für den aktuellen Datensatz unbestimmte und FindFirst gibt null. Wenn das Recordset mehr als einen Datensatz enthält, der die Kriterien erfüllt, sucht FindFirst das erste Vorkommen FindNext, sucht das nächste Vorkommen, u. a.

Warnung

Wenn Sie den aktuellen Datensatz bearbeiten, stellen Sie sicher, die Änderungen zu speichern, indem Sie die Update-Memberfunktion aufrufen, bevor Sie zu einem anderen Datensatz wechseln.Wenn Sie zu einem anderen Datensatz wechseln, ohne zu aktualisieren, gehen die Änderungen verloren, ohne Warnung.

Die Suchen-Memberfunktionssuche vom Speicherort und in der Richtung angegeben in der folgenden Tabelle:

Suchoperationen

Begin

Suchrichtung

FindFirst

Anfang des Recordsets

Ende des Recordsets

FindLast

Ende des Recordsets

Anfang des Recordsets

FindNext

Aktueller Datensatz

Ende des Recordsets

FindPrevious

Aktueller Datensatz

Anfang des Recordsets

Hinweis

Wenn Sie FindLast aufrufen, füllt das Microsoft Jet-Datenbankmodul vollständig das Recordset auf, bevor die Suche beginnt, wenn dieser nicht bereits fertig war.Die erste Suche erfordert möglicherweise länger als nachfolgende Suchen.

Verwenden der ein Suchoperationen nicht entspricht, MoveFirst oder MoveNext dazu jedoch das einfach den ersten oder den aktuellen des nächsten Datensatzes macht, ohne eine Bedingung anzugeben. Sie können einem Suchvorgang mit einem Verschiebungsvorgang folgen.

Betrachten Sie das folgende kennen, wenn die Suchvorgänge verwendet werden:

  • Wenn Suchen-Wert ungleich 0 zurückgibt, wird der aktuelle Datensatz nicht definiert. In diesem Fall müssen Sie den Zeiger für den aktuellen Datensatz zurück in einen gültigen Datensatz positionieren.

  • Sie können einen Suchvorgang mit einem Recordset des vorwärts Bildlaufs nicht verwenden vom Typ Momentaufnahme.

  • Sie sollten das US-Datumsformat.. (MONTH-TagJahr) wenn verwenden Sie für die Felder suchen, die Datumsangaben enthalten, auch wenn Sie nicht die US-Version.. das Microsoft Jet-Datenbankmodul verwenden; andernfalls werden übereinstimmende Datensätze nicht gefunden werden.

  • Beim Arbeiten mit ODBC-Datenbanken und großen Dynasets, könnten Sie ermitteln, ist das mithilfe der Suchoperationen langsam, insbesondere bei der Arbeit mit umfangreichen Recordsets. Sie können die Leistung verbessern, indem Sie SQL-Abfragen mit benutzerdefiniertem ORDERBY oder WHERE-Klauseln, Parameterabfragen oder CDaoQuerydef-Objekte verwenden, die betreffende indizierte Datensätze abrufen.

Weitere Informationen finden Sie im Thema "FindFirst, FindLast, FindNext, FindPrevious-Methoden" in der DAO-Hilfe.

Anforderungen

Header: afxdao.h

Siehe auch

Referenz

CDaoRecordset-Klasse

Hierarchiediagramm

CDaoRecordset::Find

CDaoRecordset::FindLast

CDaoRecordset::FindNext

CDaoRecordset::FindPrev