• Как удалить UserControl из FlowLayoutPanel и сместить остальные UserControl'ы, если потребуется?

    Nie_yar
    @Nie_yar
    Начинающий программист.
    Когда-то что-то подобное делал. Попробуй этот код.
    static QuestionTypeCheckBox _obj;
            public static QuestionTypeCheckBox Instance
            {
                get
                {
                    if (_obj == null)
                    {
                        _obj = new QuestionTypeCheckBox();
                    }
                    return _obj;
                }
            }
    
            public FlowLayoutPanel  pnlView
            {
                get { return pnl_main; } // имя элемента 
                set { pnl_main = value; }
            }
    
            private void DeleteQuestionButton_Click(object sender, EventArgs e)
            {
                ...
                 FlowLayoutPanel.Instance.pnlView.Controls.Clear(); // Удаление контролов
            }
    Ответ написан
    Комментировать
  • Как поместить значение из одной связанной таблицы MySql в другую при работе в Visual Studio на C#?

    Nie_yar
    @Nie_yar Автор вопроса
    Начинающий программист.
    Все оказалось очень просто. В два первых запроса добавил SELECT last_insert_id(), а результат поместил в int i = Convert.ToInt32(command.ExecuteScalar()); Дальше, я думаю, что все понятно.
    Ответ написан
    Комментировать
  • Авторизация c# mysql., разделение пользователей!?

    Nie_yar
    @Nie_yar
    Начинающий программист.
    Представим, что у тебя есть таблица 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();

    Надо учитывать, что имя пользователя должно быть индивидуальным.
    Код я не тестировал, но должен заработать. В крайнем случае ты должен понять в каком направлении двигаться.

    Если более опытные коллеги нашли какой-то недочет, то поправьте меня.
    П.С. Надеюсь, что помог.
    Ответ написан
    1 комментарий