从DataGridView中的更改更新数据库

本文关键字:更新 数据库 DataGridView | 更新日期: 2023-09-27 18:14:47

我将数据库数据集附加到DataGridView以自动显示其内容

但现在我需要收集在这个DGV更新我的数据库所做的更改我怎么能做到呢?

从DataGridView中的更改更新数据库

可以使用SqlCommandBuilder创建和执行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
        }
    }

这将基于DataTable中的任何更改动态创建一个Update命令。

编辑

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