Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.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
如何使用ADO.NET从存储过程返回多行表并在C#中访问这些值?_C#_Sql Server_Ado.net - Fatal编程技术网

如何使用ADO.NET从存储过程返回多行表并在C#中访问这些值?

如何使用ADO.NET从存储过程返回多行表并在C#中访问这些值?,c#,sql-server,ado.net,C#,Sql Server,Ado.net,我想从一个存储过程中返回一个表,比如内联表值返回表,但它是从存储过程中实现的,而不是一个函数,那么我们可以用什么方法来实现呢 我试图使用一个存储过程,但它不工作-实际上这段代码是错误的,但请提供一些适当的解决方案 ALTER PROCEDURE spForFilterUpdateSorting @action NVARCHAR(MAX), @tableName NVARCHAR(MAX), @P1_string NVARCHAR(MAX), @ReturnOut

我想从一个存储过程中返回一个表,比如内联表值返回表,但它是从存储过程中实现的,而不是一个函数,那么我们可以用什么方法来实现呢

我试图使用一个存储过程,但它不工作-实际上这段代码是错误的,但请提供一些适当的解决方案

ALTER PROCEDURE spForFilterUpdateSorting 
    @action NVARCHAR(MAX),
    @tableName NVARCHAR(MAX),
    @P1_string NVARCHAR(MAX),
    @ReturnOutString NVARCHAR(MAX) OUTPUT
AS
BEGIN
    IF @action = 'SEARCH'
        IF @tableName = 'Student_Details'
            IF EXISTS(SELECT [Name] FROM Student_Details 
                      WHERE [Name] LIKE CONCAT(@P1_string, '%'))    
                SELECT
                    @ReturnOutString = (SELECT [Name] FROM Student_Details 
                                        WHERE [Name] LIKE CONCAT(@P1_string, '%')) // I want to return selected value
            ELSE
                SELECT @ReturnOutString = 'null'
END

此方法将返回表,请让我知道它是否对您不起作用。

现在此查询返回一组行,该组行如何从sp返回?如何从sp返回表
    IF @tableName='Student_Details'
            select [Name] from Student_Details where [Name] like CONCAT(@P1_string,'%')
        ELSE
            select null as Name
    END