datagridview修改单元格数据同步到数据库
时间: 2023-08-17 10:22:26 浏览: 131
当使用 DataGridView 控件时,我们可以通过 DataGridView.CellValueChanged 事件来处理单元格数据的更改并将其保存到数据库中。下面是一个示例代码:
```C#
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
// 获取更改的单元格的行和列索引
int rowIndex = e.RowIndex;
int colIndex = e.ColumnIndex;
// 确认更改是在数据行中进行的
if (rowIndex >= 0 && colIndex >= 0)
{
DataGridViewRow row = dataGridView1.Rows[rowIndex];
// 获取更改后的单元格值
string newValue = row.Cells[colIndex].Value.ToString();
// 获取主键列的值
string key = row.Cells["ID"].Value.ToString();
// 更新数据库
string sql = string.Format("UPDATE MyTable SET {0}='{1}' WHERE ID='{2}'", dataGridView1.Columns[colIndex].Name, newValue, key);
SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=MyDatabase;Integrated Security=True");
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.ExecuteNonQuery();
conn.Close();
}
}
```
在这个示例中,我们首先获取更改的单元格的行和列索引,然后从 DataGridView 中获取更改后的单元格值和主键列的值。最后,我们使用 SQL UPDATE 命令将更改保存到数据库中。
请注意,本示例仅供参考。实际应用中,您需要根据您的数据库架构和数据表结构来编写相应的 SQL 命令。
阅读全文