Einzelnen Beitrag anzeigen

Jacuzzi

Registriert seit: 31. Aug 2005
20 Beiträge
 
Delphi 7 Professional
 
#17

Re: memo Feld in Datenbank durchsuchen

  Alt 24. Jan 2007, 08:42
@ marabu
So funktioniert das leider nicht.

Bei mir klappt das nur so:
Delphi-Quellcode:
      
// erster zu suchender String
Query1.SQL.Text := 'SELECT * FROM ''' + DB_NAME + ''' WHERE (titel LIKE ''%' + fwoerter[0] +
  '%'' OR problem LIKE ''%' + fwoerter[0] + '%'' OR loesung LIKE ''%' + fwoerter[0] + '%'')';

// weitere zu suchende Strings (anfügen)
for i := 1 to length(fwoerter)-1 do
  Query1.SQL.Text := Query1.SQL.Text + ' AND (titel LIKE ''%' + fwoerter[i] +
    '%'' OR problem LIKE ''%' + fwoerter[i] + '%'' OR loesung LIKE ''%' + fwoerter[i] + '%'')';

// auszuschließende Strings (anfügen)
for i := 0 to length(fwoerter_)-1 do
  Query1.SQL.Text := Query1.SQL.Text + ' AND (NOT (titel LIKE ''%' + fwoerter_[i] +
    '%'' OR problem LIKE ''%' + fwoerter_[i] + '%'' OR loesung LIKE ''%' + fwoerter_[i] + '%''))';
So funktioniert das aber auch nur wenn ich nur einen String ausschließe...
wenn ich zwei oder mehrere Strings auschließen will, dann wird alles rausgefiltert.
Liegt wahrscheinlich daran, dass es dann so aussieht:

AND (NOT (... OR ...)) AND (NOT (... OR ...))

wobei es aber bei mehreren Ausschließungen sicher so sein müsste:

AND (NOT (... OR ... OR ... OR ...))


Hannes
  Mit Zitat antworten Zitat