AnyDAC
ContentsIndexHome
Example 1
procedure TForm1.ADQuery1UpdateRecord(ASender: TDataSet; ARequest: TADUpdateRequest;
 var AAction: TADErrorAction; AOptions: TADUpdateRowOptions);
begin
  if ARequest = arInsert then begin
    // set the SQL command to insert new record
    ADQuery2.SQL := 'insert into mytab (id, code, name) values (:id, :code, :name) returning tmstamp into :ts';

    // set parameter values
    ADQuery2.Params[0].Value := ASender['id'];
    ADQuery2.Params[1].Value := ASender['code'];
    ADQuery2.Params[2].Value := ASender['name'];

    // specially define TS parameter
    ADQuery2.Params[3].DataType := ftDateTime;
    ADQuery2.Params[3].ParamType := ptOutput;

    // insert new record
    ADQuery2.ExecSQL;

    // move TS output parameter value back to dataset
    ASender['tmstamp'] := ADQuery2.Params[3].Value;

    // return 'Ok' status
    AAction := eaApplied;
  end;
end;