Delphi 如何防止TADORecordset滚动?

Delphi 如何防止TADORecordset滚动?,delphi,ado,recordset,Delphi,Ado,Recordset,我想根据某些条件防止ADORecordset的滚动 例如,这样做比较方便: procedure TfrmMain.qryCenyBeforeScroll(DataSet: TDataSet); begin if not (condition) then qryCeny.DoNotScroll; //Just the idea end; 如何执行此操作?您可以引发异常,例如: if not (condition) then Abort; 你为什么要这么做?您是否试图阻止用户滚

我想根据某些条件防止ADORecordset的滚动

例如,这样做比较方便:

procedure TfrmMain.qryCenyBeforeScroll(DataSet: TDataSet);
begin
  if not (condition) then
    qryCeny.DoNotScroll;  //Just the idea
end;

如何执行此操作?

您可以引发异常,例如:

if not (condition) then
  Abort;

你为什么要这么做?您是否试图阻止用户滚动?我有主-详细关系,但详细记录集处于LTBatchOptimization模式。如果主记录集将更改其位置,则详细记录集更改可能会丢失。如果希望在滚动主记录集之前显示确认窗口,您可以使用内存中的主记录和详细信息表,这样您就可以更好地控制何时应用或放弃任何修改是的,但是将数据发回数据库会怎么样?我将不得不使用另一个组件来进行插入。