调用函数时将 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的主要内容,如果未能解决你的问题,请参考以下文章

从 .NET 调用表值 SQL 函数

使用 ADO .NET 调用 SQL 函数

CommandType

cmd.CommandType = CommandType.StoredProcedure;采取的存储过程怎么理解?

为啥我们在调用 bind() 时将 sockaddr_in 转换为 sockaddr?

如何在运行时将 rowstate 属性设置为已删除?