【发布时间】:2014-04-25 02:55:06
【问题描述】:
我使用绝对数据库作为我的数据库。由于绝对数据库不支持触发器,我必须编写自己的 UPDATE 触发器。我试过这种方式:
procedure TDataModule2.ABSQuery6AfterPost(DataSet: TDataSet);
begin
ABSQuery4.Close;
ABSQuery4.SQL.Clear;
ABSQuery4.SQL.Text :='UPDATE MYTABLE SET RECORDCHANGED=CURRENT_TIMESTAMP';
ABSQuery4.ExecSQL;
end;
但是这样我正在更新整个表格。如何仅更新已更改的记录(行)?
编辑:这就是我的工作方式
procedure TDataModule2.ABSQuery6AfterPost(DataSet: TDataSet);
begin
with ABSQuery4 do begin
ABSQuery4.Close;
ABSQuery4.SQL.Clear;
ABSQuery4.SQL.Text :='UPDATE MYTABLE SET RECORDCHANGED=CURRENT_TIMESTAMP WHERE T_ID=:a1';
ABSQuery4.Params.ParamByName('a1').AsInteger := ABSQuery6.FieldByName('T_ID').AsInteger;
ABSQuery4.ExecSQL;
end;
end;
【问题讨论】:
标签: delphi delphi-xe4 absolute-db