如何使用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