【发布时间】:2016-05-22 08:20:56
【问题描述】:
我有一个返回整数值的 SP。 SP 没有定义任何返回变量,它直接返回值例如返回-1,返回-2
我尝试了以下代码,但它给出了异常:
代码
AseParameter retval = cmd.Parameters.Add("@RETURN_VALUE", SqlDbType.Int); retval.Direction = ParameterDirection.ReturnValue;
cmd.ExecuteNonQuery(); //此行抛出异常
例外
NotSupportException
BindParameter - Int
如何读取返回值?
编辑
存储过程
IF OBJECT_ID('dbo.MySP') IS NOT NULL
BEGIN
DROP PROCEDURE dbo.MySP
IF OBJECT_ID('dbo.MySP') IS NOT NULL
PRINT '<<< FAILED DROPPING PROCEDURE dbo.MySP >>>'
ELSE
PRINT '<<< DROPPED PROCEDURE dbo.MySP >>>'
END
go
create procedure MySP
@param1 char(60),
@param2 char(3),
@param3 int,
@param4 char(4)
as
declare
@somefield1 char(1),
@somefield2 datetime,
If @param1 is null
return -1
If @param2 != "L"
return -2
more code here.....
【问题讨论】:
-
您是否尝试设置一个值? AseParameter retval = cmd.Parameters.Add("@RETURN_VALUE", SqlDbType.Int).Value = 0;
-
出现错误“无法将类型'object'隐式转换为'Sybase.Data.AseClient.AseParameter'。存在显式转换(您是否缺少演员表?)
-
你能显示SP的代码吗?以及更多运行 SP 的代码?
-
上面添加了SP编码。
标签: c# stored-procedures return-value sybase