Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#10

Re: Tabellenfelder in einen String kopieren

  Alt 3. Mär 2007, 13:15
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
  Mit Zitat antworten Zitat