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;