2013-07-21 96 views
0

我正在传递3个值到我的存储过程中运行。但是,我的存储过程包含5个参数。只是想知道我是否需要通过所有5个值才能使其工作,或者3个会执行?从程序传递到存储过程的ASP.NET参数

我也面临这个问题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

它取决于存储过程中的参数定义,您不在此处发布,因此我们无法确定。 – Oded

+0

并且请**还向我们展示**您如何从您的ASP.NET代码中调用此存储过程! –

回答

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) 
0

传递错误到存储过程继承人,你应该如何分配前检查每一个值,这可能是因为空值或空值的它给一个参数。

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