关于 "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;
希望对您有所帮助
我正在使用 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;
希望对您有所帮助