Durchsuchen von Datensätzen im Index

Gilt für: Windows | Windows Server

Durchsuchen von Datensätzen im Index

Suchschlüssel werden erstellt, um nach einem einzelnen Eintrag oder einer Gruppe von Einträgen in einem Index zu suchen. Suchschlüssel können nur für die Schlüsselspalten im Index erstellt werden und einen oder mehrere Spaltenwerte enthalten. Der Suchschlüssel wird mit einem einzelnen Aufruf oder einer Reihe von Aufrufen von JetMakeKeyerstellt und kann mit JetRetrieveKey mithilfe von JET_bitRetrieveCopy abgerufen werden. Nachdem der Suchschlüssel erstellt wurde, kann er verwendet werden, um den Cursor auf den Datensatz im Index zu bewegen.

Es gibt drei Methoden zum Suchen von Datensätzen in einer Tabelle:

  1. Suchen Sie nach einem einzelnen Indexeintrag. Erstellen Sie hierzu den Suchschlüssel mit JetMakeKey,und wechseln Sie dann mit JetSeekzu diesem Datensatz.

  2. Durchsuchen Sie den Index Datensatz für Datensatz. Datensätze können jeweils einen Datensatz durchlaufen, indem JetMoveaufgerufen wird. Der Cursor kann zum ersten Datensatz im Index verschoben werden, indem JET_MoveFirst im cRow-Parameter von JetMoveangegeben wird. Auf die gleiche Weise kann der Cursor vorwärts, rückwärts oder bis zum letzten Eintrag im Index verschoben werden.

  3. Durchsuchen sie eine Gruppe von Datensätzen. Legen Sie hierzu einen Bereich von Indexeinträgen fest, der durchsucht werden soll, und durchlaufen Sie dann sequenziell die Datensätze. Weitere Informationen finden Sie im Abschnitt Durchsuchen einer Gruppe von Datensätzen dieses Themas.

Durchsuchen eines Satzes von Datensätzen

Das folgende Diagramm zeigt den Cursor, der durch einen Bereich von Indexeinträgen bewegt wird, die durch Aufrufe von JetSeek und JetSetIndexRangedefiniert werden.

Verwenden Sie das folgende Verfahren, um einen Satz von Datensätzen in einem Index zu durchsuchen.

So durchsuchen Sie einen Satz von Datensätzen in einem Index

  1. Erstellen Sie mit JetMakeKeyden Suchschlüssel für den ersten Datensatz im Satz von Datensätzen, der durchsucht werden soll.

  2. Bewegen Sie den Cursor auf den Datensatz, der im Suchschlüssel mit JetSeekangegeben ist.

  3. Erstellen Sie mit JetMakeKeyeinen weiteren Suchschlüssel für den letzten Indexeintrag im Bereich .

  4. Legen Sie den Indexbereich mit JetSetIndexRange mithilfe des in Schritt 3 erstellten Schlüssels fest.

  5. Rufen Sie JetMove auf, um sich sequenziell durch jeden Datensatz im Indexbereich zu bewegen, wie im folgenden Diagramm dargestellt.

ESE_Documentation_IndexRange

Der Cursor im Diagramm hier kann sich nur durch den Indexbereich bewegen, der im Aufruf von JetSetIndexRangefestgelegt wurde. Wenn die Anwendung versucht, den Cursor über den Indexbereich hinaus zu bewegen, gibt ESE einen Jet_errNoCurrentRecord Fehler aus dem Aufruf von JetMovezurück. Beachten Sie, dass jeder Navigationstyp mit diesem Cursor außer dem Wechsel zum nächsten oder vorherigen Datensatz den Indexbereich abbricht. Weitere Informationen finden Sie unter JetSetIndexRange.

Der Typ der daten, die im pvData-Parameter für JetMakeKey eingegeben werden, muss mit dem Typ der Daten und Eigenschaften übereinstimmen, die für die Spalte angegeben sind. Das Aufrufen von JetMakeKey mit dem im pvData-Parameter angegebenen "Ben Boots" für einen Spaltentyp JET_coltypText ist beispielsweise eine gültige Übereinstimmung mit dem Datentyp. Wenn Sie einen Suchschlüssel erstellen möchten, um in einem Index zwischen den Namen "Ben Username" und "Max Maxims" zu suchen, bewegen Sie den Cursor auf den Datensatz mit dem Namen "BenOrs", indem Sie JetSeekaufrufen. Rufen Sie JetMakeKey ein zweites Mal auf, und geben Sie einen Zeiger auf eine Zeichenfolge an, die den Namen "Max Maxims" enthält. Der Indexbereich ist so festgelegt, dass der Cursor im Aufruf von JetSetIndexRangezwischen den Namen "Ben Maxim" und "Max Maxims" verschoben wird.