我希望该语句每次进入特定页面时都将数据库更新为1。但是它似乎通过3 :(

   public static void UpdateThreadView(int threadID)
{
    StringBuilder sb = new StringBuilder();
    sb.Append("UPDATE  dbo.Threads");
    sb.Append(" SET Views=(Views+1)");
    sb.Append(" WHERE ThreadsID=@ThreadID");

    string myConnectionString = AllQuestionsPresented.connectionString;

    using (SqlConnection myConnection = new SqlConnection(myConnectionString))
    {
        myConnection.Open();
        SqlCommand sqlCommand = new SqlCommand(sb.ToString(), myConnection);
        sqlCommand.Parameters.Add("@ThreadID", SqlDbType.Int);
        sqlCommand.Parameters["@ThreadID"].Value = threadID;
        sqlCommand.ExecuteNonQuery();

    }
}

最佳答案

在代码中设置一个断点,然后在Visual Studio调试器中运行。

我敢打赌,由于回发和事件的结合,它被调用了3次。

或者,您可以使用SQL事件探查器查看是否发生了多个更新。

关于c# - 更新语句出现问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6543388/

10-17 02:46