C# - 我是否必须将参数添加到参数集合中

本文关键字:参数 添加 集合 是否 | 更新日期: 2023-09-27 18:33:04

我有一个存储过程,它有一个类型为 SYS_REFCUROR 的 OUT 参数。在执行该过程之前,我从 C# 添加了除该 OUT 参数之外的所有参数。但是当我执行该过程时,我得到"错误的参数数量或类型"错误。我的问题是,如果我不打算为该参数分配任何值,为什么我必须将其添加到我的参数集合中?

C# - 我是否必须将参数添加到参数集合中

您需要添加该参数,因为在执行存储过程后,sql 的 out 参数的值存储在您在代码中提供的此 out 参数中,您可以在以后的进一步执行中使用它。

如果要省略传递参数,请为输出参数分配默认值,这将解决您的问题。

例如:

CREATE PROCEDURE MyTest
   @Data1 int
   ,@Data3 int = null output 

如果按上述操作,则无需通过代码传递输出参数,它将隐藏您收到的错误。