Einzelnen Beitrag anzeigen

webcss

Registriert seit: 10. Feb 2006
255 Beiträge
 
Delphi XE2 Professional
 
#11

Re: SQL - Anweisung - Kommatrennung

  Alt 29. Jan 2010, 07:16
Zitat von shmia:
Parameter funktionieren hier leider nicht.
Man muss sich daher eine Funktion schreiben:
Delphi-Quellcode:
function GetQuotedKommaString(list:TStrings):string;
begin
   Result := '';
   for i:=0 to list.count-1 do
   begin
     if i =0 then
        Result := QuotedStr(list[i])
     else
        Result := Result + ','+QuotedStr(list[i]);
   end;
end;
...
Query.Sql.Text := 'Select * from MYTABLE where KEY in (' + GetQuotedKommaString(liste_dey_keys) + ')';
Geht natürlich auch einfacher:
Delphi-Quellcode:
liste_dey_keys.QuoteChar:= '"';
liste_dey_keys.Delimiter:= ',';
Query.Sql.Text := 'Select * from MYTABLE where KEY in (' + liste_dey_keys.DelimitedText + ')';
oder

Query.Sql.Text := 'Select * from MYTABLE where KEY in (' + liste_dey_keys.CommaText + ')'; wobei jeweils jeder einzelne string in der liste mit einem leerteichen abgeschlossen sein muss, also
liste_dey_keys[i]:= 'Feldname' + ' ';
"Wer seinem Computer Mist erzählt, muss immer damit rechnen..." (unbekannt)
"Der Computer rechnet damit, dass der Mensch denkt..." (auch unbekannt)
mein blog
  Mit Zitat antworten Zitat