从DataGridView中的更改更新数据库
本文关键字:更新 数据库 DataGridView | 更新日期: 2023-09-27 18:14:47
我将数据库数据集附加到DataGridView以自动显示其内容
但现在我需要收集在这个DGV更新我的数据库所做的更改我怎么能做到呢?
可以使用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
命令,将更改发送回数据库。