Если вы не добавите оператор WHERE в свою команду sql, вы всегда будете получать значение из первого столбца первой строки, возвращенной механизмом базы данных.Вы должны изменить свой код на что-то вроде этого
private void button1_Click(object sender, EventArgs e)
{
// I assume you have a field named UserID as the primary key of your table1
string sqlCmd = @"SELECT usertype FROM table1 WHERE UserID=@id";
using(MySqlConnection cn = new MySqlConnection("....."))
using(MySqlCommand cmd = new MySqlCommand(sqlCmd, cn))
{
cmd.Parameters.Add("@id", MySqlDbType.Int32).Value = currentUserid;
cn.Open();
string usertype123 = cmd.ExecuteScalar()?.ToString();
if (usertype123 == "admin")
{
MessageBox.Show("you are an admin");
}
else
{
MessageBox.Show("You are an user ");
}
}
}
Теперь проблема заключается в том, как определить переменную currentUserId Это то, что вам нужно извлечь, когда пользователь входит в систему и сохраняет вуровень класса для повторного использования при необходимости.Также обратите внимание, что соединения являются одноразовыми предметами, и поэтому вам необходимо утилизировать их, как только вы закончили их использовать.Использование оператора помогает сделать это