ASP.NET参数从程序传递到存储过程

时间:2013-07-21 07:30:02

标签: asp.net oracle

我目前正在将3个值传递到我的存储过程中以便运行它。但是我的存储过程包含5个参数。只是想知道我需要传递所有5个值才能使它工作或3个会做什么?

我也面临这个问题enter image description here

想知道这个错误是否是由于我将NULL值传递到我的存储过程中引起的?提前谢谢。

修改

以下是我的存储过程中所要求的定义:

create or replace procedure upd_pre_proc_card
(prodOrderNo in varchar2,
userId      in varchar2,
poDate      in varchar2, /* poDate = 'yyyy-mm-dd' */
orderType   in varchar2,
printOption in number)

2 个答案:

答案 0 :(得分:0)

在您的方案(您提供的存储过程)中,是的,您需要提供所有参数。我相信在Oracle中,您可以为参数指定默认值,例如:

create or replace procedure upd_pre_proc_card
(prodOrderNo in varchar2,
userId      in varchar2,
poDate      in varchar2 default null, /* is optional now */
orderType   in varchar2,
printOption in number)

答案 1 :(得分:0)

这可能是因为null值或null值被错误地传递到存储过程继承人如何在将每个值赋值给参数之前检查每个值。

if (String.IsNullOrWhiteSpace(orderType))
{
   Parameters.Add([AddYourValuesHere).Value = DBNull.Value;
}
else
{
   Parameters.Add([AddYourValuesHere]).Value = orderType;
}