Как войти в систему как менеджер или сотрудник, проверив столбец «Роль» в базе данных?

Я работаю над школьным проектом, используя визуальную базовую студию и базу данных mysql. В этом проекте есть разные типы пользователей (Менеджер, Сотрудник). что мне нужно, так это то, что когда пользователь входит в систему под своим именем пользователя и паролем, программа проверит из базы данных mysql столбец «Роль», чтобы определить, является ли эта роль пользователя (менеджер или сотрудник), если пользователь является менеджером он войдет в форму менеджера, иначе он перейдет в форму сотрудника

это часть моего кода:

Try
    MySqlConn.Open()
    Dim Query As String
    Query = "Select * from etdsql.employeeinfo where Username ='" & UNameTextBox.Text & "' and password = '" & PswrdTextBox.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("You are loged in successfuly")
        ETDManager.Show()
        Me.Hide()
    Else
        MessageBox.Show("Username and password are not correct")
    End If

    MySqlConn.Close()
Catch ex As MySqlException
    MessageBox.Show(ex.Message)
Finally
    MySqlConn.Dispose()
End Try

Если информация о роли находится в той же таблице, просто Select UserRole from yourtable where username = @user and password = @hashedPassword но мы не знаем вашу базу данных, и вы не предоставили нам ничего, чтобы дать более точный ответ. Также обратите внимание, что ваш оператор sql открыт для внедрения sql и должен быть заменен параметризованным оператором.

Charles May 07.04.2019 12:39

извините за отсутствие информации :( я впервые с VB и не знал, что вам здесь предоставить, роль в той же таблице и попробую то, что вы предоставляете :) спасибо за вашу помощь, ценю это (^_ ^)

Greital 07.04.2019 23:16
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
1
2
47
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
   dim role as string

   While Reader.Read
        count = count + 1
        role = Reader("Role") //This is the column's name in your db
    End While

    If count = 1 Then
        MessageBox.Show("You are loged in successfuly")
        if role = "Manager" Then
             ETDManager.Show() 
        else
              ETDEmployee.Show() //This is the name of your Employee form
        end if
        Me.Hide()
    Else
        MessageBox.Show("Username and password are not correct")
    End If

    ```

it could be something like that, but you will have to change the names of the column in the database and the name of the form by the names you have in your project

Большое спасибо (^_^) все сработало отлично, ценю ваше время и работу

Greital 07.04.2019 23:31

Другие вопросы по теме