加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 如何获取一个WPF DataGrid保存更改回到数据库?

发布时间:2020-12-12 08:52:38 所属栏目:MsSql教程 来源:网络整理
导读:如何获取 WPF DataGrid以将更改保存回数据库? 我将DataGrid控件数据绑定到一个DataTable对象,并使用一个非常简单的SELECT查询来填充该表,以检索一些基本信息.控制中的数据显示得很好. 但是当我使用控件编辑数据时,更改不会被推回到数据库. 有人知道我失踪了
如何获取 WPF DataGrid以将更改保存回数据库?

我将DataGrid控件数据绑定到一个DataTable对象,并使用一个非常简单的SELECT查询来填充该表,以检索一些基本信息.控制中的数据显示得很好.

但是当我使用控件编辑数据时,更改不会被推回到数据库.

有人知道我失踪了吗?

解决方法

执行更新

当用户在DataGrid中编辑Customers数据时,相应地更新绑定的内存中DataTable.但是,这些更新不会自动写回数据库.根据应用程序的要求,开发人员决定何时将DataTable的更改写回数据库.例如,在某些情况下,您可能希望通过“提交”按钮提交一批更改,或者您可能希望在用户提交每行编辑时更新数据库.为了支持这些,DataTable包含的行有一个RowState属性,指示它们是否包含应与数据库同步的更改.通过TableAdapter的Update方法可以轻松实现同步过程.
网址:
WPF DataGrid examples

以下示例显示如何处理RowChanged和RowDeleted事件,以便每次用户更改一行时,DataTable状态的更改都将写入数据库:

public CustomerDataProvider()
{
    NorthwindDataSet dataset = new NorthwindDataSet();

    adapter = new CustomersTableAdapter();
    adapter.Fill(dataset.Customers);

    dataset.Customers.CustomersRowChanged +=
        new NorthwindDataSet.CustomersRowChangeEventHandler(CustomersRowModified);
    dataset.Customers.CustomersRowDeleted +=
        new NorthwindDataSet.CustomersRowChangeEventHandler(CustomersRowModified);
}

void CustomersRowModified(object sender,NorthwindDataSet.CustomersRowChangeEvent e)
{
    adapter.Update(dataset.Customers);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读