Сохранение измененных данных в виде сетки при нажатии кнопки Сохранить

#c# #winforms

Вопрос:

Я изо всех сил пытаюсь сделать кнопку сохранения в приложении Windows Form на C#, где у меня есть GridView, и я хочу сохранить все изменения, которые я делаю в таблице GridView(я подключил ее к sql). Это источник данных для моей базы данных DataTable dtCustomers = new DataTable();

Я делал это до сих пор и застрял.

 private void SaveButton_Click(object sender, EventArgs e)
        {
            string connectionString = Properties.Settings.Default.dbConnectionString;
            SqlConnection con = new SqlConnection(connectionString);
            try
            {
                var isAnyRowUpdated = false;
                foreach (GridViewRow row in dataGridView1.Rows)
                {
                    //detect modifications in GridView table
                    if (//condition to modify)
                    {
                        isAnyRowUpdated = true;
                        using (con)
                        {
                            SqlCommand cmd = con.CreateCommand();
                            using (cmd)
                            {
                                cmd.CommandText = @"UPDATE CUSTOMERS SET "  
                                          "CustomerId = @CustomerId, "  
                                          "FirstName = @FirstName, "  
                                          "LastName = @LastName, "  
                                          "Email = @Email, "  
                                          "Height = @Height, "  
                                          "DateOfBirth = @DateOfBirth ";
                                cmd.Parameters.Add("@CustomerId", SqlDbType.Int, 5, "StudentID");
                                cmd.Parameters.Add("@FirstName", SqlDbType.VarChar, 50, "FirstName");
                                cmd.Parameters.Add("@LastName", SqlDbType.VarChar, 50, "LastName");
                                cmd.Parameters.Add("@Email", SqlDbType.VarChar, 1, "Email");
                                cmd.Parameters.Add("@Height", SqlDbType.Int, 50, "Height");
                                cmd.Parameters.Add("@DateOfBirth", SqlDbType.Date, 10, "DateOfBith");
                                cmd.Connection = con;
                                using (SqlDataAdapter da = new SqlDataAdapter())
                                {
                                    da.UpdateCommand = cmd;
                                    // da.Update();
                                }
                            }
                        }
                    }
                }
               
                if (!isAnyRowUpdated)
                {
                    //alert no rows are updated
                }
            }
            catch (Exception ex)
            {

            }
        }
 

Как проверить измененные данные и установить условие для изменения? (где находятся комментарии в коде)

Спасибо за любое предложение!

Комментарии:

1. На что вы нацелены: Winforms, WPF, ASP..? ВЫ всегда должны правильно помечать свои вопросы, чтобы их можно было увидеть на странице вопросов! — Не называйте а DataGridView а GridView или а DataGrid и наоборот!! Это неправильно и сбивает с толку, поскольку это разные элементы управления. Всегда называйте вещи своими именами!

2. хорошо, я сделаю, спасибо!

3. Вы можете привязать представление DataGridView к таблице данных в качестве источника данных, а затем каждое изменение будет отображаться в таблице данных при изменении.