Para que guarde la fecha de modificación lo mejor, como comentas, es hacerlo por trigger.
Suele ser sencillo. Por ejemplo, en Firebird sería algo así
Código SQL
[-]
create trigger ticket_bu0 for ticket active before update position 0
as
begin
new.fecha_ultima_modificacion = 'NOW';
end
Si lo quieres hacer en el update sería parecido:
Código Delphi
[-]
ADOQueryUpdate.SQL.ADD('update tiket set Estatus = :Estatus,Usuario= :Usuario, fecha_ultima_modificacion = ''NOW'' WHERE Item = :Item');
A tener en cuenta: ¿Qué fecha deseas utilizar?
La del servidor de base de datos o la del ordenador que ejecuta la aplicación.
Puede ser que el ordenador esté en España y el servidor hospedado en Estados Unidos, con una diferencia horaria que necesitas tener en consideración.
Si deseas la fecha del ordenador, deberás pasarla por parámetro:
Código Delphi
[-]
ADOQueryUpdate.SQL.ADD('update tiket set Estatus = :Estatus,Usuario= :Usuario, fecha_ultima_modificacion = :fecha_ultima_modificacion WHERE Item = :Item');
...
ADOQueryUpdate.Parameters.ParamByName ('fecha_ultima_modificacion').Value := Now;