Быстрое обновление: http://www.vbmysql.com/articles/vbnet-mysql-tutorials/the-vbnet-mysql-tutorial-part-1
Кажется, вам нужно немного больше информации о том, как работать с базами данных и как обеспечить целостность данных в базе данных.Приведенная выше ссылка представляет собой серию из 6 частей по работе с Vb.NET и MySQL.Я бы посоветовал взглянуть на него - он ответит на большинство / все ваши вопросы.
Я немного растерялся из-за того, что именно вы пытаетесь получить в качестве конечного результата.
Я вижу, что вы хотите отобразить другую форму в зависимости от того, является ли сотрудник менеджером или администратором, и вы, вероятно, хотите отобразить обе эти формы, если сотрудник является администратором И менеджером.
Итак, у вас есть результат SQL-запроса.Вам не нужен логический if / then для этой части, поскольку вы возвращаете данные, основанные на идентификаторе сотрудника (скажите, пожалуйста, у вас есть поле PK ID).
Я бы хотел создать группуэлементов управления, которые являются скрытыми / видимыми в зависимости от разрешения этого сотрудника.
Разработка базы данных;
Table: Employee
EmployeeID, int PK, not null
Name, varchar, null
Password, varchar, null
Title, varchar, null
IsManager, bit, null
IsAdmin, bit, null
** Используете ли вы Salt для ваших паролей / или какого-либо шифрования?основываясь на приведенном ниже псевдокоде, я сделаю это, так как пароли не зашифрованы и позволим вам с этим справиться.
В ваших базах данных будет много сотрудников.Что вы хотите сделать, так это когда вы входите в систему, чтобы проверить имя пользователя и поле пароля в вашей базе данных.
Select EmployeeID, Name, Title, IsManager, IsAdmin FROM employee Where Name = 'UserName' and Password = 'Password
Где «Имя пользователя», «Пароль» - это ваши переменные, которые необходимо передать.пример:
Select EmployeeID, Name, Title, IsManager, IsAdmin FROM employee Where Name = 'Ryan.Ternier' and Password = 'Trogdor'
Это вернет вам пользователя с вашими флагами IsAdmin и IsManager.Если у вас есть класс Employee, создайте его экземпляр, заполните его и верните в презентацию, чтобы он мог выполнять формы (пример ниже).
Public Sub SetForms(ByVal emp As Employee)
If emp.IsManager Then
Dim frm As New ManagerForm
frm.Show()
End If
If emp.IsAdmin Then
Dim frm As New AdminForm
frm.Show()
End If
Dim frm As New EmployeeForm
frm.Show()
End Sub
Я бы порекомендовал этот путь сделать.
Форма входа передает имя пользователя / пароль в метод входа, который возвращает сотрудника.Если сотрудник не имеет значения null / ничего хорошего, если он имеет значение NULL / ничего, учетные данные неверны.