C# 调用简单oracle自定义函数的问题
测测试的oracle函数
create or replace function BeenSettled(sExamNo in varchar2) return integer is
sRcptNo varchar2(8);
begin
IF not sRcptNo is null then
return 1;
else
return 0;
end if;
end BeenSettled;
///////////////////////////////////////////////////
OleDbParameter[] Paramslist1 = new OleDbParameter[2];
Paramslist1[0] = new OleDbParameter("sExamNo", OleDbType.VarChar, 50);
Paramslist1[0].Direction = ParameterDirection.Input;
Paramslist1[0].Value = "123";
Paramslist1[1] = new OleDbParameter("result", OleDbType.Integer, 50);
Paramslist1[1].Direction = ParameterDirection.ReturnValue;
string SPName = "BEENSETTLED";
OleDBOracleHelper.ExecuteNonQuery(conn, CommandType.StoredProcedure, SPName, Paramslist1);
ReturnInt = Convert.ToInt32(Paramslist1[1]);
MessageBox.Show(ReturnInt.ToString());
但是总报错:
e.Message "ORA-06550: line 1, column 7:\nPLS-00306: wrong number or types of arguments in call to 'BEENSETTLED'\nORA-06550: line 1, column 7:\nPL/SQL: Statement ignored" string
谁知道为什么?加为架构的问题,必需要用OleDBOracleHelper类来执行。