Output Parameters

Adriano

Member
Hello,

I have just downloaded the DOA version for Delphi 5 and until now I'm very well impressed about de functionalities it implements.

For now I have a question: I use MIDAS in Delphi 5 with an Oracle Stored Procedure that has input parameters as well as output parameters. I replaced the original TStoredProc Delphi component by the DOA's TOracleDataSet, that became associated to a TDataSetProvider. The problem is that in the Client side I have a ClientDataSet that links to that TDataSetProvider and all of the parameters became as ptInput ParamType. As a consequence, the values of output parameters are not updated after I call the Execute method of ClientDataSet. I know that if I call a FetchParams method after the Execute I can work around this situation but I would prefer if there was a solution that I did not have to change the Client Application.

Any help would be greatly appreciated.
 
If you are using Direct Oracle Access 3.4.4 or later, this should work okay if you define the Params of the TClientDataSet correctly.

------------------
Marco Kalter
Allround Automations
 
I downloaded the Version 3.4.6 for Delphi 5.
In fact when I set the ParamType as ptOutput before calling the Execute method, all ptOutput parameters are correctly updated. But the next time I call FetchParams all Params become ptInput again. As my Stored procedure has 38 parameters and 27 of them are Output, I thought that could exist another solution. The worse part is that my client is a little spreaded and I would not like to have it deployed again !
Any other idea ?
 
OK, OK !
The problem is: if you have only ptInput parameters you can call FetchParams once and they keep available forever. But, if you have ptInput as well as ptOutput parameters in the same Client Dataset, After you call the Execute method all the ptInput parameters DISAPPEAR, for the next time you want to execute it again you must call FetchParams before, in order to restore the ptInput Parameters.
 
Back
Top