DruckenMister WongFacebook

In einer Datenbank weitersuchen

System Win9x, WinNT, Win2000, WinXP, Vista, Win7
Ab Delphi-Version Delphi 1
Letzte Änderung 28.09.2010

Folgende Prozedur öffnet eine Tabelle und sucht mit FindFirst und FindNext. Zum Vergleich werden die Werte mittels AnsiLowerCase in Kleinbuchstaben umgewandelt.

procedure DatabaseSearch(DatabaseFilename, TablePart, SearchString: string);
var
  DataSource: TDataSource;
  DSTable: TTable;
begin
  DataSource := TDataSource.Create(Form1);
  DSTable := TTable.Create(Form1);
  try
    DataSource.DataSet := DSTable;
    DSTable.TableName := DatabaseFilename;
    DSTable.Active := true;
    if DSTable.FindFirst then begin
      repeat
        if AnsiLowerCase(DSTable.FieldByName(TablePart).AsString) =
          AnsiLowerCase(SearchString) then begin
          // Hier kann man nun auf die Daten der einzelnen Einträge zugreifen
          // über z. B. DSTable.FieldByName('ID').AsInteger usw.
        end;
      until DSTable.FindNext = false;
    end;
  finally
    DataSource.free;
    DSTable.free;
  end;
end;