繁体   English   中英

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

[英]How to return table multiple rows from a stored procedure and access those values in C# using ADO.NET?

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

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

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
    IF @tableName='Student_Details'
            select [Name] from Student_Details where [Name] like CONCAT(@P1_string,'%')
        ELSE
            select null as Name
    END

此方法将返回表,如果它对您不起作用,请告诉我。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM