Как определить, было ли обновление успешным - PullRequest
0 голосов
/ 26 марта 2019

У меня есть следующий SP:

ALTER PROCEDURE [dbo].[UpdateOwnerSelectedSkinId]
        (
            @emailAddress VARCHAR(100),
            @skinId int,
            @ownerSkinGroup VARCHAR(100)
        )
    AS
    BEGIN
        SET NOCOUNT ON;
        Update dbo.Owner
         SET  
         SkinId = @skinId, OwnerSkinGroup = @ownerSkinGroup
        WHERE
            EmailAddress = @emailAddress
    END

В настоящий момент, если я вызываю это сообщение с действительным или недействительным адресом электронной почты, значение, возвращаемое SP, всегда равно 0. Как я могу определить, сработало ли обновлениеили нет.

1 Ответ

1 голос
/ 26 марта 2019

Если «успешно» означает, что любая запись / записи обновлены, вы можете установить SET NOCOUNT OFF, и количество затронутых строк будет возвращено клиенту.

В ваших комментариях вы говорите, что используете SqlCommand.ExecuteReader, но ваш SP не возвращает никакого набора результатов.Вместо этого вы должны использовать SqlCommand.ExecuteNonQuery, который будет возвращать количество затронутых строк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...