![]() |
Datenbank: Firebird • Version: 2.5 • Zugriff über: TSQL
Fehler beim Suchen
Hallo :)
Ich habe mit folgendem Code eine Suche erstellt
Delphi-Quellcode:
//Funktion um zu Suchen
Function TfrmKundenstamm.Suchen(aSuchbegriff: string) : Boolean; var aktSuchtext : string; Begin aktSuchtext :='%'+Ansiuppercase(aSuchbegriff)+'%'; DMMain.SDS_K.Close; DMMain.SDS_K.DataSet.CommandText := //Welche Felder sollen durchsucht werden ' Select * from KStamm where Upper(ks_Schlüsselnummer) or Upper(ks_name) or Upper(ks_email) or Upper(ks_ort) like ' + QuotedStr(aktSuchtext); DMMain.SDS_K.Open; //if (Not DMMain.SDS_K.IsEmpty) then end; Jetzt wenn ich suche, bekomme ich die 'Fehlermeldung' --> Token unknown - line1, column 57 or. Was habe ich falsch gemacht? |
AW: Fehler beim Suchen
Such mir bitte alle Namen aus dem Telefonbuch, wo der Name in Grossbuchstaben.
Kannst du das rein formal betrachtet erledigen? Eben, kann die Datenbank auch nicht ;) Und Parameter sind auch immer gerne gesehene Gäste ... |
AW: Fehler beim Suchen
SQL-Code:
Select *
from KStamm where ks_Schlüsselnummer containing :Suchbegriff or ks_name containing :Suchbegriff or ks_email containing :Suchbegriff or ks_ort containing :Suchbegriff |
AW: Fehler beim Suchen
Und rein formal (damit Firebird das auch versteht) müsste es lauten:
SQL-Code:
WHERE
Feld1 LIKE Suchbegriff OR Feld2 LIKE Suchbegriff OR Feld3 LIKE Suchbegriff --usw. usf. |
AW: Fehler beim Suchen
3x der selbe Parameter? (:Suchbegriff)
Ich hab irgendwie im Hinterkopf, das das Ärger gibt.
SQL-Code:
sollte auf jeden Fall gehen.
where feld1 like :Suchbegriff1
or feld2 like :Suchbegriff2 or feld3 like :Suchbegriff3 Gruß K-H |
AW: Fehler beim Suchen
Und warum kein CONTAINING? Sollte schneller sein.
|
AW: Fehler beim Suchen
Zitat:
|
AW: Fehler beim Suchen
Ah ja
Gruß K-H |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz