Einzelnen Beitrag anzeigen

jensw_2000
(Gast)

n/a Beiträge
 
#8

Re: DBGRID über Lookupcombobox oder Edit feld Selektieren

  Alt 9. Aug 2005, 15:00
Es gibt eine weniger gute Alternative ....

Delphi-Quellcode:
if trim(Edit1.text) <> 'THEN
SQLWHERE :='Vorname = '''+edit1.text+'''
else begin
SQLWHERE = '(Vorname LIKE ''%'') OR (Vorname IS NULL)';
end;
und eine gute Alternative ...

Wenn ein Feld nicht "gefiltert" werden soll, dann baue die Bedingung garnicht erst in die WHERE Klausel ein.

Delphi-Quellcode:
if trim(such_vorname.text) <> 'THEN
SQLWHERE1 :='Vorname = '''+such_vorname.text+'''
else
SQLWHERE1 = '';

if trim(such_name.text) <> 'THEN
SQLWHERE2 :='Name = '''+such_name.text+'''
else
SQLWHERE2 = '';

IF (SQLWHERE1<>'') AND (SQLWHERE2<>'') THEN
  SQLWHERE1:=SQLWHERE1+' AND ';

SQLWHERE_COMPLETE:=SQLWHERE1+SQLWHERE2;
So kommst du ohne LIKE aus, und wenn du z.B. nur nach Vornamen suchst, wird auch nur " Vorname = ''Paul'' " als Bedingung in die WHERE Klausel geschrieben. "Name" kann einen beliebigen Wert enthalten oder NULL sein ...

  Mit Zitat antworten Zitat