【问题标题】:How to return table multiple rows from a stored procedure and access those values in C# using ADO.NET?如何从存储过程返回表多行并使用 ADO.NET 在 C# 中访问这些值?
【发布时间】:2019-07-03 05:51:16
【问题描述】:

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

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

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

【问题讨论】:

    标签: c# sql-server ado.net


    【解决方案1】:
        IF @tableName='Student_Details'
                select [Name] from Student_Details where [Name] like CONCAT(@P1_string,'%')
            ELSE
                select null as Name
        END
    

    此方法将返回表格,如果它不适合您,请告诉我。

    【讨论】:

    • 现在这个查询返回一组行,那组行从sp返回如何? sp如何返回表
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-30
    • 2015-11-04
    • 2015-12-05
    • 2023-04-01
    • 2014-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多