TWorkflowDB events, with another dataset

Can you please give me an example of using events TWorkflowDB, with another dataset ?

Thanks.

You can check wsADO or wsDBX. They are actually descendants and do not use events but instead override methods, but the approach is the same. Here is a sample code for using TADODataset:




function TMyForm.WorkflowDBCreateQuery(Sender: TObject; SQL: string;
    var Dataset: TDataset; var Done: Boolean);
var
  Q: TADOQuery;
begin
  Q := TADOQuery.Create(nil);
  Q.Connection := FConnection;
  Q.Parameters.Clear;
  Q.SQL.Text := SQL;
  Dataset := Q;
  Done := true;
end;


function TMyForm.WorkflowDBAssignSQLParams(Sender: TObject; Dataset: TDataset;
    AParams: TParams; var Done: boolean);
var
  Q: TADOQuery;
  c: integer;
  AParam: TParam;
begin
  Q := TADOQuery(Dataset);
  Q.Parameters.ParseSQL(Q.SQL.Text, true);
 
  for c := 0 to Q.Parameters.Count - 1 do
  begin
    AParam := AParams.FindParam(Q.Parameters[c].Name);
    Q.Parameters[c].DataType := AParam.DataType;
    Q.Parameters[c].Direction := pdInput;
    Q.Parameters[c].Value := AParam.Value;
    if Q.Parameters[c].DataType in [ftString] then
      Q.Parameters[c].Size := Max(1, Length(VarToSTr(Q.Parameters[c].Value)));
  end;
  Done := true;
end;