一个关于VB 2010加上 SQL SERVER 2008 数据库程序的有关问题

请教大家一个关于VB 2010加上 SQL SERVER 2008 数据库程序的问题?
  Dim cstring As String = "Provider=sqloledb.1;user id=sa;password=a;initial catalog=zywy;date source=txlgl"
        Dim sqlstr As String = "select xingming,mima from txlgl "
        Dim mycon As New OleDbConnection(cstring)
        Try
            mycon.Open()
            ' MessageBox.Show("数据库连接正确", "连接正确对话框")
        Catch oledb As OleDbException
            MessageBox.Show("数据库连接失败", "连接失败对话框")
        End Try
        Dim mycom As New OleDbCommand()
        Dim I As Integer = 0
        mycom.Connection = mycon
        mycom.CommandType = CommandType.Text
        mycom.CommandText = sqlstr
        Dim mydatareader As OleDbDataReader = mycom.ExecuteReader
        mydatareader.Read()
        Try
            While mydatareader.Read()
                If CStr(mydatareader.Item(0)) = CStr(Me.TextBox1.Text) Then
                    MsgBox("登陆成功")
                    main.Show()
                    I = 1
                    mydatareader.Close()
                    mycon.Close()
                End If
            End While   
 Catch oledb As Exception
            MsgBox("数据库连接错误")
        End Try

    End Sub  

End Class

其中运行完 If CStr(mydatareader.Item(0)) = CStr(Me.TextBox1.Text) 后,程序总是跳到end if ,就算我输入的姓名和数据库中的姓名一样,我用单步跟踪查看,程序也总是跳到END IF ,而不执行后面的THEN 语句,请问为什么?谢谢
有或者有什么好的设计登陆窗口的语句,请指教,谢谢啦。
请教VB 2010的问题?

------解决方案--------------------
如果数据库表格中的xingming字段类型是char()即固定字符长度型的,可能该字段后面存在空格,应该去掉空格在和Me.TextBox1.Text比较。可以把比较语句改为:
 If mydatareader.Item(0).tostring.trim= Me.TextBox1.Text.tostring.trim Then