0

我将 DataBase DataSet 附加到 DataGridView 以自动显示其内容

但是现在我需要收集在此 DGV 中所做的更改以更新我的数据库我该怎么做?

4

1 回答 1

0

您可以使用 aSqlCommandBuilder创建和执行Update命令:

    private void UpdateDatabase()
    {
        //Create an adapter to get the schema and point to the correct table
        //Can do something like SELECT * from table_name where 0 = 1
        SqlDataAdapter adapt = new SqlDataAdapter(yourSelectString, yourConnectionString);
        SqlCommandBuilder builder = new SqlCommandBuilder(adapt);

        try
        {
            adapt.Update(ds.Tables[0]);
            ds.Tables[0].AcceptChanges();
        }
        catch (Exception ex)
        {
            //Handle any exception here
        }
    }

这会Update根据您的DataTable.

编辑

您提供的代码(并且由于某种原因被删除)正确绑定DataSet到您的DataGridView. 当您更改单元格中的值时,DataGridView它会自动更改底层DataTable(在您的情况下ds.Tables[0]。为了将更改发送回数据库,使用上述方法将自动创建并执行一个 SQLUpdate命令将更改发送回数据库。

于 2013-05-22T17:08:57.360 回答