TQuery.Unprepare是否在Delphi中关闭查询结果?

Kit*_*sto 3 delphi bde

我想知道是否在Delphi中调用

Query1.Unprepare;
Run Code Online (Sandbox Code Playgroud)

如果以前是活动的,则隐式关闭Query1.这样,例如调用Next就会失败.

你可能会说,只是继续尝试,但我在64位Windows 7系统上做了,并且遇到了各种各样的问题,直到最后我的BDE管理员似乎完全坏了.所以在我开始发现之前,我决定只问这个问题,如何在我的系统上运行BDE ;-)

kob*_*bik 7

您不能在打开的数据集上使用Prepare/ Unprepare.你需要先关闭它.

unit DBTables;
...
procedure TQuery.SetPrepared(Value: Boolean);
begin
  if Handle <> nil then DatabaseError(SDataSetOpen, Self);
  ...
  // SDataSetOpen = 'Cannot perform this operation on an open dataset';
Run Code Online (Sandbox Code Playgroud)