• Как в VisualStudio на C# реализовать сложный заголовок для DataGridView?

    @Kiram Автор вопроса
    Хорошо эти все платные. А может кто то бесплатные неплохие знает? Денег на покупку платного пакета компонентов за (1000 долларов*65 = 65 000 рублей [примерно] по курсу на октябрь 2019) ради одного компонента из-за простой программы не выгодно.
  • Как реализовать обновление/удаление/вставку данных в БД?

    @Kiram Автор вопроса
    Спасибо за ответ. Разобрался. добавил строку:
    SqlCommandBuilder cBuilder = new SqlCommandBuilder(dAdapt); //если не прописать, то не будет работать обновление/вставка/удаление в БД из программы

    после строки SqlDataAdapter dAdapt = new SqlDataAdapter(strQuery, cn);
    а потом вызвал такой командой:
    private void Button1_Click(object sender, EventArgs e)
    {
      try
      {
        dAdapt.Update(dt);
        MessageBox.Show("Update successful");
      }
      catch (System.Exception ex)
      {
        MessageBox.Show(ex.Message);
      }
    }
  • Почему возникает ошибка при сравнение данных в Visual Studio?

    @Kiram Автор вопроса
    Алексей, Проверка подлинности SQL Server. Он то сравнение запускает, то не запускает, и из-за чего эта ошибка возникает не ясно. Даже подключался когда сервера свободны были и никто не подключен был к ним. Сначала думал что из-за того что к одному серверу подключаюсь, но на разных такая же ошибка. Все данные авторизации верны.
  • Какой способ подключения к БД на C# правильный?

    @Kiram Автор вопроса
    #, А что вы рекомендуете?

    Я так реализовал пока в тестовом режиме. В будущем предполагается сложные манипуляции с таблицей(ами) :
    //Шаг 0: незабыть добавить в самом начале *.cs файла раздел using System.Data.SqlClient;
    
                // Шаг 1: открываем соединение с базой данных TEST                              
                SqlConnection cn = new SqlConnection("Data Source=TEST;Initial Catalog=DbTest;Persist Security Info=True;User ID=sa;Password=123");
                cn.Open();
    
                // Шаг 2: Создаем SqlDataAdapter при помощи команды SELECT
                SqlDataAdapter dAdapt = new SqlDataAdapter("SELECT * FROM Tabel1", cn);
    
                // Шаг З: Создаем и заполняем объект DataSet, а потом закрываем соединение
                DataSet ds = new DataSet(); //создание DataSet (данные БД в памяти)
                DataTable dt = new DataTable(); //создание DataTable (таблица из БД в памяти)
                try
                {
                    dAdapt.Fill(ds, "Tabel1"); //заполнение DataSet через адаптер данных 
                    //Заполняем форму 
                    dt = ds.Tables["Tabel1"];
                    // реализовать заполнение таблицы DataGridView
                    dataGridView1.DataSource = ds;
                    dataGridView1.DataMember = "Tabel1";
                    //как сохранить изменения при редактирование ячейки в DataGridView?
                    // реализовать заполнение таблицы TextBox и Label                
                    textBox1.Text = dt.Rows[0][0].ToString(); // [строка от 0] [столбец от 0]
                    textBox2.Text = dt.Rows[1][1].ToString();
                }
                catch (Exception ex)
                {
                    //вывод ошибки
                    MessageBox.Show(ex.Message);
                }
                finally
                {
                    //закрытие подключения
                    cn.Close();
                }