I'm not even sure this can be done. I have a requirement to call an
Oracle function (that returns a value) from C# code. The Oracle
function is as follows:
FUNCTION get_rec_final_q tr_count
(
"P_YEAR" IN NUMBER,
"P_QUARTER" IN NUMBER
)
RETURN Int
IS
p_count Int;
BEGIN
SELECT COUNT(prl_pay_p eriod_payroll_i d) INTO p_count FROM
prl_pay_period_ payroll
WHERE year = p_year AND quarter = p_quarter AND quarter_end_rep ort =
'T';
RETURN p_count;
END get_rec_final_q tr_count;
The C# code I'm trying to use is as follows:
objConnect.Conn ect();
OracleCommand DBCmd =
new
OracleCommand(" HDB.PRL_PAY_PER IOD_PAYROLL_PKG .get_rec_final_ qtr_count",
objConnect.Conn ection);
DBCmd.CommandTy pe = System.Data.Com mandType.Stored Procedure;
DBCmd.Parameter s.
DBCmd.Parameter s.Add("P_YEAR", OracleDbType.In t32);
DBCmd.Parameter s["P_YEAR"].Direction =
System.Data.Par ameterDirection .Input;
DBCmd.Parameter s["P_YEAR"].Value = Year;
DBCmd.Parameter s.Add("P_QUARTE R", OracleDbType.In t32);
DBCmd.Parameter s["P_QUARTER"].Direction =
System.Data.Par ameterDirection .Input;
DBCmd.Parameter s["P_QUARTER"].Value = Quarter;
Count = (Int32)DBCmd.Ex ecuteScalar();
Am I doing something wrong?
Thanks for your help.
Steve