AdoQuery-Fehler bei der Verwendung von Parametern

Ich muss einen Feldwert aktualisieren und den alten Wert erhöhen. so etwas wie ths

UPDATE MYTABLE SET FIELD1=FIELD1+VALUE WHERE ....

aber wenn der nächste Code ausgeführt wird, habe ich diesen Fehler

Parameterobjekt ist falsch definiert. Es wurden inkonsistente oder unvollständige Informationen bereitgestellt

Das ist mein Code

AdoQuery:=TADOQuery.Create(nil);
    try
        AdoQuery.Connection:=FAdoConnection;
        AdoQuery.Active:=False;
        AdoQuery.Parameters.CreateParameter('RECON',ftFloat,pdInput,SizeOf(Double),d1);
        AdoQuery.Parameters.CreateParameter('NUM',ftInteger,pdInput,SizeOf(Integer),Trans);
        AdoQuery.Parameters.CreateParameter('LIN'   ,ftInteger,pdInput,SizeOf(Integer),Lin);
        AdoQuery.SQL.Clear;
        AdoQuery.SQL.Add('UPDATE DIPTT SET VALRECON=:RECON+VALRECON WHERE NUM=:NUM AND LIN=:LIN');
        AdoQuery.Prepared:=True;
        AdoQuery.ExecSQL;
    finally
        if AdoQuery.Active then AdoQuery.Close;
        AdoQuery.Free;
    end;

Ich habe mehrere Kombinationen ausprobiert

1)

    AdoQuery.SQL.Add('UPDATE DIPTT SET VALRECON=VALRECON+:RECON WHERE NUM=:NUM AND LIN=:LIN');

2)

        AdoQuery.SQL.Add('UPDATE DIPTT SET VALRECON=(VALRECON)+:RECON WHERE NUM=:NUM AND LIN=:LIN');

Nur wenn ich das ausprobiert habe, funktioniert es. (Offensichtlich ist dies keine gültige Option, aber zeigen Sie mir, wo das Problem liegt.)

        AdoQuery.SQL.Add('UPDATE DIPTT SET VALRECON=:RECON WHERE NUM=:NUM AND LIN=:LIN');

Wie kann man diesen Satz umschreiben?

Irgendwelche Hinweise?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage