【问题标题】:How to check ReturnValue parameter for null using ODP.NET?如何使用 ODP.NET 检查 ReturnValue 参数是否为空?
【发布时间】:2019-07-11 17:34:30
【问题描述】:

我有一个返回数字的 Oracle 函数,有时返回 null(在异常情况下)。 我使用 ODP.NET v2 从 C# 调用此函数。 如何检查返回值是否为空?

我在调试时检查了参数,当返回值为空时,它是这样显示的:

IsNull 属性是私有的,将参数 Value 与 nullDBNull.Value 总是返回 false..

提前致谢

【问题讨论】:

    标签: c# odp.net


    【解决方案1】:

    试试这个

    if(command.Parameters[...].value == null)
    

    【讨论】:

    • 它总是返回false,即使oracle函数实际上返回null
    • @Nina 对象类型是什么?
    • 我不明白你的问题。 Oracle 函数返回数字或 null。该参数定义为 Int32。命令参数值为(object)。
    【解决方案2】:

    或者这个: if (command.Parameters[...].value is DBNull)

    【讨论】:

    • 它总是返回false,即使oracle函数实际上返回null
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-28
    • 2019-01-03
    • 2014-07-04
    • 1970-01-01
    • 2011-01-14
    • 2011-01-23
    相关资源
    最近更新 更多