I have a problem with TOraStoredProc.
I creates parameters for TOraStoredProc manually using AddParam function. For example, I have a stored procedure on my server:
Code: Select all
create or replace procedure "PROC1"
(
operation NUMBER,
object_id NUMBER
) AS
...
Code: Select all
var parameter : TOraParam;
_storedProcedure : TOraStoredProc;
...
parameter := TOraParam.Create ( nil );
parameter.Name := 'operation';
parameter.ParamType := ptInput;
parameter.Value := value1;
_storedProcedure.Params.AddParam ( parameter );
parameter.Name := 'object_id';
parameter.ParamType := ptInput;
parameter.Value := value2;
_storedProcedure.Params.AddParam ( parameter );
_storedProcedure.Execute ();
But if I omit one of these parameters like this:
Code: Select all
parameter.Name := 'operation';
parameter.ParamType := ptInput;
parameter.Value := value1;
_storedProcedure.Params.AddParam ( parameter );
_storedProcedure.Execute ();
If I use auto creation:
Code: Select all
_storedProcedure.ParamByName ( 'operation' ).AsInteger := value1;
_storedProcedure.ParamByName ( 'object_id' ).AsInteger := value2;
Is it bug, or I forget something? I need create parameters manually and sometimes omit one of them. How to fix it?
Thanks!