如何从数据集更改中自动更新数据库

时间:2012-12-13 12:00:50

标签: c# wpf data-binding sql-server-ce

我有一个加载到 DataTable 对象的数据库表,该对象绑定到多个UIElements,例如 DataGrid ComboBox TextBoxes 等的 ItemsSource 属性。有没有办法实现一个“看门狗”,不断检查DataTable或DataSet是否已更改并自动更新单独的线程上的数据库?

我的目标是消除客户端必须手动触发“保存”事件以将这些更改传播到数据库的需要,并且数据库始终与DataSet / DataTable中的数据同步。还请建议这是一个好的做法还是有更好的选择。

1 个答案:

答案 0 :(得分:1)

DataTable对象有许多在行数据更改时触发的事件 您可以使用RowChanged / RowChanging,RowDeleted / RowDeleting

See a full documentation on MSDN

您可以用这种简单的方式为RowChanging事件添加事件处理程序

yourTable.RowChanging += new DataRowChangeEventHandler(yourRowChangingHandler);

然后添加处理程序

private void yourRowChangingHandler(object sender, DataRowChangeEventArgs e)
{
    Console.WriteLine("Action={0}", e.Action);
}

其中Action property是描述操作的枚举