.net将文本框绑定到数据集。通过调用dataAdapter.update()不更新Sql值

时间:2013-06-27 09:39:11

标签: c# .net vb.net winforms binding

我确信这是微不足道的。但我无法理解为什么我的数据库没有得到更新,当我在其他地方有类似的设置似乎工作正常。

我有一个名为DSEditObject的类型化数据集,在我的表单上有一个名为DsEditObject1的实例。该数据集中有一个名为“对象”的表。

我有一个文本框,其数据绑定文本属性是: ObjectBindingSource - objectName

这个'ObjectBindingSource'的数据源属性为:DsEditObject1,datamember属性为'Object'。

当我加载表单时,我使用在运行时配置的dataadapter填充数据集。 textbox.text属性设置为我期望的数据库中的列数据。

我从保存按钮处理了点击并致电

SqlDataAdapter1.Update(DsEditObject1, "Object")

我已经使用了命令窗口,并在调用update命令之前检查了数据集中的值是否已更改为文本框输入:

UPDATE [Object] SET [objectName] = @objectName WHERE(([objectID] = @Original_objectID))

但由于某种原因,我的数据库没有得到更新,我没有收到任何错误

编辑:

我忘记打电话给.endcurrentEdit()

BindingContext(DsEditObject1, "Object").EndCurrentEdit()

2 个答案:

答案 0 :(得分:1)

我忘记打电话给.endcurrentEdit()

BindingContext(DsEditObject1, "Object").EndCurrentEdit()

答案 1 :(得分:0)

可悲的是,你的BindingContext阻止了这些变化。通常,SqlDataAdapter.Update会立即将更新发送到数据库,但看起来您的BindingContext会为您保留所有更新,以便您可以在需要时取消它。

我会从上下文中获取您的DataSet,以便它立即更新。