我有一个存储过程,它返回一个字符串值,我一直在使用执行该SP ExecuteNonQuery
声明。 当我执行,我得到-1作为返回值。
我从来没有使用SET NOCOUNT ON
。 我怎样才能得到返回值? 我没申报的返回值作为OUTPUT
-只是SELECT @VARIABLENAME
。 我如何使用获得的价值ExecuteNonQuery
?
我有一个存储过程,它返回一个字符串值,我一直在使用执行该SP ExecuteNonQuery
声明。 当我执行,我得到-1作为返回值。
我从来没有使用SET NOCOUNT ON
。 我怎样才能得到返回值? 我没申报的返回值作为OUTPUT
-只是SELECT @VARIABLENAME
。 我如何使用获得的价值ExecuteNonQuery
?
ExecuteNonQuery
用于执行查询仅返回受影响的行的数目 (尽管可以填充输出参数)。 -1
意味着没有行受到影响,或者您已设置NOCOUNT上。
如果你需要从存储过程中读取数据使用另一个API调用。
如果只抓住一个值,如果你是在.NET语言特点我会使用ExecuteScalar命令。 我知道Java和类似具有等效的。
http://msdn.microsoft.com/en-us/ibrary/system.data.sqlclient.sqlcommand.executescalar.aspx
的ExecuteNonQuery可以得到回报的数据,如果你有输出PARAMATERS在你的SP。 本文介绍了如何。
http://msdn.microsoft.com/en-us/library/80x06z3b(v=VS.71).aspx
但如果你又是刚刚返回一个字符串的ExecuteScalar更容易使用。