ORA-01403无数据发现错误

本文关键字:错误 发现 数据 ORA-01403 | 更新日期: 2023-09-27 18:05:20

我有一个简单的选择查询返回我的数据。

select COL_DES from MY_TABLE where COL_CODE = 'ABC';

但是当我用in过程封装它并从我的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 no data found error.

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

ORA-01403无数据发现错误

这是我的编码错误。列"COL_CODE"是一个类型为"CHAR"的列,用于表示"type_code"的参数是一个"VARCHAR2"。一旦我将"type_code"从code和过程更改为"CHAR",它就可以正常工作了。

谢谢,(Kunal