情况:使用设计器
创建的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数据库进行了无变更。这是疯了,有人知道问题在哪里吗?
答案 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是不相关的
此致
岸堤