c# datagridview 将修改过的值更新到数据表中
时间: 2024-01-22 13:18:46 浏览: 87
可以通过以下步骤将 DataGridView 中修改过的值更新到数据表中:
1. 添加一个按钮或菜单项来触发保存操作。
2. 在保存操作的事件处理程序中,遍历 DataGridView 中的每一行。
3. 对于每一行,检查它的状态。如果状态为“修改”,则将新的值更新到数据表中。
以下是一个简单的示例代码:
```
private void btnSave_Click(object sender, EventArgs e)
{
// 遍历 DataGridView 中的每一行
foreach (DataGridViewRow row in dataGridView1.Rows)
{
// 检查行的状态是否为“修改”
if (row.Cells[0].Value != null && row.Cells[0].Value.ToString() == "修改")
{
// 更新数据表中对应的记录
int id = int.Parse(row.Cells["id"].Value.ToString());
string name = row.Cells["name"].Value.ToString();
int age = int.Parse(row.Cells["age"].Value.ToString());
string sql = "UPDATE mytable SET name = @name, age = @age WHERE id = @id";
using (SqlConnection conn = new SqlConnection("连接字符串"))
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.AddWithValue("@name", name);
cmd.Parameters.AddWithValue("@age", age);
cmd.Parameters.AddWithValue("@id", id);
conn.Open();
cmd.ExecuteNonQuery();
}
}
}
}
```
在这个示例中,我们假设 DataGridView 中包含三列:id、name 和 age。我们还假设数据表的名称为 mytable。当用户点击“保存”按钮时,我们遍历 DataGridView 中的每一行,并检查它的状态。如果状态为“修改”,则将新的 name 和 age 值更新到数据表中。
阅读全文