【发布时间】:2015-10-24 12:46:45
【问题描述】:
我有一个绑定到 FDConnection 的 FDQuery。
我正在使用 DB Data-Aware 组件在我的表单上显示数据。
每当我使用 FPQuery.Next、.Prior、...时,它都会在结果之间浏览。
一切正常。
除非我更改了一个值(例如 John -> Jane)然后使用 FPQuery.Next 来获取下一个结果,它保存将更改的值提交到数据库,即使我没有 FDQuery1.CommitUpdates。
有没有办法只在用户按下 nbPost-Button 或使用 FDQuery1.CommitUpdates 时保存更改的 DataFields 而不是在浏览结果时保存?
谢谢!
【问题讨论】:
-
默认情况下,Delphi TDataSets 在将数据集光标移动到另一行之前发布对当前行的任何更改,如 .Next 或 .Prior。标准的 TDBNavigator Post 按钮仅调用 DataSet.Post 并且本身不会将更改提交到后端数据库。您是否希望在数据集滚动之前推迟提交更改或取消更改?换句话说,当用户滚动离开具有未保存/未提交更改的行时,您希望您的应用如何响应?
-
谢谢马丁娜。当用户滚动到下一个/上一个数据时,我想丢弃未保存/未提交的更改。我只想在用户按下绿色勾号时保存它们。