如何只更新DataGridView中的一行?

时间:2009-06-04 06:35:23

标签: c# .net database datagridview data-access-layer

我有一个DataGridView,它是从DataTableAdatper填充的,就像在this tutorial中一样。

我猜因为它是一个ODBC MySQL连接,所以它不会为我生成DBDirectMethods。

我的问题是如何在用户在网格中编辑特定行后更新数据库中的特定行?我是否需要在适配器中指定DeleteCommand?什么时候会被召唤?

1 个答案:

答案 0 :(得分:1)

您通常不需要自己创建DeleteCommand,UpdateCommand和InsertCommand:CommandBuilder可以为您完成:

private void UpdateCurrentRow()
{
    DataRowView drv = dataGridView1.CurrentRow.DataBoundItem as DataRowView;
    DataRow[] rowsToUpdate = new DataRow[] { drv.Row };

    OdbcDataAdapter adapter = new OdbcDataAdapter("SELECT * FROM FOO", connection);
    OdbcCommandBuilder builder = new OdbcCommandBuilder(adapter);
    adapter.Update(rowsToUpdate);
}