Nic*_*ahn 0 sql-server linq-to-sql
我想知道在SQL中是否可以从存储过程返回varchar值,我看到的大多数示例返回值都是int
proc中的示例
declare @ErrorMessage varchar(255) if @TestFlag = 0 set @ErrorMessage = 'Test'
return @ErrorMessage
Run Code Online (Sandbox Code Playgroud)
在asp.net上调用更新:
错误: 将varchar值'Development'转换为数据类型int时转换失败.
using (DataContextDataContext dc = conn.GetContext())
{
string serverName = ""
var result = dc.spGetServerName(ref serverName);
return result.ToString();
}
Run Code Online (Sandbox Code Playgroud)
不,除了使用RETURN语句的int之外,你不能返回任何东西.您需要使用OUTPUT参数.它们更灵活.
例如
CREATE PROCEDURE dbo.ExampleSproc
@OutParam VARCHAR(10) OUTPUT
AS
SET @OutParam = 'Test'
...
GO
Run Code Online (Sandbox Code Playgroud)
更新:
有关如何检索输出参数的示例,请参阅此文章.
| 归档时间: |
|
| 查看次数: |
589 次 |
| 最近记录: |