我需要更新字段值,增加旧值。像这样的东西
UPDATE MYTABLE SET FIELD1=FIELD1+VALUE WHERE ....
但是当运行下一个代码时我遇到了这个错误
参数对象不正确
定义的。不一致或不完整
已提供信息
这是我的代码
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');
这句话怎么改写呢?
有什么线索吗?