Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.56/41: Рейтинг темы: голосов - 41, средняя оценка - 4.56
40 / 44 / 1
Регистрация: 19.01.2021
Сообщений: 534

Форма передачи ролей пользователям

01.10.2021, 21:17. Показов 8348. Ответов 90
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сделайте пожалуйста форму передачи ролей пользователям через MySQL.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.10.2021, 21:17
Ответы с готовыми решениями:

Форма авторизации с разделением ролей
Нужно зделать форму авторизации пользователей с двумя формами. По идее с самой формой авторизации проблем нет, НО! Если введено admin...

Форма авторизации с разделением ролей
Нужна помощь в создании формы авторизации, с использованием сессий и разделением ролей. Например, существует 2 роли (преподаватель,...

Форма передачи прав
Подскажите как сделать форму передачи прав, как сделать так чтобы в форме я выбирал пользователя и ему давал права либо админа либо...

90
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
03.10.2021, 14:42
Студворк — интернет-сервис помощи студентам
goodrogrammer, так в чем, епрст, у Вас проблема? У Вас же все есть для того, чтоб сделать Вашу программу.
1
40 / 44 / 1
Регистрация: 19.01.2021
Сообщений: 534
03.10.2021, 15:41  [ТС]
AndreyVorobey, Вот начал делать, куча чего наделал, всё работает. Всё идеально. Если будет вопрос обращаюсь.

Добавлено через 24 минуты
wizard41, AndreyVorobey, Проблема c кнопкой comboBox1, нажимаю на неё, а в ней нечего нет, где ошибка?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                MySqlConnection connection = new MySqlConnection("server = localhost; port = 3306; username = root; password = root; database = discticionka; SSL Mode=None");
                string selectQuery = "SELECT * FROM admin";
                connection.Open();
                MySqlCommand command = new MySqlCommand(selectQuery, connection);
                    MySqlDataReader reader = command.ExecuteReader();
 
                while(reader.Read())
                {
                    comboBox1.Items.Add(reader.GetString("role"));
                }
 
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
0
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
03.10.2021, 15:45
goodrogrammer, этот код нужно добавить в момент загрузки формы, в собыие Form_Load, сформировать его можно нажав дважды по пустой области формы. А Вы куда добавили? Хотя бы потрудились понять, что значит это событие, SelectedIndexChange. Давно таких трудных случаев не наблюдал, как Ваш, вот честно
1
40 / 44 / 1
Регистрация: 19.01.2021
Сообщений: 534
03.10.2021, 16:06  [ТС]
AndreyVorobey, Спасибо за ответ, получилось.

Добавлено через 17 минут
AndreyVorobey, А как вот здесь, сделать вместо TextBox_2.Text, текст comboBox1, прямо вот так вот заменить на comboBox1 или что-то другое пишется?
C#
1
string updateQuery = "UPDATE `role` SET login='" + TextBox_2.Text + "', role='" + TextBox_2.Text + "' WHERE id =" + int.Parse(TextBox_1.Text);
0
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
03.10.2021, 16:12
goodrogrammer, ну а Вы хотя бы самостоятельно попытаться могли это сделать? Да, вот прямо можно заменить.
1
40 / 44 / 1
Регистрация: 19.01.2021
Сообщений: 534
03.10.2021, 17:03  [ТС]
AndreyVorobey, Что в этом запросе не так?
C#
1
string insertQuery = "INSERT INTO role(login, role) VALUES ('" + TextBox_2.Text + "', '" + comboBox1 + "')";
Добавлено через 10 минут
AndreyVorobey, Запрос заработал, но неправильно, почему теперь при выборе роли admin она дублируется в комбобоксе? И в таблицу вместо admin вписывает System.Windows.Forms.ComboBox, Items.Count: 2?

Добавлено через 21 минуту
AndreyVorobey, Решил вопрос.
0
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
03.10.2021, 17:05
goodrogrammer, comboBox1.Text, блин, ну вы серьезно?
А дублирует, потому что Вы в запросе select выводите роли всех строк, почитайте про distint в запросе select
1
40 / 44 / 1
Регистрация: 19.01.2021
Сообщений: 534
03.10.2021, 17:14  [ТС]
AndreyVorobey, Про дубляж уже исправил.

Добавлено через 7 минут
AndreyVorobey, Теперь когда я уже почти всё сделал, я ввожу логин и пароль на главной форме и перехожу на следующую форму, и там я вижу кнопку создать, что мне нужно написать чтобы кнопкой мог пользоваться admin или выше?
0
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
03.10.2021, 17:32
goodrogrammer, в конец того метода, где нажимаете на кнопку после ввода логина и пароля добавляете этот код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
            bool isActive = false;
 
            if (role == "admin" || role == "superadmin")
            {
                isActive = true;
            }
 
            Form2 mainForm = new Form2(isActive);
 
            mainForm.Show();
 
            this.Hide();
переменная role (как она у Вас там называется я не знаю) - это переменная, в которой хранится значение роли из базы для пользователя.

код основной формы, где есть та самая магическая кнопка выглядит так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
using System;
using System.Windows.Forms;
 
namespace WindowsFormsApp92
{
    public partial class Form2 : Form
    {
        private bool _isActive;
 
        public Form2(bool isActive)
        {
            InitializeComponent();
 
            _isActive = isActive;
        }
 
        private void Form2_Load(object sender, EventArgs e)
        {
            button1.Enabled = _isActive;
        }
    }
}
только пожалуйста прежде чем сразу бежать на форум, попытайтесь самостоятельно разобраться
1
40 / 44 / 1
Регистрация: 19.01.2021
Сообщений: 534
03.10.2021, 18:01  [ТС]
AndreyVorobey, Не понял на счёт переменной role. У меня есть таблица admin в ней хранятся role, а в таблице role хранится id, login и role. какую из них выбрать не пойму?

Добавлено через 3 минуты
AndreyVorobey, Проблема в том что я попробовал и то и другое ввести не то и не другое не подходит, выдает ошибку, что не существует в текущем контексте.
0
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
03.10.2021, 18:02
goodrogrammer, что хотите, то и выбирайте. Покажите код, где Вы проверяете вводимые данные из формы с таблицей в базе?
1
40 / 44 / 1
Регистрация: 19.01.2021
Сообщений: 534
03.10.2021, 18:11  [ТС]
AndreyVorobey, У меня нету проверки не какой, я не понимаю что Вы просите?

Добавлено через 1 минуту
AndreyVorobey, У меня есть форма: регистрации, смена пароля, создание новых ролей, передача ролей по Id, login, вход. Что из этого?
0
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
03.10.2021, 18:14
goodrogrammer, код кнопки, которую нажимаете после логина и пароля
1
40 / 44 / 1
Регистрация: 19.01.2021
Сообщений: 534
03.10.2021, 18:15  [ТС]
AndreyVorobey,
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
namespace progr
{
    public partial class Form1 : Form
    {
        
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            bool isActive = false;
 
            if (role == "admin" || role == "Developer" || role == "System Administrator" || role == "Руководитель")
            {
                isActive = true;
            }
            if (role == "user")
            {
                isActive = false;
            }
 
                Form2 mainForm = new Form2(isActive);
 
            mainForm.Show();
 
            this.Hide();
 
            String loginUser = loginField.Text;
            String passUser = passField.Text;
 
            DB db = new DB();
 
            DataTable table = new DataTable();
 
            MySqlDataAdapter adapter = new MySqlDataAdapter();
 
            MySqlCommand command = new MySqlCommand("SELECT * FROM `вata` WHERE `login` = @uL AND `pass` = @uP", db.GetConnection());
            command.Parameters.Add("@uL", MySqlDbType.VarChar).Value = loginUser;
            command.Parameters.Add("@uP", MySqlDbType.VarChar).Value = passUser;
 
 
 
            adapter.SelectCommand = command;
            adapter.Fill(table);
 
 
            if (table.Rows.Count > 0)
            {
                this.Hide();
                Form2 Form2 = new Form2();
                Form2.Show();
            }
            else
                MessageBox.Show("Вы не ввели логин или пароль");
 
 
        }
 
        private void button3_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            Регистрация newfrm = new Регистрация();
            newfrm.Show();
            this.Hide();
        }
 
        private void button4_Click(object sender, EventArgs e)
        {
            Form3 newfrm = new Form3();
            newfrm.Show();
            this.Hide();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
 
        }
 
        private void button5_Click(object sender, EventArgs e)
        {
            Form5 newfrm = new Form5();
            newfrm.Show();
            this.Hide();
        }
    }
}
0
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
03.10.2021, 18:33
goodrogrammer, во-первых, я писал, что код нужно добавить в конец метода, а не в начало, как Вы читаете, что Вам пишут?
Во-вторых, нужно изменить код метода button_1, чтобы получать название роли и уже использовать для предыдущего кода, который я присылал. Вот тут смотрите, как получать результат запроса и записывать в переменную. Но для этого нужно в запросе сджойнить две таблицы, пользователи и роли. https://dev.mysql.com/doc/dev/... Reader.htm
1
40 / 44 / 1
Регистрация: 19.01.2021
Сообщений: 534
03.10.2021, 19:07  [ТС]
AndreyVorobey, А как переделать и написать код?

Добавлено через 17 минут
AndreyVorobey, Тут уже не то получается, как я сложу одну таблицу в другой, это не то уже. У меня 3 таблицы, Роль - с ролями, Пользователи - с пользователями и ещё одна пользователь + роль. Что и с чем я должен соединять.

Добавлено через 3 минуты
AndreyVorobey, Вы мне напишите код, а я потом буду смотреть и думать что, откуда куда.
0
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
03.10.2021, 19:33
goodrogrammer, если я напишу код, то думать Вам уже не придется.
Пожалуйста, разберитесь с тем кодом, который внизу страницы по ссылке, которую я прислал.
Ещё разберитесь с тем, как писать запросы с помощью inner join, это нужно для того, чтобы связать таблицы роли и пользователей
1
40 / 44 / 1
Регистрация: 19.01.2021
Сообщений: 534
03.10.2021, 19:42  [ТС]
AndreyVorobey, Я бы разобрался, но мне некогда, да и сдавать уже нужно мне работу.

Добавлено через 3 минуты
AndreyVorobey, На это всё изучение нужно время, а у меня его нету, я ещё только изучаю. Если бы я знал, я не писал бы сюда, а сделаю сам. Не думайте что я сижу просто так и нечего не делаю.
0
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
03.10.2021, 19:46
goodrogrammer, я за Вас зарплату не получаю. И про "некогда" не стоит говорить, серьезно.
0
40 / 44 / 1
Регистрация: 19.01.2021
Сообщений: 534
03.10.2021, 19:56  [ТС]
AndreyVorobey, Тут не успеешь одно задание сделать, как уже дохрениша других на задают. И такой как идиот подходишь к преподу, спрашиваешь у него чего либо или хотя бы как сделать, а тебе в ответ "Делай сам, интернет большой или ну сделай как-нибудь, сделай - сделай". А бывает в Интернет заходишь а там даже нету того чего тебе нужно, реально, то чего даже программирование не затрагивает.

Добавлено через 9 минут
AndreyVorobey, Так форум создан для такого чтобы просить помощи у людей.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.10.2021, 19:56

Форма авторизации с разделением ролей
Здравствуйте! Помогите, пожалуйста, с таким вопросом.. нужно сделать форму авторизации в C# с подключением к бюазе ms sql server. В базе...

Форма передачи прав
Подскажите как сделать форму передачи прав, как сделать так чтобы в форме я выбирал пользователя и ему давал права либо админа либо...

Назначение ролей пользователям, администратором
Пытаюсь сделать, что бы администратор сайта мог назначать роли пользователям. То есть, администратор может просматривать всех...

Форма авторизации (Проблема перехода в окно своих ролей/должностей)
Здравствуйте, помогите пожалуйста с формой авторизации, с переходом в окно своей должности по кнопке войти! На прикрепленном скриншоте...

Внешняя печатная форма Акта передачи прав
Здравствуйте. Есть внешняя печатная форма Акта передачи прав для документа "Реализация товаров и услуг" конфигурации 1С Бухгалтерия...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru