如何从存储过程返回临时表以在C#datareader中使用?

时间:2013-02-28 05:58:30

标签: tsql stored-procedures sqldatareader

我有以下存储过程(T-SQL),我想在C#代码中使用command.ExecuteReader来调用它,这样我就可以遍历引发的任何错误 OR 调用它直接来自SQL。

但是,我不知道如何让临时表返回 - 我只是得到一个“0”回来了?

CREATE PROCEDURE validate
AS
BEGIN
DECLARE @ValidationResults TABLE
  ROWNUM int,
  ATP varchar(max),
  ATD varchar(max),
  ERROR varchar(max)
  )
  SET NOCOUNT ON;

  INSERT INTO @ValidationResults
  SELECT ROWNUM, ATP, ATD, 'ATP must be two characters'
  FROM cb with (TABLOCKX)
  WHERE LEN(ATP) <> 2

  RETURN SELECT * FROM @ValidationResults   
END
GO

1 个答案:

答案 0 :(得分:0)

不要使用return,只需从@ValidationResults中选择行。 This article可以帮助您从存储过程中获取数据。

Here是另一篇有用的文章