为什么不从存储过程中获取所需的输出

时间:2012-11-07 02:36:43

标签: c# sql-server linq linq-to-sql stored-procedures

为了满足我的一个要求,我需要将SQL查询作为参数传递给存储过程。

我的存储过程语法是:

create PROCEDURE spSelect 
    @Query VARCHAR(500)
AS 
    EXEC( @Query)  
    return  

要执行该存储过程,我使用此C#代码:

DataContex db=new DataContex();
    String sSQL = " SELECT OrderID,ShipName FROM dbo.Orders";
    var result = db.spSelect(sSQL);

执行后,result0

需要帮助来了解发生了什么,为什么不能获得所需的输出

如果有任何疑问,请提前致谢

1 个答案:

答案 0 :(得分:1)

您需要使用sp_executesql (Transact-SQL)执行它:

create PROCEDURE spSelect 
@Query VARCHAR(500)
AS 
    EXECUTE sp_executesql @Query
 return