如何执行SP并获取返回值。下面的代码总是返回null对象。storedprocedure已在数据库中使用与代码中相同的参数进行了测试,但SubSonic sp始终返回null。当通过sql在数据库中执行时,它返回正确的值。
这使用的是SubSonic 3.0.0.3。
myDB db = new myDB();
StoredProcedure sp = db.GetReturnValue(myParameterValue);
sp.Execute();
int? myReturnValue = (int?)sp.Output;在上面的代码中,sp.Output始终为空。在数据库中执行时,返回的变量是一个有效的整数(0或更高),并且从不为null。
存储过程代码如下:
CREATE PROCEDURE [dbo].[GetReturnValue]
@myVariable varchar(50)
AS
declare @myReturn int
BEGIN
set @myReturn = 5;
return @myReturn;
END在SQL Server中执行存储的proc时,返回值为“5”。
发布于 2009-08-20 16:55:50
我复制了存储过程并遍历了SubSonic代码,.Output在任何地方都不会被设置。一种解决办法是使用输出参数并在执行后引用它: sproc.OutputValues;
发布于 2011-11-12 19:04:14
这里有一个简单的方法:
在存储过程中,使用SELECT代替RETURN,如下所示:
SELECT @@ROWCOUNT 或
SELECT @TheIntegerIWantToReturn然后在代码中使用:
StoredProcName.ExecuteScalar()这将返回您在存储过程中选择的单个整数。
发布于 2009-10-01 16:45:28
CREATE PROCEDURE [dbo].[GetReturnValue]
@myVariable varchar(50)
@myReturn BIGINT OUTPUT
AS
declare @myReturn int
BEGIN
set @myReturn = 5;
return @myReturn;
ENDhttps://stackoverflow.com/questions/1301568
复制相似问题