Einzelnen Beitrag anzeigen

jensw_2000
(Gast)

n/a Beiträge
 
#2

Re: ADS Spalte einlesen, filtern, in andere Spalte einfügen

  Alt 7. Mär 2006, 01:39
Ich habe bisher noch nicht mit ADS Datenbanken gearbeitet, aber hier 2 Ansätze die imho laufen sollten:

1.
Delphi-Quellcode:
var
  id : integer;
  s : string;
  Q: TAdsQuery;
begin
  
  Q:=TAdsQuery.create(self);
  try
    Q.connection:=<DeineAdsConnection>;
    Q.SQL.Text:='UPDATE <Tabelle> SET [tsuche] = :matchcode WHERE ID = :DatensatzID');
    Q.Prepared := true; // << weiss nicht, ob das bei ADS nötig ist ....
    
    ADSTable1.DisableControls;
    try
      While not ADSTable1.eof do
      begin
        s := ADSTable1.FieldByName('<Das Quellfeld>').asstring;
        id := ADSTable1.FieldByName('ID').asstring;
        s := Stringreplace(s,'/','',[rfReplaceAll]);
        s := Stringreplace(s,'-','',[rfReplaceAll]);
        s := Stringreplace(s,' ','',[rfReplaceAll]);
        
        Q.Parameters.ParamByName('DatensatzID').value :=id;
        Q.Parameters.ParamByName('matchcode').value :=s;
        Q.ExecSQL;

        AdsTable1.next;
      end;
    finally
      ADSTable1.EnableControls;
    end;
  finally
    FreeAndNIL(Q);
  end;
end;

2.

Veruche mal einfach in deinem Code
Delphi-Quellcode:
for i:=1 to ADSTable1.RecordCount-1 do
begin
  ...
end;
durch
Delphi-Quellcode:
ADSTable1.first;
While not ADSTable1.eof do
begin
  ...
  ADSTable1.next;
end;
zu ersetzen ...

Mit deiner FOR TO Schleife bewegst du den Datensatzzeiger nicht.
Zumindest must du da noch ein Recno:=i mit einbauen damit das funktioniert.



Schöne Grüße,
Jens
  Mit Zitat antworten Zitat