#mysql #vb.net
#mysql #vb.net
Вопрос:
Я работаю над школьным проектом, используя Visual Basic Studio и базу данных mysql. В этом проекте есть разные типы пользователей (менеджер, сотрудник). что мне нужно, так это то, что когда пользователь входит в систему под своим именем пользователя и паролем, программа проверяет в базе данных mysql столбец «Роль», чтобы определить, является ли этот пользователь ролью (менеджер или сотрудник), если пользователь является менеджером, он войдет в форму менеджера, иначе он перейдет в форму сотрудника
это часть моего кода:
Try
MySqlConn.Open()
Dim Query As String
Query = "Select * from etdsql.employeeinfo where Username ='" amp; UNameTextBox.Text amp; "' and password = '" amp; PswrdTextBox.Text amp; "' "
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
Комментарии:
1. Если информация о роли находится в той же таблице, просто
Select UserRole from yourtable where username = @user and password = @hashedPassword
но мы не знаем вашу базу данных, и вы не предоставили нам ничего, чтобы дать более точный ответ. Также обратите внимание, что ваша инструкция sql открыта для внедрения sql и должна быть заменена параметризованной инструкцией.2. извините за недостаток информации : ( я впервые работаю с VB и не знал, что предоставить вам здесь, роль в той же таблице, и попробую то, что вы предоставляете 🙂 спасибо за вашу помощь, ценю это (^_^)
Ответ №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
Комментарии:
1. Большое спасибо (^_ ^) это сработало отлично, ценю ваше время и работу