我遇到的问题是存储过程仅从一个调用执行两次。我就是这样称呼的:
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次,我对此问题没有任何线索。