Представим, что у тебя есть таблица
user
В этой таблице
следующие колонки:
- ID
- Name
- Password
- User_Role
Тогда на кнопку входа вешаешь событие клик и в ней пишешь следующий код:
string connStr = "server=localhost; port=3306; username=root; password= root; database=bd;";
string sql = "SELECT * FROM `user` WHERE `Name` = @un and `Password`= @up";
MySqlConnection conn = new MySqlConnection(connStr);
conn.Open();
DataTable table = new DataTable();
MySqlDataAdapter adapter = new MySqlDataAdapter();
MySqlCommand command = new MySqlCommand(sql, conn);
command.Parameters.Add("@un", MySqlDbType.VarChar, 25);
command.Parameters.Add("@up", MySqlDbType.VarChar, 25);
command.Parameters["@un"].Value = TextBox1.Text;
command.Parameters["@up"].Value = TextBox2.Text
adapter.SelectCommand = command;
adapter.Fill(table);
if (table.Rows.Count > 0)
{
userRole(); // метод, который будет открывать разные формы в зависимости от пользователя
}
conn.Close();
Далее мы создаем новый метод, который называем userRole
string UserName = TextBox1.Text;;
string connStr = "server=localhost; port=3306; username=root; password= root; database=bd;";
string sql = "SELECT User_Role FROM `user` WHERE `Name` = @un";
MySqlConnection conn = new MySqlConnection(connStr);
conn.Open();
MySqlParameter nameParam = new MySqlParameter("@un", UserName);
MySqlCommand command = new MySqlCommand(sql, conn);
command.Parameters.Add(nameParam);
string Form_Role = command.ExecuteScalar().ToString();
Switch(Form_Role)
{
case "Администратор": Form.ActiveForm.Close(); Form1 f1 = new Form1(); f1.Show(); break;
default: Form.ActiveForm.Close(); Form2 f2 = new Form2(); f2.Show();
}
conn.Close();
Надо учитывать, что
имя пользователя должно быть индивидуальным.
Код я не тестировал, но должен заработать. В крайнем случае ты должен понять в каком направлении двигаться.
Если более опытные коллеги нашли какой-то недочет, то поправьте меня.
П.С. Надеюсь, что помог.