调用函数时将 CommandType 设置为 StoredPROcedure
Posted
技术标签:
【中文标题】调用函数时将 CommandType 设置为 StoredPROcedure【英文标题】:Setting CommandType to StoredPRocedure when invoking function 【发布时间】:2011-11-02 13:00:03 【问题描述】:当通过 ADO.NET 调用 SQL 函数时,是否允许设置 CommandType.StoredPROcedure?我知道这个枚举的目的是指定一个存储过程;对于函数,应使用 CommandType.Text。但我不喜欢在 .NET 代码中编写一些选择语句 (CommandText = "SELECT foo FROM dbo.Goo")。
感谢
【问题讨论】:
【参考方案1】:是的,它应该可以工作。基本上你应该:
使用 Direction = ParameterDirection.ReturnValue 定义参数以获取结果 调用 ExecuteNonScalar请参阅 GSerg 的这篇文章作为示例:
ExecuteScalar always returns null when calling a scalar-valued function
【讨论】:
以上是关于调用函数时将 CommandType 设置为 StoredPROcedure的主要内容,如果未能解决你的问题,请参考以下文章
cmd.CommandType = CommandType.StoredProcedure;采取的存储过程怎么理解?