Thema: Delphi Abfragemaske designen

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#2

Re: Abfragemaske designen

  Alt 19. Nov 2005, 02:29
Also bei mySQL konnte man den Suchsting auch als String angeben, selbst wenn es sich um 'ne Zahl im DB-Feld handelte.


Demnach würde ich es also in etwa so machen:
Delphi-Quellcode:
SuchString := '';

S := Trim(Edit1.Text);
If S <> 'Then Begin
  If SuchString <> 'Then SuchString := SuchString + ' AND ';
  If Pos('*', S) = 0 Then SuchString := SuchString + ''FELD1="' + S + '"'
Else SuchString := SuchString +
'FELD1 LIKE "' + S + '"';
End;

If SuchString <>
'' Then Begin
SuchString :=
'... WHERE ' + SuchString;
{suchen}
End;
Der mittlere Teil würde dann für jedes Edit-Feld einmal vorhanden sein.

Und wenn auch gesucht werden soll, falls nirgends was ordentliches eingegeben wurde, dann für den letzten Abschitt eines der Folgenden:
Delphi-Quellcode:
If SuchString = 'Then SuchString := '... WHERE 1'
Else SuchString := '... WHERE ' + SuchString;
{suchen}
Delphi-Quellcode:
If SuchString = 'Then SuchString := '1';
SuchString := '... WHERE ' + SuchString;
{suchen}

PS: ich hab jetzt allerdings nicht prüfen lassen, ob z.B. schädlicher Code in den Eingabefeldern steht, ebenfalls werden noch keine zeichen maskiert, welche eventuell den SQL-Code stören könnten.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat