If (UsersTableAdapter.FillByUsername(Me.DatabaseDataSet1.users, username) <> 0) Then
type = DatabaseDataSet1.users.First.UserType
MsgBox(type)
If type = "Staff" Then
MsgBox("You are staff")
ElseIf type = "Student" Then
MsgBox("You are student")
Else
MsgBox("Something else")
End If
End If
我的代码首先从数据库中获取用户的UserType
。然后,它会将type
与Staff
和Student
的值进行比较。我添加了一个消息框以输出type
,并确认type
已正确从数据库中提取。
为什么在比较中if
还没有true
?
我也尝试过使用.equals()
和.toString()
功能,但仍然没有运气。
答案 0 :(得分:1)
我和@Steve讨论最可能出现的问题。您可能想尝试使用ToLower()
和Trim()
。
请注意以下代码中提到的两个案例(案例和隐藏空格):
Dim Type = "staff "
MsgBox(Type)
If Type.ToLower().Trim() = "Staff".ToLower() Then
MsgBox("You are staff")
ElseIf Type = "Student" Then
MsgBox("You are student")
Else
MsgBox("Something else")
End If