1

ログインに問題があります...私の問題を説明しましょう。問題は、制限付きでログインを作成したいということです。バインディングソースプロパティがデータベースに変更されたテキストボックスがあります。しかし、データベースにないものを入力すると、プログラムがフリーズします。コードを投稿します。あなたが私を助けてくれることを願っています(=

Private Sub KryptonButton1_Click(ByVal sender As System.Object, 
                                 ByVal e As System.EventArgs) 
            Handles KryptonButton1.Click

    If txtUser.Text <> UserTextBox.Text Then
        While txtUser.Text <> UserTextBox.Text
            Me.UsuarioContraseñaBindingSource.MoveNext()
        End While
        If txtUser.Text = UserTextBox.Text Then
            KryptonMessageBox.Show("Welcome")
        Else
            KryptonMessageBox.Show("Error")
        End If
    End If

End Sub
4

2 に答える 2

2

コード内のループとその終了条件を詳しく見てください…どのような状況でループが終了しますか?そうでなければどうなりますか?

一般に、すべてのシナリオを実行してカバーする必要がありますが、ここでシナリオをすでに知っています。ユーザー入力がデータベースになく、アプリケーションがフリーズします。これは、原因を見つけるための十分なヒントを提供するはずです。

于 2012-07-23T13:33:52.793 に答える
0
Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
        If txt_user.Text <> vbNullString And txt_pass.Text <> vbNullString Then
            Dim chkcmd As New SqlCommand("select * from users where username = '" & txt_user.Text & "' and password = '" & txt_pass.Text & "'", con)
            If con.State = ConnectionState.Open Then con.Close()
            con.Open()
            Dim chkval As SqlDataReader = chkcmd.ExecuteReader
            If chkval.Read = True Then
                Me.Hide()
                Form2.Show()
            Else
                MsgBox("Invalid key to login!", MsgBoxStyle.Exclamation, "Message")
                txt_pass.Clear()
                txt_user.Clear()
                txt_user.Select()
            End If
            con.Close()
        End If
    End Sub
于 2014-01-07T03:56:06.397 に答える