Hallo,
hier ein Beispiel, wie du eine Liste mit Feldnamen übergibst und diese Liste mit Name-Wert-Paaren zurück bekommst:
Delphi-Quellcode:
procedure FetchNamedValues(ds: TCustomADODataSet; s: TStrings);
var
i: Integer;
f: TField;
begin
with ds do
for i := 0 to Pred(s.Count) do
begin
f := Fields.FindField(s[i]);
if Assigned(f) then
if Fields[i].IsNull then
s.ValueFromIndex[i] := ''
else
if Fields[i].IsBlob then
s.ValueFromIndex[i] := BlobToStr(f as TBlobField, False)
else
s.ValueFromIndex[i] := f.AsString;
end;
end;
Das ist keine Universallösung. Du kannst auch eine getrennte Namensliste oder ein Namen-Array verwenden. Oder du ersetzt einfach die Feldnamen durch ihre Feldwerte. Nimm es einfach als Denkanstoß.
Freundliche Grüße