如何在DataGridView中更新行?

时间:2010-01-25 21:22:15

标签: c# ado.net

我有一个DataGridView,它是从DataSet填充的。

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

是否有可以从中学习的示例程序(在C#中)?

5 个答案:

答案 0 :(得分:4)

Here is an article,其中包含演示如何使用DataGridView的清晰说明,屏幕截图和代码。数据绑定部分应该特别重要。

答案 1 :(得分:1)

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);

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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);

答案 4 :(得分:0)

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

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类。