从DataGridView中所做的更改更新数据库

时间:2013-05-22 17:00:00

标签: c# sql workflow-foundation

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

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

1 个答案:

答案 0 :(得分:0)

您可以使用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
        }
    }

这会根据Update

中的任何更改动态创建DataTable命令

修改

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