【发布时间】:2023-04-02 12:55:02
【问题描述】:
这应该很简单,但不起作用。我是一个简单的表单,其中包含由数据库通过表适配器和绑定源填充的控件。 Form_Load 事件的代码在这里:
Me.DS_Phantom_Location_taLocation1.Fill(Me.DS_Phantom_Location1.dtLocation, CType(resultnum, Integer))
bsLocation.DataSource = Me.DS_Phantom_Location1.dtLocation
这部分工作正常,控件使用数据库中的数据进行更新。
当用户单击“确定”按钮时,应该更新数据库,但没有发生。
代码在这里:
Me.bsLocation.EndEdit()
Me.DS_Phantom_Location_taLocation1.Update(DS_Phantom_Location1.dtLocation)
通过查看底层数据行,我知道绑定源没有被更新 - 这也在 btnok_click 事件中:
Dim drv As DataRowView = TryCast(Me.bsLocation.Current, DataRowView)
Dim dr As DataRow = drv.Row
s = dr("INSTITUTION_DOSE").ToString
s 仍然是数据库中的旧值。
bsLocation 似乎永远不会更新。我确保控件具有 Causevalidation = true 并且控件是数据绑定的(请记住它被填充得很好)。
此时我不确定除了放弃 bindingsource 想法并使用表适配器直接更新之外还能做什么。我知道这很有效,但并不理想,尤其是对于具有 50 个左右控件的大型表单。 (我的项目有)。任何帮助/想法都会很棒。类型
【问题讨论】:
标签: .net vb.net oracle winforms dataset