1
我正在使用查詢更新表上的列值,並且還使用以下方式在ASP.NET網站上檢索更新的值。有沒有什麼辦法可以使用單個查詢而不是下面的雙重查詢?使用sqlcommand檢索asp.net上更新的參數值
using (SqlConnection connection = new SqlConnection(connStr)){
string updateUserQuery = "Update user_master set login_failed_attempts = login_failed_attempts + 1 where id = @id; Select @login_failed = login_failed_attempts from user_master where id = @id";
SqlCommand cmd = new SqlCommand(updateUserQuery, connection);
cmd.Parameters.Add("@id", SqlDbType.Int).Value = user_id;
SqlParameter outputIdParam = new SqlParameter("@login_failed", SqlDbType.Int)
{
Direction = ParameterDirection.Output
};
cmd.Parameters.Add(outputIdParam);
cmd.ExecuteNonQuery();
int loginFailedAttempts = int.Parse(outputIdParam.Value.ToString());
}
更新後的代碼在Matthew的回答後給出。
string updateUserQuery = "Update user_master set login_failed_attempts = login_failed_attempts + 1 OUTPUT INSERTED.login_failed_attempts where id = @id";
SqlCommand cmd = new SqlCommand(updateUserQuery, connection);
cmd.Parameters.Add("@id", SqlDbType.Int).Value = user_id;
int loginFailedAttempts = (int)cmd.ExecuteScalar();
那就是我在找的東西。謝謝。 – gnaanaa