我正在尝试从数据库中检索整数值,将值递增1,然后使用递增的值更新数据库中的相关字段。这是计算用户输入错误密码的次数。我的问题是,第一次输入错误的密码时,计算错误尝试次数的字段设置为2而不是1.如果我再做一次错误的密码尝试,则将值设置为3,这告诉我它增加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
这与前面的代码完全相同,我也尝试了一个结果相同的case语句。
答案 0 :(得分:0)
作为第一次检查,我会检查返回的值
CInt(tblOfficialUser.Rows(0).Item("OfficialInvalidLoginNoAttempts"))
确保它返回0
。
如你所说,你的第二个例子有同样的问题,我怀疑它会返回1
,而不是0
。
答案 1 :(得分:0)
我找到了问题的解决方案。该函数被调用了两次;一次在html按钮中单击参数,然后再次在单击事件处理程序后面的代码中。我这个愚蠢的错误,但仍然吸取了教训。