C# 无法将数据集保存回数据库
场景:使用设计器创建的WPF应用程序、.NET4、数据源(MS SQL Server 2008) 问题:读取数据效果良好:C# 无法将数据集保存回数据库,c#,.net,ado.net,dataset,C#,.net,Ado.net,Dataset,场景:使用设计器创建的WPF应用程序、.NET4、数据源(MS SQL Server 2008) 问题:读取数据效果良好: adapter.Fill(ds); 数据集由绑定到数据网格的数据、表填充。然后,当我编辑任何DataGrid(例如添加一行)并在WPF的DataGrid中按“回车”键时,新行被成功添加 然后我叫: ds.AcceptChanges(); adapter.Update(ds); 但是,对底层MS SQL Server 2008数据库未做任何更改。这太疯狂了,有人知道问题出
adapter.Fill(ds);
数据集
由绑定到数据网格的数据、表填充。然后,当我编辑任何DataGrid
(例如添加一行)并在WPF的DataGrid
中按“回车”键时,新行被成功添加
然后我叫:
ds.AcceptChanges();
adapter.Update(ds);
但是,对底层MS SQL Server 2008数据库未做任何更改。这太疯狂了,有人知道问题出在哪里吗?您是否在数据适配器中指定了更新和插入sql语句/存储过程 另一件需要注意的事情是dataAdapter(int)的返回值,它是成功更新的行数。这是带着价值回来的吗
您可以发布数据适配器初始化代码吗 您是否在数据适配器中指定了更新和插入sql语句/存储过程 另一件需要注意的事情是dataAdapter(int)的返回值,它是成功更新的行数。这是带着价值回来的吗
您可以发布数据适配器初始化代码吗 您应该在
更新后调用接受更改
,或者根本不调用
AcceptChanges
将数据集中的所有行标记为未更改,因此Update
不会看到任何更改,也不会更新数据库。您应该在Update
之后调用AcceptChanges
,或者根本不调用
AcceptChanges
将数据集中的所有行标记为未更改,因此Update
不会看到任何更改,也不会更新数据库。这仍然没有解决,我也有同样的问题。
在tableadapter上,您可以执行tableadaptername.Update(dataset.NameofDataset)。
但是,这不会写入数据库。
命名数据集只知道AcceptChanges,但不知道点运算符之后的更新
所以,这已经四年没有解决了。。。还有其他类似的帖子…
如果没有任何区别,请不要回答此问题,此处的更改与此无关。
真诚地,
Andi这个问题仍然没有解决,我也有同样的问题。
在tableadapter上,您可以执行tableadaptername.Update(dataset.NameofDataset)。
但是,这不会写入数据库。
命名数据集只知道AcceptChanges,但不知道点运算符之后的更新
所以,这已经四年没有解决了。。。还有其他类似的帖子…
如果没有任何区别,请不要回答此问题,此处的更改与此无关。
真诚地,
Andi我发现在使用带有datagrid的表单时(在Windows窗体应用程序中的Windows桌面VS 2013 Express的Server 2012操作系统下的另一台计算机上),情况也是如此。
我添加了一个按钮,按钮的单击事件调用更新方法:
this.customersTableAdapter.Update(this.database1DataSet);
MessageBox.Show("Save was done.");
我添加MessageBox只是为了看到s.th。发生了,因为我不再信任此IDE。
datagrid中所做的更改反映在表单中。没有来自VS或Windows的投诉。我再次运行:数据未保存到数据库。
这只不过是一辆马车,不值得所有人的关注。
也许这一切都是出于设计。
太久了,
Andi我发现在使用带有datagrid的表单时(在Windows窗体应用程序中的Windows桌面VS 2013 Express的Server 2012操作系统下的另一台计算机上),情况也是如此。
我添加了一个按钮,按钮的单击事件调用更新方法:
this.customersTableAdapter.Update(this.database1DataSet);
MessageBox.Show("Save was done.");
我添加MessageBox只是为了看到s.th。发生了,因为我不再信任此IDE。
datagrid中所做的更改反映在表单中。没有来自VS或Windows的投诉。我再次运行:数据未保存到数据库。
这只不过是一辆马车,不值得所有人的关注。
也许这一切都是出于设计。
太久了,
Andi您在表中创建了主键吗?在数据库中它是自动递增的,所以没有。这有关系吗?你们在表中创建了主键吗?在数据库中它是自动递增的,所以我并没有。这有关系吗?为什么?更新应该更新SQL数据库,不是吗?更新是静默的,什么也没有发生。对不起。我不小心把答复投了赞成票,没法撤销。更新将所有数据传输回数据集中标记为已修改的数据库。AcceptChanges将所有数据标记为未修改。AcceptChanges()之后,没有标记更多的数据,因此没有更新任何内容。为什么?更新应该更新SQL数据库,不是吗?更新是静默的,什么也没有发生。对不起。我不小心把答复投了赞成票,没法撤销。更新将所有数据传输回数据集中标记为已修改的数据库。AcceptChanges将所有数据标记为未修改。AcceptChanges()之后,没有标记更多的数据,因此不会更新任何内容