#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 к таблице данных в качестве источника данных, а затем каждое изменение будет отображаться в таблице данных при изменении.