Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SQL Server存储过程的Foreach参数_C#_Sql Server_Stored Procedures - Fatal编程技术网

C# SQL Server存储过程的Foreach参数

C# SQL Server存储过程的Foreach参数,c#,sql-server,stored-procedures,C#,Sql Server,Stored Procedures,我想知道SQL Server是否有一种方法可以让我自动列出存储过程包含的所有参数,然后在类似于下面c代码的foreach中使用它 在C#中,它将类似于 Foreach(Parameter param in StoredProcedure) { if(param.value == "All") { param.value = ""; } } foreach显然是SQL代码。您可能在这里试图解决错误的问题,但是-下面是T-SQL语句,它将检索某些存储过程的所有参

我想知道SQL Server是否有一种方法可以让我自动列出存储过程包含的所有参数,然后在类似于下面c代码的foreach中使用它

在C#中,它将类似于

Foreach(Parameter param in StoredProcedure)
{
    if(param.value == "All")
    {
      param.value = "";
    }
}

foreach显然是SQL代码。

您可能在这里试图解决错误的问题,但是-下面是T-SQL语句,它将检索某些存储过程的所有参数:

select * 
from sys.parameters 
where object_id = object_id('procedure_name') 
order by parameter_id

sql server不是mysql。请不要标记不相关的产品。@ZoharPeled已编辑,谢谢。Sql server没有foreach循环。你为什么要这样做?@ZoharPeled正如在c#foreach中看到的那样,我需要捕获任何“All”值并将其更改为“听起来它们应该是
NULL
,而不是
——如果你有混合类型。在SP中,您可以
为参数设置@param=nullif(@param,'All')
,以获取有效(非
'All'
)值或
NULL
,然后使用通常的
,其中(fld=@param或@param为NULL)