Home » Tutorials » Datenbanken » Datenbanken für Fortgeschrittene

Datenbanken für Fortgeschrittene

Suchen in einer Datenbank

Durch das, was wir jetzt gelernt haben, bieten sich uns mehrere Möglichkeiten, Daten in einer Tabelle zu finden:

1. Schleife

Die while-Schleife wird so lange durchlaufen, bis die Tabelle am Ende oder der gewünschte Datensatz gefunden ist:

 Table1.First;
  while not Table1.Eof do begin
    if Table1.FieldByName('Bezeichnung').AsString='Radiergummi' then
      break
    else Table1.Next;
  end;

Falls Table1 an visuelle Komponenten (z.B. DBEdit) gebunden ist, sollte vor der Schleife mit Table1.DisableControls die Aktualisierung dieser Komponenten deaktiviert werden, da sonst nacheinander alle Datensätze angezeigt werden. Über Table1.EnableControls lässt sich die Aktualisierung wieder aktivieren.
Da die Schleife nach der ersten Fundstelle abbricht, muss evtl. mit der Startposition (Weglassen von Table1.First) experimentiert werden, um weitere Vorkommen zu finden.

2. SELECT-Abfrage

Unter Verwendung einer Query-Komponente:

SELECT * FROM artikel WHERE bezeichnung='Radiergummi'

Wenn Radiergummi als Artikel nur einmal vorkommt, enthält Query1 danach nur diesen einen Datensatz, ansonsten mehrere. Die Ergebnismenge ist der SQL-Abfrage ist nicht editierbar.

3. TTable.Locate

TTable enthält eine einfache Funktion zur Suche:

Table1.Locate('Bezeichnung', 'Radiergummi', [loCaseInsensitive]);

Der Rückgabewert ist true, wenn Radiergummi als Bezeichnung gefunden wurde. Außerdem wird der Datenbankcursor auf den gefundenen Datensatz gesetzt. loCaseInsensitive gibt an, dass Groß- und Kleinschreibung nicht berücksichtigt wird; möglich ist auch noch loPartialKey. Damit werden auch Werte akzeptiert, in denen der Suchbegriff nur als Teil vorkommt. Die Angabe erfolgt in Mengenschreibweise. Soll keiner der beiden Optionen aktiv sein, wird eine leere Menge [] angegeben.

4. Weitere Möglichkeiten

Verwendet die Tabelle einen Index, stehen weitere Methoden wie FindNearest zur Verfügung.

Abschluss

Generell ist die Lektüre der Hilfe, insbesondere zu TTable und TQuery, sehr zu empfehlen, da es noch weitere nützliche Methoden und Eigenschaften gibt, die in diesem Tutorial nicht angesprochen wurden.