如何在DataGridView中更新行?

我有一个从DataSet填充的DataGridView

如何更改DataGridView任何单元格,并更改DataSet(以及数据库)。

我可以从中学到一个示例程序(在C#中)吗?

这篇文章有清晰的解释,截图和代码,演示了如何使用DataGridView。 数据绑定部分应该是特别感兴趣的。

 DataRowView drv = dataGridView1.CurrentRow.DataBoundItem as DataRowView; DataRow[] rowsToUpdate = new DataRow[] { drv.Row }; SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM Categories", con); SqlCommandBuilder builder = new SqlCommandBuilder(adapter); adapter.Update(rowsToUpdate); 

如果您希望程序更改DataGridView的内容,只需更改基础数据集。 DataSet还具有将这些更改提交到数据库的方法。

 DataRowView drv = dataGridView1.CurrentRow.DataBoundItem as DataRowView; DataRow[] rowsToUpdate = new DataRow[] { drv.Row }; SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM Categories", con); SqlCommandBuilder builder = new SqlCommandBuilder(adapter); adapter.Update(rowsToUpdate); 

我有一个连接到访问数据库的应用程序。 在这个应用程序中,我这样做:

 try { con.Open(); foreach (DataGridViewRow item in this.dataGridView1.SelectedRows) { OleDbCommand cmd = new OleDbCommand(cmdTxt, con); cmd.Parameters.AddWithValue("kurs", c2); cmd.Parameters.AddWithValue("ID", item.Cells[0].Value); cmd.ExecuteNonQuery(); } } catch (Exception exception) { MessageBox.Show(exception.Message); } finally { con.Close(); } 

如果你的数据库在sql server中,那么你可以使用SQlDbCommand类。