Может кто-нибудь мне помочь и объяснить, почему этот код вылетает в операторе ExecSQL?
function UpdateLastBankResponsesId(ADatabase: TDatabase; AValue: Integer): String; var AQuery2: TQuery; begin result:= ''; AQuery2:= TQuery.Create(nil); AQuery2.DatabaseName:= ADatabase.DatabaseName; with AQuery2 do begin SQL.Text:= 'UPDATE last_id Set TABLENAME =:ATableName, LASTID=:ALastId'; ParamByName('ATableName').AsString:= 'responses'; ParamByName('ALastId').AsInteger:= AValue; try ExecSql; //***** CRASHES HERE ***** except begin ExitCode:= 16; raise ECustomException.create('Error Updating Last Id table!'); end;//except end; //try end; //with AQuery2.Free; end;
Я пытался установить значение, которое уже существовало
Set TABLENAME =:ATableName
Мне на самом деле нужно было только установить LASTID
UPDATE last_id SET LASTID=:ALastId WHERE TABLENAME =:ATableName
Не могу поверить, что сделал это