如何确定更新是否成功

时间:2019-03-26 11:49:18

标签: sql-server

我有以下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 个答案:

答案 0 :(得分:1)

如果“成功”表示已更新任何记录,则可以设置SET NOCOUNT OFF,受影响的行数将返回给客户端。

在您的注释中,您说您使用SqlCommand.ExecuteReader,但是您的SP不返回任何结果集。相反,您应该使用SqlCommand.ExecuteNonQuery来返回受影响的行数。