无法将DataSet保存回数据库

时间:2011-05-12 12:20:25

标签: c# .net ado.net dataset

情况:使用设计器

创建的WPF应用程序,.NET4,DataSource(MS SQL Server 2008)

问题:读取数据效果很好:

adapter.Fill(ds);

DataSet填充了数据,绑定到DataGrids的表。当我编辑任何DataGrid(例如添加一行)并在WPF的DataGrid中按“Enter”时,新行将成功添加。

然后我打电话给:

ds.AcceptChanges();
adapter.Update(ds);

但是对基础MS SQL Server 2008数据库进行了无变更。这是疯了,有人知道问题在哪里吗?

3 个答案:

答案 0 :(得分:4)

您应该在AcceptChanges之后致电Update,或者实际上根本不致。

http://msdn.microsoft.com/en-us/library/system.data.dataset.acceptchanges.aspx

AcceptChanges将数据集中的所有行标记为未更改,因此Update看不到任何更改,也不会更新数据库。

答案 1 :(得分:0)

您是否已指定更新并在数据适配器中插入sql语句/存储过程?

另一个需要注意的是dataAdapter(int)的返回值,它是成功更新的行数。这回来了吗?

您可以发布数据适配器初始化代码吗?

答案 2 :(得分:0)

这仍然没有解决,我也有同样的问题 在tableadapter上你可以做一个tableadaptername.Update(dataset.NameofDataset)。
但是,这不会写入数据库 命名的DataSet只知道AcceptChanges,但不知道Dot-operator之后的Update。

所以,这已经四年未解决了......还有其他这样的帖子...... 如果它没有任何区别,就不要回答这个问题 - 而且这里的AcceptChanges是不相关的 此致
岸堤