Einzelnen Beitrag anzeigen

Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#3

AW: [MySQL] Select ... where any like '%foo%'? Oder so?

  Alt 9. Aug 2011, 10:31
Ich habs jetzt mal so zusammengefrickelt, das tut zumindest was ich möchte. Performanz ist an der Stelle nicht besonders entscheidend, so dass da die Luft wäre so Dinge wie das folgende zu tun:
Delphi-Quellcode:
// fields: TStringList, und befüllt mit dem Ergebnis von DESCRIBE cbTables.Text
Qry.SQL.Text := 'SELECT id FROM `'+cbTables.Text+'` WHERE ';
for i := 0 to fields.Count-1 do
begin
  Qry.SQL.Add('INSTR(`'+fields[i]+'`, '''+compStr+''')>0 OR INSTR('''+compStr+''', `'+fields[i]+'`)>0');
  if i<fields.Count-1 then
    Qry.SQL.Add(' OR ');
end;
Qry.Open;
if Qry.RecordCount > 0 then
begin
  // fooooo
end;
Nicht hochgradig elegant, aber tut zunächst mal. Für schöneres bin ich aber dennoch sehr offen! Dankschö schonmal.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat