ExecuteNonQuery()始终返回-1
我正在使用存储过程在表中插入一些值。
CREATE PROCEDURE [dbo].[Sp_InsertValue] @Val1 as nvarchar(50) @Val2 as nvarchar(50) as BEGIN IF NOT EXISTS(SELECT * FROM @mytable WHERE ID=@Val1) INSERT INTO @mytable VALUES(@VAL2) END
我使用ExecuteNonQuery()使用C#在ASP.NET中调用此存储过程。 它工作正常,没有问题,如果它们不存在,它会插入值。 问题是cmd.ExecuteNonQuery()始终返回-1。 我希望如果插入一条记录,它应该返回1,如果没有,则为0,对吧?
检查存储过程中是否没有“SET NOCOUNT ON”。 这将停止返回的影响行数。 字面上’NoCount’是ON。
在这种情况下,默认响应始终为“-1”。