我有一个简单的选择查询,它返回数据。
select COL_DES from MY_TABLE where COL_CODE = 'ABC';
但是当我在程序中封装它并从我的C#代码调用它时,我得到ORA-01403没有找到数据错误。 这就是我在做的事情:
PROCEDURE GET_DESCRIPTION(
type_code IN VARCHAR2,
type_desc OUT VARCHAR2
)
IS
BEGIN
select COL_DES into type_desc
from LOANIQ.MY_TABLE
where COL_CODE = type_code;
END;
从C#代码中,我确实将type_code作为'ABC'传递,但我没有得到任何结果。相反,我得到一个oracle错误 - ORA-01403没有发现数据错误。
comm.Parameters.Add("type_code", OracleDbType.Varchar2, ParameterDirection.Input).Value ="ABC";
comm.Parameters.Add("type_desc", OracleDbType.Varchar2, 1024).Direction = ParameterDirection.Output;
comm.BindByName = true;
comm.ExecuteNonQuery();
对此的任何帮助都将非常感激。
注:Kunal
答案 0 :(得分:0)
这是我的编码错误。列“COL_CODE”是类型“CHAR”列,用于等同“type_code”的参数是“VARCHAR2”。 一旦我从代码和proc中将“type_code”更改为“CHAR”,它就可以正常工作。
谢谢, KUNAL