Мне нужно обновить значение поля, увеличив старое значение. что-то вроде тысAdoQuery Ошибка с использованием параметров
UPDATE MYTABLE SET FIELD1=FIELD1+VALUE WHERE ....
но при запуске следующего кода я эта ошибка
объект Parameter неправильно определены. Противоречивые или неполной информация была предоставлена
это мой код
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;
я попытался кратные комбинации
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');
Только когда я попробовал это, он работает. (Очевидно, что это не является допустимым вариантом, но покажите мне, где проблема)
AdoQuery.SQL.Add('UPDATE DIPTT SET VALRECON=:RECON WHERE NUM=:NUM AND LIN=:LIN');
Как переписать этот sentece?
Любые подсказки?
спасибо за опечатку коррекция. – Salvador