Во-первых, давайте рассмотрим ваши требования.
Укажите форму входа для проверки пользователей.
Если пользователь действителен (userName и соответствующий пароль находятся в базе данных), а затем отобразить форму на основе уровня пользователя.
С учетом требований взглянуть на дизайн таблицы в базе данных. Давайте назовем это MDUsers. Теперь к столбцам.
UserName as an VarChar size 100 and Primary key of the table
UserPassword as VarChar size 100
Level an Integer
Теперь у вас есть поля для всех данных, необходимых для ваших потребностей.
Добавьте некоторые примеры данных в вашу таблицу.
Дальше подумайте о том, что вам нужно от пользователя для выполнения sh ваших требований. Создайте свой пользовательский интерфейс соответственно. Ваша форма входа в систему будет иметь 2 текстовых поля (имя пользователя и пароль) и кнопку (Логин).
Затем вам нужно подумать о коде кнопки входа в систему. Вам необходимо подключиться к базе данных и проверить, совпадают ли имя пользователя и пароль. Как только вы найдете соответствие, вам нужно всего лишь получить один фрагмент данных, чтобы выполнить ваши требования, уровень.
Теперь, как мы можем попросить базу данных сделать все это?
Select level From MDUsers Where userName = @userName And UserPassword = @pword;
Поскольку userName является первичным ключом таблицы, мы знаем, что найдем не более одной записи с этим userName. Если пароль совпадает, то у нас есть действительный пользователь, и мы вернем один фрагмент данных, уровень для этой записи.
Using...End Using
блоки гарантируют, что ваши объекты базы данных будут закрыты и удалены, даже если есть ошибка. Вы можете передать строку соединения непосредственно в конструктор соединения и передать строку запроса и соединение в конструктор команды.
Всегда использовать параметры.
С нам нужен только один фрагмент данных, который мы можем использовать .ExecuteScalar
Private Sub OpCode()
Dim retVal As Object
Using cn As New MySqlConnection("Your connection string"),
cmd As New MySqlCommand("Select level From MDUsers Where userName = @userName And UserPassword = @pword;", cn)
cmd.Parameters.Add("@userName", MySqlDbType.VarChar, 100).Value = txtName.Text
cmd.Parameters.Add("@pword", MySqlDbType.VarChar, 100).Value = txtPassword.Text
cn.Open()
retVal = cmd.ExecuteScalar
End Using
If retVal Is Nothing Then
MessageBox.Show("Login failed")
Return
End If
If CInt(retVal) = 1 Then
Form1.Show()
ElseIf CInt(retVal) = 2 Then
Form2.Show()
Else
MessageBox.Show("Level not recognized")
End If
End Sub
Вам нужно будет проверить MySql правила для имен столбцов и имен таблиц, зная о зарезервированных словах.