У меня есть SP, который возвращает целочисленное значение. SP не определил какую-либо возвращаемую переменную и он непосредственно возвращает значение, например. вернуться -1, -2 вернутьсяКак получить возвращаемое значение из хранимой процедуры
Я попытался следующий код, но он дает исключение:
Код
AseParameter RetVal = cmd.Parameters.Add ("@ return_value", SqlDbType .int); retval.Direction = ParameterDirection.ReturnValue;
cmd.ExecuteNonQuery(); // Эта строка бросает исключение
Исключение
NotSupportException
BindParameter - Int
Как читать возвращаемое значение?
EDIT
хранимых процедур
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; _ – Steve
Получение ошибки «Невозможно неявно преобразовать тип« объект »в« Sybase.Data.AseClient.AseParameter ». Явное преобразование существует (вам не хватает роли?) –
Не могли бы вы показать код SP? и еще код для запуска SP? –