Ich habe eine SP, die Integer-Wert zurückgibt. Der SP hat keine Rückgabevariable definiert und gibt direkt den Wert für z. -1 zurück, Rückkehr -2Wie erhalten Rückgabewert von Stored Procedure
Ich habe versucht, den folgenden Code, aber es gibt Ausnahme:
-Code
AseParameter retval = cmd.Parameters.Add ("@ RETURN_VALUE", SqlDbType .Int); retval.Direction = ParameterDirection.ReturnValue;
cmd.ExecuteNonQuery(); // Diese Zeile wirft Ausnahme
Exception
NotSupportException
bindParameter - Int
Wie Rückgabewert lesen?
EDIT
Stored Procedure
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.....
Haben Sie versucht, einen Wert festzulegen? _AseParameter retval = cmd.Parameters.Add ("@ RETURN_VALUE", SqlDbType.Int) .Wert = 0; _ – Steve
Fehlermeldung "Objekt 'Objekt' kann nicht implizit in 'Sybase.Data.AseClient.AseParameter' umgewandelt werden. Eine explizite Konvertierung ist vorhanden (Vermissen Sie eine Besetzung?) –
Könnten Sie den SP-Code und mehr Code zum Ausführen des oben hinzugefügten SP? –