数据适配器不会更新所有更新的行

时间:2015-04-09 23:29:08

标签: vb.net

这么长的故事我有一个从mysql数据库获取数据的dgv,我可以对网格中的数据进行更改并保存回表,除此之外没问题:用户对dgv所做的更改是不是直接(或手动)在dgv上完成,而是用户点击加号或减号按钮,我务实地增加或减少名为Quantity的某个字段中的数字,这实际上是唯一可以更新的字段。

现在当我更新我的adapte命令(... da.Update(ds,“salesDet”))时,我最后更改的行不会更新,除非我在按下更新按钮之前手动将该行留到另一行。因此,例如,如果我在dgv中有3行,并且我选择数量为1的第2行,那么我按加号按钮,数量变为2.然后如果我在第2行时立即按下我的更新按钮,它不会更新到我的数据库。只有在按下更新按钮之前我才会将第2行留给第1行或第3行。有点像因为我正在以编程方式而不是手动更改数字,我需要将编辑后的行保留为“更新后” “新价值观的承诺是什么?不知道我是否有意义,但我真的迷失了

我在更新之前尝试了dgv.EndEdit(),dgv.RefreshEdit(),dgv.Refresh(),但没有一个可行。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

听起来当前行尚未经过验证,因此您的更改尚未生效。一个笨拙的hacky方法来解决这个问题可能是在Update方法开始时将dgv.CurrentRow设置为空,以强制进行验证。