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;
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;