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