我将DataBase DataSet附加到DataGridView以自动显示其内容
但现在我需要收集此DGV中所做的更改以更新我的数据库 我怎么能这样做?
答案 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
命令,将更改发送回数据库。