Подтвердить что ты не робот

ExecuteNonQuery() возвращает -1 всегда

Я использую хранимую процедуру для вставки некоторого значения в таблицу.

CREATE PROCEDURE [dbo].[Sp_InsertValue]
@Val1 as nvarchar(50)
@Val2 as nvarchar(50)
as
BEGIN
    IF NOT EXISTS(SELECT * FROM @mytable WHERE [email protected])
    INSERT INTO @mytable VALUES(@VAL2)
END

Я использую ExecuteNonQuery() для вызова этой хранимой процедуры в ASP.NET с использованием С#. Он отлично работает, никаких проблем, он вставляет значения, если они не существуют. Проблема в том, что cmd.ExecuteNonQuery() всегда возвращает -1. Я ожидаю, что если запись вставлена, она должна вернуть 1, а 0, если нет, правильно?

4b9b3361

Ответ 1

Убедитесь, что у вас нет "SET NOCOUNT ON" в хранимой процедуре. Это остановит количество возвращаемых строк. Буквально "NoCount" включен.

Ответ по умолчанию всегда будет "-1" в этой ситуации.