关于 "Dataset Not In Insert or Edit Mode..." 错误的奇怪行为

Strange behaviour about "Dataset Not In Insert or Edit Mode..." Error

我正在使用 Delphi 2010 和 TFIBDataset 组件。

我遇到了一个非常奇怪的问题,我有两个 TFIBDataset 组件,分别称为 DS1 和 DS2。

当我尝试 post DS1 中的数据时,如下所示:

DS1.Post;

我收到错误提示 "Dataset Not In Insert or Edit Mode..."。

我遇到了与我正在尝试处理其数据的数据集相关的此类错误 post,但我面临的是这个全新的问题。

即使我尝试在编辑模式下制作 DS2,如下所示:

DS2.Edit;
DS1.Post;

然后我也遇到同样的错误。

有什么线索吗?

我通过编写以下代码使代码正常工作:

DS1.DisableContrils;
DS1.Post;
DS1.EnableContrils;

谨致问候。

维沙尔

我遇到了同样的问题,并已执行以下操作来解决我的问题:

 for I := 0 to  Datamodule1.ComponentCount - 1 do
 if Datamodule1.Components[I] is TADOTable then
  Begin
    if (TADOTable(datamodule1.Components[i]).State in [dsEdit, dsInsert]) then
     TADOTable(datamodule1.Components[i]).POST;
  End;

希望对您有所帮助