Я использую VB.Net с базой данных MySQL, и я хочу проверить, совпадают ли имя пользователя и пароль в значениях базы данных. Пример: Username = Админ11 отличается от Username = admin11, когда пользователь ввел строчные буквы «a», а в базе данных - прописные. «А» - это неправильно. то, что я хочу, это когда пользователь ввел имя пользователя, что это не совсем имя пользователя в значениях базы данных имя пользователя неверно здесь мой код, но он не работает
Dim con = New MySqlConnection
con.ConnectionString = "server=localhost;userid=root;password=alpine;port=3305;database=pos_db;pooling=false;SslMode=none"
con.Open()
Dim qry As String = "SELECT COUNT(*) FROM pos_db.tblusers WHERE Username=@user AND Password=@pass"
Dim cmd As New MySqlCommand(qry, con)
cmd.Parameters.AddWithValue("@user", txtUsername.Text)
cmd.Parameters.AddWithValue("@pass", txtPassword.Text)
Dim count As Integer = Convert.ToInt32(cmd.ExecuteScalar())
If count <> 0 Then
Me.Hide()
FrmSelect.Show()
Else
MessageBox.Show("Either username or password in incorrect", "System", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If






используйте binary в своем запросе
SELECT COUNT(*)
FROM pos_db.tblusers
WHERE
BINARY Username = @user
AND BINARY Password = @pass
@parkway - можно пометить как ответ, если он ответил на вопрос, но не обновлять исходный вопрос. Такие правки будут отменены.
Да, сэр, большое спасибо. как я могу отметить этот пост как ответ, я новичок в StackOverflow
Вы видели цифру 0 в этой ветке? есть стрелки вверх и вниз. u нажмите / наведите указатель мыши на кнопку со стрелкой вверх
скопируй это. сэр, могу я задать вопрос, почему мы используем двоичный код? по какой причине.
@MarkNartea BINARY - это встроенное ключевое слово, которое после вашего предложения WHERE заставляет сравнение для точного совпадения с учетом регистра. Обычно, если оно учитывает регистр, я буду использовать это в моем запросе. вам не нужно создавать код vb.net, чтобы проверить, совпадает ли он или нет. то же самое и с php
Спасибо, сэр, за этот ответ, я буду дорожить им. кстати, сэр, у меня снова проблема. Я использую тот же синтаксис, что и выше, при регистрации, чтобы проверить, находятся ли значения, введенные пользователем, в базе данных, значение, которое уже есть в моем pos_db.tblusers Username = "MarkJhosephNartea" и когда я вставьте другое имя пользователя со значением Username = "Markjhosephnartea", это приведет к ошибке выполнения, дублированию записи. как я могу это исправить? спасибо сэр за ответ.
@MarkNartea, я не понимаю, о чем вы. повторяющаяся запись?
Большое спасибо сэру @parkway за помощь, это правильный вопрос по моему вопросу. Теперь я узнаю что-то новое в программировании, еще раз большое спасибо, сэр.
con.Open ()
Dim qry As String = "SELECT COUNT(*) FROM pos_db.tblusers WHERE BINARY Username=@user AND BINARY Password=@pass"
Dim cmd As New MySqlCommand(qry, con)
cmd.Parameters.AddWithValue("@user", txtUsername.Text)
cmd.Parameters.AddWithValue("@pass", txtPassword.Text)
Dim count As Integer = Convert.ToInt32(cmd.ExecuteScalar())
If count <> 0 Then
Me.Hide()
FrmSelect.Show()
Else
MessageBox.Show("Either username or password in incorrect", "System", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
Примите ответ @parkway, щелкнув галочку (галочку) слева от его ответа.
Спасибо, мэм, за то, что проинформировали меня. :) Я новичок в нашем сообществе, хе-хе.
Отметьте как ответ и обновите свое сообщение правильным ответом. Добро пожаловать @MarkNartea