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