Binding dataGridView с таблицей из БД(SQL Server)

Подскажите как корректно сделать следующее действие: есть таблица в БД(SQL Server) и есть WinForms приложение(записи таблицы БД находятся в dataGridView) по работе с данными этой самой таблицы.

Функционал по работе с записями таблицы из БД - CRUD.

Ну и есть задача: при внесении изменений в данные таблицы& отображать эти изменения в приложении.

& - CRUD осуществляется в обработчиках событий после нажатия на соответствующую кнопку.

Что у меня есть:


 public Form1()
        {
            InitializeComponent();
            connectionString = ConfigurationManager.ConnectionStrings["Users"].ConnectionString;

            dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;

            using (SqlConnection cnn = new SqlConnection(connectionString))
            {
                cnn.Open();
                string select = "SELECT Login, Address, Number FROM UserData";
                adapter = new SqlDataAdapter(select, cnn);
                ds = new DataSet();
                adapter.Fill(ds);
                dataGridView1.DataSource = ds.Tables[0];
            }
        }

Пример добавления в таблицу:

using (SqlConnection cnn = new SqlConnection(connectionString))
                {
                    cnn.Open();
                    using (SqlCommand insert = cnn.CreateCommand())
                    {
                        insert.CommandText = "INSERT INTO UserData(Login, Password, Address, Number, IsAdmin) " + "values(@login, @pass, @address, @number, @isAdmin)";
                        if(IsUniqLogin(cnn, textBox1.Text))
                        {
                            int isAdmin = -1;
                            if (radioButton1.Checked) isAdmin = 1;
                            else isAdmin = 0;

                            insert.Parameters.AddWithValue("@login", textBox1.Text);
                            insert.Parameters.AddWithValue("@pass", CreatePasswordHash(textBox2.Text));
                            insert.Parameters.AddWithValue("@address", textBox3.Text);
                            insert.Parameters.AddWithValue("@number", textBox4.Text);
                            insert.Parameters.AddWithValue("@isAdmin", isAdmin);
                            await insert.ExecuteNonQueryAsync();

                            MessageBox.Show("Добавление пользователя завершено успешно!", "Уведомление", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            groupBox1.Visible = false;
                            ClearTextBoxesGB1();
                        }
                        else
                        {
                            MessageBox.Show("Указанный логин уже существует - введите другой", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                            textBox1.Clear();
                        }

Нужно, чтобы после добавления(в этом случае) в таблицу, записи в DGV имели актуальную информацию - то есть, чтобы была привязка между DGV и таблицей из БД.Заранее спасибо за помощь.


Ответы (0 шт):