2008-11-18 62 views
2

我无法将DataGridView中的新行保存回数据库。简而言之,DataGridView/DataSet更新

1)我使用SqlDataAdapter填充DataSet中的DataTable。

2)DataTable是网格视图的数据源。 3)如果用户单击DataGridView底部的空白“新行”,我捕获RowEnter事件中新的空行,并用数据填充它。数据出现在DataGridView中。

4)当我调用SqlDataAdapter上的Update时,新数据消失并且不保存到数据库。

在步骤之间3 & 4我尝试了DataGrid.EndEdit,DataSet.AcceptChanges,BindingContext [...] .EndCurrentEdit和其他一些没有成功的东西。

如何将更改从DataGridView传播回DataSet?

而且,如果我可能被允许发出一个简短的呜呜声,为什么很难找到这样一个明显事物的简单例子?

回答

1

根据this,AcceptChanges可能是问题。

报价:

嘿,

不能更新之前执行的AcceptChanges。 AcceptChanges使RowState返回Unchanged(添加的行应添加RowState值,更新的行应为Modified RowState值)。

UPDATE语句应该调用acceptChanges你

注意,我没有发现这个MSDN的任何地方。

您是否会从需要Google查询自己的文档的公司购买搜索引擎?