我試圖從數據庫中檢索整數值,然後將值增加1,然後使用遞增的值更新數據庫中的相關字段。這是計算用戶輸入錯誤密碼的次數。我的問題是,第一次輸入不正確的密碼時,計數不正確嘗試次數的字段被設置爲2而不是1.如果我接着嘗試另一次不正確的密碼嘗試,則該值設置爲3,這告訴我它正在增加1,但由於某種原因,第一次嘗試計數兩次。任何意見,爲什麼這可能會發生,將不勝感激!儘管初始值爲0,但數據庫值增量變量從2開始而不是1
Dim attempts As Integer = CInt(tblOfficialUser.Rows(0).Item("OfficialInvalidLoginNoAttempts"))
attempts += 1
UpdateOfficialUserAttempts(UserName, CByte(attempts), Nothing)
我也曾嘗試:
下面的代碼按鈕單擊事件後執行
If CInt(tblOfficialUser.Rows(0).Item("OfficialInvalidLoginNoAttempts")) = 1 Then
UpdateOfficialUserAttempts(UserName, CByte(2), Nothing)
ElseIf CInt(tblOfficialUser.Rows(0).Item("OfficialInvalidLoginNoAttempts")) = 2 Then
UpdateOfficialUserAttempts(UserName, CByte(3), Nothing)
Else
UpdateOfficialUserAttempts(UserName, CByte(1), Nothing)
End If
這具有完全相同的結果作爲前面的代碼,我也嘗試過的情況下,聲明結果相同。
http://imgur.com/xhzdKLe < - 這是我在函數中放置了一個斷點並執行後的代碼截圖。它顯示在'+ = 1'之前,嘗試變量最初設置爲0。這被證明是一個非常奇怪和令人沮喪的錯誤。 – pault494
@ pault494在該屏幕截圖中,您並未實際爲'attempts'指定一個值,並且'Integer'的默認值爲0.斷點連接下一行,或者直接跳到下一條語句以查看嘗試的實際值' –