Visual Basic字符串等于运算符不工作

时间:2014-07-10 21:26:38

标签: string visual-studio visual-studio-2013 comparison basic

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。然后,它会将typeStaffStudent的值进行比较。我添加了一个消息框以输出type,并确认type已正确从数据库中提取。

为什么在比较中if还没有true

我也尝试过使用.equals().toString()功能,但仍然没有运气。

1 个答案:

答案 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