Дополнительная проверка поля при авторизации - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, у меня имеется СУБД с авторизацией.Работаю я в Visual Studio 2017. В DataSet в таблице Users используется такой запрос :
SELECT [Id_Acc],[Логин],[Пароль],[ФИО],[Должность],[Доступ] FROM Users WHERE [Логин]=? AND [Пароль]=?
В окне авторизации на кнопке вход используется такой код:
private void button1_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(textBox1.Text))
            {
                MessageBox.Show("Введите ваш логин.", "Message", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                textBox1.Focus();
                return;
 
            }
            try
            {
                vokzalDataSetTableAdapters.UsersTableAdapter user = new vokzalDataSetTableAdapters.UsersTableAdapter();
                vokzalDataSet.UsersDataTable dt = user.GetDataUsername(textBox1.Text, textBox2.Text);
                if (dt.Rows.Count > 0)
                {
 
                    MessageBox.Show("Вы успешно вошли в систему.", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    Form1 fr2 = new Form1();
                    fr2.Show();
                    Hide();
                    Admin = "Admin";
                    if (textBox1.Text == Admin)
                    {
                        fr2.админПанельToolStripMenuItem.Visible = true;
                    }
 
                }
                else
                {
                    MessageBox.Show("Введённые данные некорректны.", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
По сути если есть совпадение в БД логин=пароль возвращается 1 строка, значит данные введены верно и Программа пускает пользователя. Для проверки работоспособности программы я использовал банальный способ, если логин Admin то показывается кнопка в меню для открытия интерфейса управления программой.Так вот теперь мне нужно как то усложнить эту систему путем , если в БД в имеется галочка в поле Доступ , то показать эту кнопку. Или же мне придется переписывать запрос авторизации с типа Textbox1 like password и тому подобные. Я просто не знаю как проверить есть ли галочка в этом поле в моем запросе. Он же просто возвращает строку. В общем прошу помощи в реализации нового запроса на Авторизацию и проверочки галочки.

Решение задачи: «Дополнительная проверка поля при авторизации»

textual
Листинг программы
SELECT [Id_Acc],[Логин],[Пароль],[ФИО],[Должность],[Доступ] FROM Users WHERE [Логин]=? AND [Пароль]=? AND Доступ=1

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.2 из 5
Похожие ответы