CDaoRecordset::Seek

BOOL suchen (LPCTSTR LpszComparison, COleVariant * pKey1, COleVariant * pKey2 = NULL, COleVariant * pKey3 = NULL);
Werfen Sie (CDaoException, CMemoryException);

BOOL suchen (LPCTSTR LpszComparison, COleVariant * pKeyArrayWort nKeys);
Werfen Sie (CDaoException, CMemoryException);

Rückgabewert

Ungleich NULL, wenn übereinstimmende Datensätze gefunden werden, sonst 0.

Parameter

lpszComparison

Einer der folgenden Zeichenfolgenausdrücke: "Lt;", "< =", "=" "> =", oder ">".

pKey1

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

pKey2

Ein Zeiger auf eine COleVariant entspricht dessen Wert auf das zweite Feld im Index, falls vorhanden. Der Standardwert ist NULL.

pKey3

Ein Zeiger auf eine COleVariant dessen Wert entspricht dem dritten Feld im Index, falls vorhanden. Der Standardwert ist NULL.

pKeyArray

Ein Zeiger auf ein Array von Varianten. Die Größe des Arrays entspricht der Anzahl der Felder im index.

nKeys

Eine ganze Zahl, die Größe des Arrays, das ist die Anzahl der Felder im Index entspricht.

Hinweis&Nbsp;  Geben Sie keinen Platzhalter in die Tasten. Platzhalter verursachen Seek keine übereinstimmenden Datensätze zurückgegeben.

Bemerkungen

Rufen Sie diese Memberfunktion um den Datensatz in einem indizierten Tabelle Typ Recordset-Objekt zu finden, die die angegebenen Kriterien für den aktuellen index und machen diesen Datensatz den aktuellen Datensatz entspricht. Verwenden Sie die zweite Version (Array) von Seek um zu handhaben Indizes der vier Felder oder mehr.

Seek ermöglicht Hochleistungs Index über Recordsets vom Typ Tabelle suchen. Sie müssen den aktuellen Index festlegen, durch Aufrufen von SetCurrentIndex vor dem Aufruf von Seek. Wenn der Index ein nicht eindeutig oder die Primärschlüsselfelder bezeichnet, sucht Seek des ersten Datensatzes, der die Kriterien erfüllt. Wenn Sie einen Index nicht festlegen, wird eine Ausnahme ausgelöst.

Beachten Sie, dass wenn Sie keine UNICODE-Recordset erstellen, die Objekte COleVariant explizit ANSI deklariert werden müssen. Dies kann mithilfe der COleVariant::COleVariant( ) LpszSrc, VtSrc ) Form des Konstruktors mit VtSrc legen Sie auf VT_BSTRT (ANSI) oder mit der COleVariant Funktion SetString( ) LpszSrc, VtSrc ) und VtSrc auf VT_BSTRT festgelegt erfolgen.

Wenn Sie Seekaufrufen, übergeben Sie ein oder mehrere Werte und einen Vergleichsoperator ("Lt;", "< =", "=" "> =", oder ">"). Seek durchsucht die angegebenen Schlüsselfelder und sucht den ersten Datensatz, der die von LpszComparison und pKey1angegebenen Kriterien erfüllt. Einmal gefunden, Suchen ungleich NULL zurückgibt, und macht diesen Datensatz aktuelle. Wenn Seek fehlschlägt, eine Übereinstimmung zu finden, Seek gibt NULL zurück, und des aktuellen Datensatzes nicht definiert. Wenn Sie DAO direkt verwenden, müssen Sie explizit die NoMatch-Eigenschaft prüfen.

Wenn LpszComparison ="", Nbsp; "> =", oder ">", Seek beginnt am Anfang des Indexes. Wenn LpszComparison ist "<" oder "< =", Seek beginnt am Ende des Index und sucht rückwärts, es sei denn, es gibt doppelte Indexeinträge am Ende. In diesem Fall beginnt Seek an einen beliebigen Eintrag unter die doppelte Indexeinträge am Ende des index.

Es muss keinen aktuellen Datensatz, wenn Sie Seek verwenden.

Verwenden Sie die Suchvorgänge, zum Suchen eines Datensatzes in einem Recordset vom Typ Dynaset oder Snapshot-Typ Recordset, die eine bestimmte Bedingung erfüllt. Um alle Datensätze zu zählen, verwenden nicht nur diejenigen, die eine bestimmte Bedingung erfüllen die Move-Operationen von Datensatz zu Datensatz bewegen.

Sie können nicht Suchen auf eine angefügte Tabelle eines beliebigen Typs aufrufen, da eingebundene Tabellen vom Typ Dynaset oder Snapshot-Typ Recordsets geöffnet werden müssen. Jedoch, wenn Sie CDaoDatabase::Open direkt eine installierbare ISAM-Datenbank öffnen aufrufen, Seek auf Tabellen in der Datenbank, rufen Sie zwar die Leistung kann langsam sein.

Weitere Informationen zum Suchen von Datensätzen, finden Sie im Artikel DAO-Recordset: Recordset-Navigation im Visual C++ Programmer's Guide. Weitere Informationen finden Sie im Thema "Seek-Methode" in der DAO-Hilfe.

CDaoRecordset ÜbersichtMember der Klasse | Hierarchiediagramm

Siehe auch&Nbsp;CDaoRecordset::FindFirst, CDaoRecordset::FindLast, CDaoRecordset::FindNext, CDaoRecordset::FindPrev, CDaoRecordset::Move, CDaoRecordset::MoveFirst, CDaoRecordset::MoveLast, CDaoRecordset::MoveNext, CDaoRecordset::MovePrev, COleVariant::COleVariant, COleVariant::SetString

Index