Я создал код для отображения правильного сообщения, если имя пользователя и пароль вставлены правильно. Имя пользователя и пароли пользователей извлекаются из таблицы базы данных. Но я всегда получаю сообщение о неправильном имени пользователя и пароле. Я не знаю почему. Вот мой кодподключение базы данных Mysql и визуального базового
Private Sub Button2_Click (ByVal отправитель Как System.Object, ByVal е Как System.EventArgs) Ручки btnLogIn.Click MySqlConn = Новый MySqlConnection
MySqlConn.ConnectionString = "server=localhost;userid=root;password=12345;database=environment"
Dim READER As MySqlDataReader
Try
MySqlConn.Open()
Dim Query As String
Query = "select * from environment.customers where customer_name='" & txtUser.Text & "'and customer_detail='" & txtPass.Text & " '"
COMMAND = New MySqlCommand(Query, MySqlConn)
READER = COMMAND.ExecuteReader
Dim count As Integer
count = 0
While READER.Read
count = count + 1
End While
If count = 1 Then
MessageBox.Show("username and password are correct")
ElseIf count > 1 Then
MessageBox.Show("username and password are duplicate")
Else
MessageBox.Show("username and password are incorrect")
End If
MySqlConn.Close()
Catch ex As MySqlException
MessageBox.Show(ex.Message)
Finally
MySqlConn.Dispose()
End Try
End Sub
End Class
Короткий ответ заключается в том, что счетчик всегда будет как минимум 1. Цикл while будет выполняться хотя бы один раз независимо от результата. Во-вторых, вы должны не хранить ваши пароли как обычный текст. – MaCron