阻止SQL存储过程执行两次

时间:2014-07-17 12:07:47

标签: sql asp.net-mvc stored-procedures model-view-controller

我遇到的问题是存储过程仅从一个调用执行两次。我就是这样称呼的:

        using (SqlConnection conn = new SqlConnection(DatabaseConnection(read_intent: false)))
        {
            SqlCommand cmd = new SqlCommand("prc.name", conn);
            cmd.Parameters.AddWithValue("@test", object.test);
            cmd.CommandType = CommandType.StoredProcedure;
            conn.Open();
            cmd.ExecuteNonQuery();
            conn.Close();
        }

和我的存储过程:

ALTER procedure [prc.name]
@test int,
as
begin try
set nocount on
    update tbl.name set 
        value_count = (value_count + 1),
        _test = @test
end try

问题是当我检查value_count并且它没有增加1,而是通过调用该过程一次增加2。执行该过程后,我会抛出异常写入,以确保我不从其他地方调用它。为此提供了帮助,因为我从头到尾看了整个过程20次,我对此问题没有任何线索。

0 个答案:

没有答案