-2

为了满足我的要求之一,我需要将 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);

执行后,result就是0.

需要帮助来了解发生了什么,为什么我没有得到想要的输出

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

4

1 回答 1

1

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

create PROCEDURE spSelect 
@Query VARCHAR(500)
AS 
    EXECUTE sp_executesql @Query
 return 
于 2012-11-07T02:52:23.350 回答